FEAT: Implement deceased/givenaway enclosure visibility rules, preserve external clan name, and hide receiver fields for deceased gerbils
This commit is contained in:
@@ -344,13 +344,28 @@ def main():
|
||||
# Attach Photos
|
||||
for idx, photo_rel in enumerate(a.get("photos", [])):
|
||||
photo_guid = generate_guid(f"photo-{photo_rel}")
|
||||
ext = os.path.splitext(photo_rel)[1] or ".jpeg"
|
||||
fn_guid = photo_guid.replace("-", "")
|
||||
resolved_photos.append({
|
||||
"Id": photo_guid,
|
||||
"GerbilId": a_guid,
|
||||
"FileName": os.path.basename(photo_rel),
|
||||
"SortOrder": idx
|
||||
"FileName": f"{fn_guid}{ext}",
|
||||
"SortOrder": idx,
|
||||
"_source_path": photo_rel
|
||||
})
|
||||
|
||||
# Set IsBreeder and IsReceiver flags on contacts
|
||||
breeder_ids = {g["OriginContactId"] for g in resolved_gerbils if g.get("OriginContactId")}
|
||||
receiver_ids = {g["ReceiverContactId"] for g in resolved_gerbils if g.get("ReceiverContactId")}
|
||||
for c in resolved_contacts:
|
||||
c_id = c["Id"]
|
||||
is_breeder = c_id in breeder_ids
|
||||
is_receiver = c_id in receiver_ids
|
||||
if not is_breeder and not is_receiver:
|
||||
is_receiver = True
|
||||
c["IsBreeder"] = is_breeder
|
||||
c["IsReceiver"] = is_receiver
|
||||
|
||||
# Save resolved data
|
||||
resolved_data = {
|
||||
"Contacts": resolved_contacts,
|
||||
|
||||
Reference in New Issue
Block a user