diff --git a/church/church_people/doctype/church_person/church_person.py b/church/church_people/doctype/church_person/church_person.py index b5f4b0a..e54cbc1 100644 --- a/church/church_people/doctype/church_person/church_person.py +++ b/church/church_people/doctype/church_person/church_person.py @@ -106,6 +106,22 @@ class ChurchPerson(Document): @frappe.whitelist() def new_family_from_person(self): + # Check if a family with this person's name already exists + existing_family = frappe.db.exists( + "Church Family", {"family_name": f"{self.last_name} - {self.first_name}"} + ) + + if existing_family: + # Set this person's family to the existing one + self.family = existing_family + self.is_head_of_household = False # Not head of household in an existing family + self.save() + frappe.msgprint( + f"⚠️ The {self.last_name} - {self.first_name} family already exists. This person has been added to that family." + ) + + return # Don't create a new family + doc = frappe.new_doc("Church Family") doc.family_name = f"{self.last_name} - {self.first_name}" doc.save() diff --git a/church/church_people/print_format/__init__.py b/church/church_people/print_format/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/church/church_people/print_format/church_directory/church_directory.json b/church/church_people/print_format/church_directory/church_directory.json index d3945b7..e54983f 100644 --- a/church/church_people/print_format/church_directory/church_directory.json +++ b/church/church_people/print_format/church_directory/church_directory.json @@ -10,14 +10,14 @@ "docstatus": 0, "doctype": "Print Format", "font_size": 14, - "html": "\n\n
\n

Church Directory

\n
\n\n\n \n \n\n \n \n
\n {% if doc.photo %}\n \n {% else %}\n \n {% endif %}\n \n\n
\n {{ doc.full_name or (doc.first_name + \" \" + doc.last_name) }}\n
\n\n \n {% if doc.church_roles %}\n {% for role in doc.church_roles %}\n
\n Role\n {{ role.role }}\n
\n {% endfor %}\n {% endif %}\n\n {% if doc.primary_phone %}\n
\n Phone\n {{ doc.primary_phone }}\n
\n {% endif %}\n\n {% if doc.email %}\n
\n Email\n {{ doc.email }}\n
\n {% endif %}\n\n {% if doc.home_address %}\n
\n Address\n {{ doc.home_address }}\n
\n {% endif %}\n\n {% if doc.birthday %}\n
\n Birthday\n \n {{ frappe.utils.formatdate(doc.birthday, \"MMMM d\") }}\n \n
\n {% endif %}\n\n {% if doc.anniversary %}\n
\n Anniversary\n \n {{ frappe.utils.formatdate(doc.anniversary, \"MMMM d, yyyy\") }}\n \n
\n {% endif %}\n\n {% if doc.membership_date %}\n
\n Member Since\n \n {{ frappe.utils.formatdate(doc.membership_date, \"MMMM d, yyyy\") }}\n \n
\n {% endif %}\n\n \n {% if doc.family %}\n {% for fam in doc.family %}\n
\n Family\n {{ fam.family_member_name }}{% if fam.relationship %} ({{ fam.relationship }}){% endif %}\n
\n {% endfor %}\n {% endif %}\n\n
\n\n
\n {{ frappe.utils.formatdate(frappe.utils.nowdate(), \"MMMM yyyy\") }}\n
\n", + "html": "\n\n
\n

Church Directory

\n
\n\n\n \n \n\n \n \n
\n {% if doc.photo %}\n \n {% else %}\n \n {% endif %}\n \n\n
\n {{ doc.full_name or (doc.first_name + \" \" + doc.last_name) }}\n
\n\n \n {% if doc.church_roles %}\n {% for role in doc.church_roles %}\n
\n Role\n {{ role.role }}\n
\n {% endfor %}\n {% endif %}\n\n {% if doc.primary_phone %}\n
\n Phone\n {{ doc.primary_phone }}\n
\n {% endif %}\n\n {% if doc.email %}\n
\n Email\n {{ doc.email }}\n
\n {% endif %}\n\n {% if doc.home_address %}\n
\n Address\n {{ doc.home_address }}\n
\n {% endif %}\n\n {% if doc.birthday %}\n
\n Birthday\n \n {{ frappe.utils.formatdate(doc.birthday, \"MMMM d\") }}\n \n
\n {% endif %}\n\n {% if doc.anniversary %}\n
\n Anniversary\n \n {{ frappe.utils.formatdate(doc.anniversary, \"MMMM d, yyyy\") }}\n \n
\n {% endif %}\n\n {% if doc.membership_date %}\n
\n Member Since\n \n {{ frappe.utils.formatdate(doc.membership_date, \"MMMM d, yyyy\") }}\n \n
\n {% endif %}\n
\n\n
\n {{ frappe.utils.formatdate(frappe.utils.nowdate(), \"MMMM yyyy\") }}\n
\n", "idx": 0, "line_breaks": 0, "margin_bottom": 15.0, "margin_left": 15.0, "margin_right": 15.0, "margin_top": 15.0, - "modified": "2026-02-13 00:16:34.957246", + "modified": "2026-02-13 01:00:58.501895", "modified_by": "Administrator", "module": "Church People", "name": "Church Directory",