From 1bc8886b0ee27ed37b0bbe337cf1996336fcf2b9 Mon Sep 17 00:00:00 2001 From: meichthys Date: Sun, 21 Dec 2025 04:32:55 +0000 Subject: [PATCH] Resolves #92 --- .../doctype/church_family/church_family.json | 5 ++--- .../doctype/church_family/church_family.py | 14 ++++++++++++++ .../church_family_members.json | 4 ++-- 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/church/church_people/doctype/church_family/church_family.json b/church/church_people/doctype/church_family/church_family.json index 958c9dc..450ac5b 100644 --- a/church/church_people/doctype/church_family/church_family.json +++ b/church/church_people/doctype/church_family/church_family.json @@ -61,8 +61,7 @@ "fieldname": "members", "fieldtype": "Table", "label": "Family Members", - "options": "Church Family Members", - "read_only": 1 + "options": "Church Family Members" } ], "grid_page_length": 50, @@ -78,7 +77,7 @@ "link_fieldname": "recipient" } ], - "modified": "2025-12-20 01:46:01.200249", + "modified": "2025-12-20 23:03:58.407158", "modified_by": "Administrator", "module": "Church People", "name": "Church Family", diff --git a/church/church_people/doctype/church_family/church_family.py b/church/church_people/doctype/church_family/church_family.py index 2461946..f608e12 100644 --- a/church/church_people/doctype/church_family/church_family.py +++ b/church/church_people/doctype/church_family/church_family.py @@ -21,3 +21,17 @@ class ChurchFamily(Document): return doc_dict[0]["doctype"] = "Church Person" return frappe.get_doc(doc_dict[0]).name + + def before_save(self): + # Remove family from Church Person records when Person is removed from ChurchFamily + if self.get_doc_before_save().members: + for member in self.get_doc_before_save().members: + if member not in self.members: + frappe.db.set_value("Church Person", member.member, "family", None, update_modified=False) + # Update Church Person records when ChurchFamily is updated + if self.members: + for member in self.members: + if member.member: + frappe.db.set_value( + "Church Person", member.member, "family", self.name, update_modified=False + ) diff --git a/church/church_people/doctype/church_family_members/church_family_members.json b/church/church_people/doctype/church_family_members/church_family_members.json index 40d3c4a..9211f5a 100644 --- a/church/church_people/doctype/church_family_members/church_family_members.json +++ b/church/church_people/doctype/church_family_members/church_family_members.json @@ -5,6 +5,7 @@ "description": "People who are part of a `Church Family`", "doctype": "DocType", "documentation": "/app/manual%3A-people#family", + "editable_grid": 1, "engine": "InnoDB", "field_order": [ "member" @@ -17,7 +18,6 @@ "in_preview": 1, "label": "Family Member", "options": "Church Person", - "read_only": 1, "reqd": 1 } ], @@ -25,7 +25,7 @@ "index_web_pages_for_search": 1, "istable": 1, "links": [], - "modified": "2025-12-20 01:48:38.401634", + "modified": "2025-12-20 23:04:31.049341", "modified_by": "Administrator", "module": "Church People", "name": "Church Family Members",