Fix: Allow searching for unbound permits by name
This commit is contained in:
parent
73cd32b50d
commit
199a97cceb
|
|
@ -327,7 +327,7 @@ def search_v2(
|
|||
"id": "",
|
||||
"display_name": "",
|
||||
"region": {"id": ctx["region_id"], "name": ctx["region_name"]},
|
||||
"theme": {"id": "", "name": ""},
|
||||
"theme": {"id": ctx.get("theme_id", ""), "name": ctx.get("theme_name", "")},
|
||||
"permits": permits,
|
||||
}
|
||||
)
|
||||
|
|
|
|||
|
|
@ -3657,7 +3657,7 @@ def load_permits_and_risks(
|
|||
params.append(permit_id)
|
||||
|
||||
sql += """
|
||||
ORDER BY p.name, rk.risk_content
|
||||
ORDER BY p.name, LENGTH(rpr.serial_number), rpr.serial_number, rk.risk_content
|
||||
"""
|
||||
permits: Dict[str, Dict[str, object]] = {}
|
||||
risk_seen_map: Dict[str, Set[str]] = {} # pid -> set of risk_ids
|
||||
|
|
@ -4122,18 +4122,19 @@ def find_permit_contexts_by_name(permit_name: str) -> List[Dict[str, str]]:
|
|||
|
||||
sql = """
|
||||
SELECT
|
||||
rtp.region_id,
|
||||
rpd.region_id,
|
||||
r.name AS region_name,
|
||||
rtp.theme_id,
|
||||
t.name AS theme_name,
|
||||
p.id AS permit_id,
|
||||
p.name AS permit_name
|
||||
FROM region_theme_permits rtp
|
||||
JOIN permits p ON p.id = rtp.permit_id
|
||||
JOIN regions r ON r.id = rtp.region_id
|
||||
JOIN themes t ON t.id = rtp.theme_id
|
||||
FROM region_permit_details rpd
|
||||
JOIN permits p ON p.id = rpd.permit_id
|
||||
JOIN regions r ON r.id = rpd.region_id
|
||||
LEFT JOIN region_theme_permits rtp ON rtp.region_id = rpd.region_id AND rtp.permit_id = rpd.permit_id
|
||||
LEFT JOIN themes t ON t.id = rtp.theme_id
|
||||
WHERE p.name = %s
|
||||
ORDER BY r.name, t.name
|
||||
ORDER BY r.name, t.name NULLS LAST
|
||||
"""
|
||||
ordered: OrderedDict[Tuple[str, str], Dict[str, str]] = OrderedDict()
|
||||
with _lic_pg_conn() as conn:
|
||||
|
|
@ -4143,14 +4144,16 @@ def find_permit_contexts_by_name(permit_name: str) -> List[Dict[str, str]]:
|
|||
region_id, region_name, theme_id, theme_name, permit_id, canonical_name = row
|
||||
rid = str(region_id)
|
||||
pid = str(permit_id)
|
||||
tid = str(theme_id) if theme_id else ""
|
||||
tname = str(theme_name) if theme_name else ""
|
||||
key = (rid, pid)
|
||||
if key in ordered:
|
||||
continue
|
||||
ordered[key] = {
|
||||
"region_id": rid,
|
||||
"region_name": str(region_name),
|
||||
"theme_id": str(theme_id),
|
||||
"theme_name": str(theme_name),
|
||||
"theme_id": tid,
|
||||
"theme_name": tname,
|
||||
"permit_id": pid,
|
||||
"permit_name": str(canonical_name),
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue