From c09dafac7c9aee93fa9f50bdc15a840062875834 Mon Sep 17 00:00:00 2001 From: meichthys Date: Sat, 11 Oct 2025 02:14:24 +0000 Subject: [PATCH 01/10] Fix collection Date --- .../doctype/church_collection/church_collection.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/church/church_finances/doctype/church_collection/church_collection.py b/church/church_finances/doctype/church_collection/church_collection.py index 234dec9..35891dd 100644 --- a/church/church_finances/doctype/church_collection/church_collection.py +++ b/church/church_finances/doctype/church_collection/church_collection.py @@ -40,7 +40,7 @@ class ChurchCollection(Document): "amount": fund_total, "source_type": "Church Collection", "source": self.name, - "date": frappe.utils.nowdate(), + "date": frappe.utils.now(), }, ) fund_doc.balance = (fund_doc.balance or 0) + fund_total From cacca1e7f8b7dd6fcfd830c46b21765063bfd4ff Mon Sep 17 00:00:00 2001 From: meichthys Date: Sat, 11 Oct 2025 02:28:28 +0000 Subject: [PATCH 02/10] add church expenses report --- .../report/church_expenses/__init__.py | 0 .../church_expenses/church_expenses.json | 29 +++++++++++++ .../workspace/finances/finances.json | 41 ++++++++++--------- 3 files changed, 50 insertions(+), 20 deletions(-) create mode 100644 church/church_finances/report/church_expenses/__init__.py create mode 100644 church/church_finances/report/church_expenses/church_expenses.json diff --git a/church/church_finances/report/church_expenses/__init__.py b/church/church_finances/report/church_expenses/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/church/church_finances/report/church_expenses/church_expenses.json b/church/church_finances/report/church_expenses/church_expenses.json new file mode 100644 index 0000000..949ac01 --- /dev/null +++ b/church/church_finances/report/church_expenses/church_expenses.json @@ -0,0 +1,29 @@ +{ + "add_total_row": 0, + "add_translate_data": 0, + "columns": [], + "creation": "2025-10-10 22:24:01.259125", + "disabled": 0, + "docstatus": 0, + "doctype": "Report", + "filters": [], + "idx": 0, + "is_standard": "Yes", + "json": "{\"filters\":[],\"fields\":[[\"name\",\"Church Expense\"],[\"docstatus\",\"Church Expense\"],[\"type\",\"Church Expense\"],[\"notes\",\"Church Expense\"],[\"date\",\"Church Expense\"],[\"amount\",\"Church Expense\"]],\"order_by\":\"`tabChurch Expense`.`modified` desc\",\"add_totals_row\":0,\"page_length\":20,\"column_widths\":{\"name\":238,\"docstatus\":120,\"type\":120,\"notes\":120,\"date\":120,\"amount\":120},\"group_by\":null,\"chart_args\":{\"chart_type\":\"pie\",\"x_axis\":\"type\",\"y_axes\":[\"amount\"]}}", + "letterhead": null, + "modified": "2025-10-10 22:26:37.688841", + "modified_by": "Administrator", + "module": "Church Finances", + "name": "Church Expenses", + "owner": "Administrator", + "prepared_report": 0, + "ref_doctype": "Church Expense", + "report_name": "Church Expenses", + "report_type": "Report Builder", + "roles": [ + { + "role": "System Manager" + } + ], + "timeout": 0 +} \ No newline at end of file diff --git a/church/church_finances/workspace/finances/finances.json b/church/church_finances/workspace/finances/finances.json index 89be337..8d96a20 100644 --- a/church/church_finances/workspace/finances/finances.json +++ b/church/church_finances/workspace/finances/finances.json @@ -150,25 +150,6 @@ "onboard": 0, "type": "Link" }, - { - "hidden": 0, - "is_query_report": 0, - "label": "Expense Reports", - "link_count": 1, - "link_type": "DocType", - "onboard": 0, - "type": "Card Break" - }, - { - "hidden": 0, - "is_query_report": 0, - "label": "Expenses", - "link_count": 0, - "link_to": "Church Expense", - "link_type": "DocType", - "onboard": 0, - "type": "Link" - }, { "hidden": 0, "is_query_report": 0, @@ -187,9 +168,29 @@ "link_type": "Report", "onboard": 0, "type": "Link" + }, + { + "hidden": 0, + "is_query_report": 0, + "label": "Expense Reports", + "link_count": 1, + "link_type": "DocType", + "onboard": 0, + "type": "Card Break" + }, + { + "hidden": 0, + "is_query_report": 0, + "label": "Expenses", + "link_count": 0, + "link_to": "Church Expenses", + "link_type": "Report", + "onboard": 0, + "report_ref_doctype": "Church Expense", + "type": "Link" } ], - "modified": "2025-10-10 00:19:21.846035", + "modified": "2025-10-10 22:24:23.072221", "modified_by": "Administrator", "module": "Church Finances", "name": "Finances", From 412ff8ef9edbcc5ff1db214c3c0e61728a078077 Mon Sep 17 00:00:00 2001 From: meichthys Date: Sat, 11 Oct 2025 02:28:46 +0000 Subject: [PATCH 03/10] add expense type fields to list view --- .../church_expense_type/church_expense_type.json | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/church/church_finances/doctype/church_expense_type/church_expense_type.json b/church/church_finances/doctype/church_expense_type/church_expense_type.json index ac6c0c3..1bd1e85 100644 --- a/church/church_finances/doctype/church_expense_type/church_expense_type.json +++ b/church/church_finances/doctype/church_expense_type/church_expense_type.json @@ -58,13 +58,19 @@ "fieldname": "parent_church_expense_type", "fieldtype": "Link", "ignore_user_permissions": 1, + "in_filter": 1, + "in_list_view": 1, + "in_preview": 1, + "in_standard_filter": 1, "label": "Parent Expense Type", "options": "Church Expense Type" }, { "fieldname": "type", "fieldtype": "Data", - "in_list_view": 1, + "in_filter": 1, + "in_preview": 1, + "in_standard_filter": 1, "label": "Type", "reqd": 1 }, @@ -72,6 +78,10 @@ "description": "The fund which this type of expense will reduce", "fieldname": "fund", "fieldtype": "Link", + "in_filter": 1, + "in_list_view": 1, + "in_preview": 1, + "in_standard_filter": 1, "label": "Fund", "options": "Church Fund", "reqd": 1 @@ -95,7 +105,7 @@ "link_fieldname": "type" } ], - "modified": "2025-10-09 02:43:59.959368", + "modified": "2025-10-10 22:21:08.303404", "modified_by": "Administrator", "module": "Church Finances", "name": "Church Expense Type", From 4e675ae23caedb38aa9e39cbc93fdfafb7b5090c Mon Sep 17 00:00:00 2001 From: meichthys Date: Sat, 11 Oct 2025 02:31:06 +0000 Subject: [PATCH 04/10] misc cleanup --- church/fixtures/church_event_type.json | 6 ++ church/fixtures/dashboard_chart.json | 95 ++++++++++++++------------ church/fixtures/onboarding_step.json | 2 +- 3 files changed, 58 insertions(+), 45 deletions(-) diff --git a/church/fixtures/church_event_type.json b/church/fixtures/church_event_type.json index aff684b..14b2624 100644 --- a/church/fixtures/church_event_type.json +++ b/church/fixtures/church_event_type.json @@ -5,6 +5,7 @@ "doctype": "Church Event Type", "modified": "2025-09-01 00:59:38.988367", "name": "Sunday Evening Service", + "template_event": null, "type": "Sunday Evening Service" }, { @@ -13,6 +14,7 @@ "doctype": "Church Event Type", "modified": "2025-09-01 01:00:17.100333", "name": "Prayer Meeting", + "template_event": null, "type": "Prayer Meeting" }, { @@ -21,6 +23,7 @@ "doctype": "Church Event Type", "modified": "2025-09-01 01:00:31.063673", "name": "Baptism", + "template_event": null, "type": "Baptism" }, { @@ -29,6 +32,7 @@ "doctype": "Church Event Type", "modified": "2025-09-01 01:01:46.102984", "name": "Business Meeting", + "template_event": null, "type": "Business Meeting" }, { @@ -37,6 +41,7 @@ "doctype": "Church Event Type", "modified": "2025-09-01 00:59:49.876562", "name": "Sunday Morning Service", + "template_event": null, "type": "Sunday Morning Service" }, { @@ -45,6 +50,7 @@ "doctype": "Church Event Type", "modified": "2025-09-01 01:00:51.578037", "name": "Communion", + "template_event": null, "type": "Communion" } ] \ No newline at end of file diff --git a/church/fixtures/dashboard_chart.json b/church/fixtures/dashboard_chart.json index 77b71c0..2338a55 100644 --- a/church/fixtures/dashboard_chart.json +++ b/church/fixtures/dashboard_chart.json @@ -18,7 +18,7 @@ "heatmap_year": null, "is_public": 0, "is_standard": 1, - "last_synced_on": "2025-10-02 01:15:21.344371", + "last_synced_on": "2025-10-10 21:59:55.215735", "modified": "2025-09-21 22:40:56.438477", "module": "Church People", "name": "Church Persons Count", @@ -57,7 +57,7 @@ "heatmap_year": null, "is_public": 1, "is_standard": 1, - "last_synced_on": "2025-10-02 01:15:21.395905", + "last_synced_on": "2025-10-10 21:59:55.235046", "modified": "2025-09-21 22:40:56.515222", "module": "Church People", "name": "Church Members Count (New by Month)", @@ -96,7 +96,7 @@ "heatmap_year": null, "is_public": 1, "is_standard": 1, - "last_synced_on": "2025-10-02 01:13:19.540401", + "last_synced_on": "2025-10-10 21:06:14.288616", "modified": "2025-09-21 22:40:23.012857", "module": "Church Prayers", "name": "Church Prayer Request Count (Active)", @@ -136,7 +136,7 @@ "is_public": 0, "is_standard": 1, "last_synced_on": null, - "modified": "2025-10-02 01:26:04.007658", + "modified": "2025-10-10 22:16:56.965544", "module": "Church Finances", "name": "Church Fund Balances", "number_of_groups": 0, @@ -163,45 +163,6 @@ } ] }, - { - "aggregate_function_based_on": null, - "based_on": "creation", - "chart_name": "Church Collections Sum", - "chart_type": "Sum", - "color": "#138a25", - "currency": "USD", - "custom_options": null, - "docstatus": 0, - "doctype": "Dashboard Chart", - "document_type": "Church Donation", - "dynamic_filters_json": "[]", - "filters_json": "[]", - "from_date": null, - "group_by_based_on": null, - "group_by_type": "Count", - "heatmap_year": null, - "is_public": 0, - "is_standard": 1, - "last_synced_on": "2025-10-02 01:27:30.015664", - "modified": "2025-09-21 22:40:42.003149", - "module": "Church Finances", - "name": "Church Collections Sum", - "number_of_groups": 0, - "parent_document_type": "Church Collection", - "report_name": null, - "roles": [], - "show_values_over_chart": 1, - "source": "", - "time_interval": "Weekly", - "timeseries": 1, - "timespan": "Last Year", - "to_date": null, - "type": "Bar", - "use_report_chart": 0, - "value_based_on": "amount", - "x_field": null, - "y_axis": [] - }, { "aggregate_function_based_on": null, "based_on": "modified", @@ -221,7 +182,7 @@ "heatmap_year": null, "is_public": 1, "is_standard": 1, - "last_synced_on": "2025-10-02 01:13:19.727118", + "last_synced_on": "2025-10-10 21:06:14.290648", "modified": "2025-09-21 22:40:23.088650", "module": "Church Prayers", "name": "Church Prayer Requests (Answered)", @@ -240,5 +201,51 @@ "value_based_on": "", "x_field": null, "y_axis": [] + }, + { + "aggregate_function_based_on": null, + "based_on": "creation", + "chart_name": "Church Collections Sum", + "chart_type": "Sum", + "color": "#138a25", + "currency": "USD", + "custom_options": null, + "docstatus": 0, + "doctype": "Dashboard Chart", + "document_type": "Church Donation", + "dynamic_filters_json": "[]", + "filters_json": "[]", + "from_date": null, + "group_by_based_on": null, + "group_by_type": "Count", + "heatmap_year": null, + "is_public": 0, + "is_standard": 1, + "last_synced_on": "2025-10-10 22:24:23.171739", + "modified": "2025-10-03 23:00:21.417449", + "module": "Church Finances", + "name": "Church Collections Sum", + "number_of_groups": 0, + "parent_document_type": "Church Collection", + "report_name": null, + "roles": [ + { + "parent": "Church Collections Sum", + "parentfield": "roles", + "parenttype": "Dashboard Chart", + "role": "Church Manager" + } + ], + "show_values_over_chart": 1, + "source": "", + "time_interval": "Weekly", + "timeseries": 1, + "timespan": "Last Year", + "to_date": null, + "type": "Bar", + "use_report_chart": 0, + "value_based_on": "amount", + "x_field": null, + "y_axis": [] } ] \ No newline at end of file diff --git a/church/fixtures/onboarding_step.json b/church/fixtures/onboarding_step.json index 77ed47e..c6a79f1 100644 --- a/church/fixtures/onboarding_step.json +++ b/church/fixtures/onboarding_step.json @@ -39,7 +39,7 @@ "field": null, "form_tour": "Church Person", "intro_video_url": null, - "is_complete": 1, + "is_complete": 0, "is_single": 0, "is_skipped": 0, "modified": "2025-09-30 21:56:12.070093", From f175f70971195cf33d8b19f58688f9d782f80f2a Mon Sep 17 00:00:00 2001 From: meichthys Date: Sat, 11 Oct 2025 02:31:42 +0000 Subject: [PATCH 05/10] update custom docperm --- church/fixtures/custom_docperm.json | 96 ++++++++++++++--------------- 1 file changed, 48 insertions(+), 48 deletions(-) diff --git a/church/fixtures/custom_docperm.json b/church/fixtures/custom_docperm.json index ab1af54..9ec7f8a 100644 --- a/church/fixtures/custom_docperm.json +++ b/church/fixtures/custom_docperm.json @@ -1,4 +1,52 @@ [ + { + "amend": 0, + "cancel": 0, + "create": 0, + "delete": 0, + "docstatus": 0, + "doctype": "Custom DocPerm", + "email": 0, + "export": 0, + "if_owner": 0, + "import": 0, + "modified": "2025-09-19 00:08:46.427725", + "name": "q8iho1g2s6", + "parent": "Church Fund", + "permlevel": 0, + "print": 0, + "read": 0, + "report": 0, + "role": "Church User", + "select": 0, + "share": 0, + "submit": 0, + "write": 0 + }, + { + "amend": 0, + "cancel": 0, + "create": 1, + "delete": 1, + "docstatus": 0, + "doctype": "Custom DocPerm", + "email": 1, + "export": 1, + "if_owner": 0, + "import": 1, + "modified": "2025-09-30 21:47:23.826602", + "name": "kdm4rn17ce", + "parent": "Church Fund", + "permlevel": 0, + "print": 1, + "read": 1, + "report": 1, + "role": "Church Manager", + "select": 1, + "share": 1, + "submit": 0, + "write": 1 + }, { "amend": 0, "cancel": 0, @@ -479,30 +527,6 @@ "submit": 0, "write": 1 }, - { - "amend": 0, - "cancel": 0, - "create": 0, - "delete": 0, - "docstatus": 0, - "doctype": "Custom DocPerm", - "email": 0, - "export": 0, - "if_owner": 0, - "import": 0, - "modified": "2025-09-19 00:08:46.427725", - "name": "q8iho1g2s6", - "parent": "Church Fund", - "permlevel": 0, - "print": 0, - "read": 0, - "report": 0, - "role": "Church User", - "select": 0, - "share": 0, - "submit": 0, - "write": 0 - }, { "amend": 0, "cancel": 0, @@ -887,30 +911,6 @@ "submit": 0, "write": 1 }, - { - "amend": 0, - "cancel": 0, - "create": 1, - "delete": 1, - "docstatus": 0, - "doctype": "Custom DocPerm", - "email": 1, - "export": 1, - "if_owner": 0, - "import": 1, - "modified": "2025-09-30 21:47:23.826602", - "name": "kdm4rn17ce", - "parent": "Church Fund", - "permlevel": 0, - "print": 1, - "read": 1, - "report": 1, - "role": "Church Manager", - "select": 1, - "share": 1, - "submit": 0, - "write": 1 - }, { "amend": 0, "cancel": 0, From 9fa3b3ed3e8874e3212a12ec327c4e5dde17a09c Mon Sep 17 00:00:00 2001 From: meichthys Date: Sat, 11 Oct 2025 02:35:56 +0000 Subject: [PATCH 06/10] remove deacon description --- church/fixtures/church_role_type.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/church/fixtures/church_role_type.json b/church/fixtures/church_role_type.json index 037b475..7cc3d90 100644 --- a/church/fixtures/church_role_type.json +++ b/church/fixtures/church_role_type.json @@ -32,10 +32,10 @@ "role": "Secretary" }, { - "description": "A deacon of the church", + "description": "", "docstatus": 0, "doctype": "Church Role Type", - "modified": "2025-08-26 23:13:58.946830", + "modified": "2025-10-10 22:35:39.135319", "name": "Deacon - 00003", "role": "Deacon" } From b8337a5a35fc999ceab4534a0576ff64fcac6922 Mon Sep 17 00:00:00 2001 From: meichthys Date: Sat, 11 Oct 2025 03:14:36 +0000 Subject: [PATCH 07/10] add Church Presentation and Church Presentation Slide documents --- .../doctype/church_presentation/__init__.py | 0 .../church_presentation.js | 8 +++ .../church_presentation.json | 58 +++++++++++++++++ .../church_presentation.py | 9 +++ .../test_church_presentation.py | 9 +++ .../church_presentation_slide/__init__.py | 0 .../church_presentation_slide.js | 8 +++ .../church_presentation_slide.json | 41 ++++++++++++ .../church_presentation_slide.py | 9 +++ .../test_church_presentation_slide.py | 9 +++ .../communications/communications.json | 64 ++++++++++++++++++- 11 files changed, 212 insertions(+), 3 deletions(-) create mode 100644 church/church_communications/doctype/church_presentation/__init__.py create mode 100644 church/church_communications/doctype/church_presentation/church_presentation.js create mode 100644 church/church_communications/doctype/church_presentation/church_presentation.json create mode 100644 church/church_communications/doctype/church_presentation/church_presentation.py create mode 100644 church/church_communications/doctype/church_presentation/test_church_presentation.py create mode 100644 church/church_communications/doctype/church_presentation_slide/__init__.py create mode 100644 church/church_communications/doctype/church_presentation_slide/church_presentation_slide.js create mode 100644 church/church_communications/doctype/church_presentation_slide/church_presentation_slide.json create mode 100644 church/church_communications/doctype/church_presentation_slide/church_presentation_slide.py create mode 100644 church/church_communications/doctype/church_presentation_slide/test_church_presentation_slide.py diff --git a/church/church_communications/doctype/church_presentation/__init__.py b/church/church_communications/doctype/church_presentation/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/church/church_communications/doctype/church_presentation/church_presentation.js b/church/church_communications/doctype/church_presentation/church_presentation.js new file mode 100644 index 0000000..f1d219b --- /dev/null +++ b/church/church_communications/doctype/church_presentation/church_presentation.js @@ -0,0 +1,8 @@ +// Copyright (c) 2025, meichthys and contributors +// For license information, please see license.txt + +// frappe.ui.form.on("Church Presentation", { +// refresh(frm) { + +// }, +// }); diff --git a/church/church_communications/doctype/church_presentation/church_presentation.json b/church/church_communications/doctype/church_presentation/church_presentation.json new file mode 100644 index 0000000..5811ea9 --- /dev/null +++ b/church/church_communications/doctype/church_presentation/church_presentation.json @@ -0,0 +1,58 @@ +{ + "actions": [], + "allow_rename": 1, + "creation": "2025-10-10 23:07:31.392203", + "description": "A slideshow presentation of `Church Presentation Slide`s", + "doctype": "DocType", + "engine": "InnoDB", + "field_order": [ + "title", + "section_break_hgry", + "slides" + ], + "fields": [ + { + "fieldname": "title", + "fieldtype": "Data", + "label": "Title" + }, + { + "fieldname": "section_break_hgry", + "fieldtype": "Section Break" + }, + { + "fieldname": "slides", + "fieldtype": "Table", + "label": "Slides", + "options": "Church Presentation Slide" + } + ], + "grid_page_length": 50, + "index_web_pages_for_search": 1, + "links": [], + "modified": "2025-10-10 23:08:52.988817", + "modified_by": "Administrator", + "module": "Church Communications", + "name": "Church Presentation", + "owner": "Administrator", + "permissions": [ + { + "create": 1, + "delete": 1, + "email": 1, + "export": 1, + "print": 1, + "read": 1, + "report": 1, + "role": "System Manager", + "share": 1, + "write": 1 + } + ], + "row_format": "Dynamic", + "sort_field": "modified", + "sort_order": "DESC", + "states": [], + "track_changes": 1, + "track_views": 1 +} \ No newline at end of file diff --git a/church/church_communications/doctype/church_presentation/church_presentation.py b/church/church_communications/doctype/church_presentation/church_presentation.py new file mode 100644 index 0000000..e12a267 --- /dev/null +++ b/church/church_communications/doctype/church_presentation/church_presentation.py @@ -0,0 +1,9 @@ +# Copyright (c) 2025, meichthys and contributors +# For license information, please see license.txt + +# import frappe +from frappe.model.document import Document + + +class ChurchPresentation(Document): + pass diff --git a/church/church_communications/doctype/church_presentation/test_church_presentation.py b/church/church_communications/doctype/church_presentation/test_church_presentation.py new file mode 100644 index 0000000..f47827c --- /dev/null +++ b/church/church_communications/doctype/church_presentation/test_church_presentation.py @@ -0,0 +1,9 @@ +# Copyright (c) 2025, meichthys and Contributors +# See license.txt + +# import frappe +from frappe.tests.utils import FrappeTestCase + + +class TestChurchPresentation(FrappeTestCase): + pass diff --git a/church/church_communications/doctype/church_presentation_slide/__init__.py b/church/church_communications/doctype/church_presentation_slide/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/church/church_communications/doctype/church_presentation_slide/church_presentation_slide.js b/church/church_communications/doctype/church_presentation_slide/church_presentation_slide.js new file mode 100644 index 0000000..d79b25e --- /dev/null +++ b/church/church_communications/doctype/church_presentation_slide/church_presentation_slide.js @@ -0,0 +1,8 @@ +// Copyright (c) 2025, meichthys and contributors +// For license information, please see license.txt + +// frappe.ui.form.on("Church Presentation Slide", { +// refresh(frm) { + +// }, +// }); diff --git a/church/church_communications/doctype/church_presentation_slide/church_presentation_slide.json b/church/church_communications/doctype/church_presentation_slide/church_presentation_slide.json new file mode 100644 index 0000000..28c433b --- /dev/null +++ b/church/church_communications/doctype/church_presentation_slide/church_presentation_slide.json @@ -0,0 +1,41 @@ +{ + "actions": [], + "allow_rename": 1, + "creation": "2025-10-10 22:47:37.269992", + "description": "A presentation slide to be displayed in the Church", + "doctype": "DocType", + "engine": "InnoDB", + "field_order": [ + "content", + "background_image" + ], + "fields": [ + { + "fieldname": "content", + "fieldtype": "Text Editor", + "in_list_view": 1, + "in_preview": 1, + "in_standard_filter": 1, + "label": "Content" + }, + { + "fieldname": "background_image", + "fieldtype": "Attach Image", + "label": "Background Image" + } + ], + "grid_page_length": 50, + "index_web_pages_for_search": 1, + "istable": 1, + "links": [], + "modified": "2025-10-10 22:52:46.198898", + "modified_by": "Administrator", + "module": "Church Communications", + "name": "Church Presentation Slide", + "owner": "Administrator", + "permissions": [], + "row_format": "Dynamic", + "sort_field": "modified", + "sort_order": "DESC", + "states": [] +} \ No newline at end of file diff --git a/church/church_communications/doctype/church_presentation_slide/church_presentation_slide.py b/church/church_communications/doctype/church_presentation_slide/church_presentation_slide.py new file mode 100644 index 0000000..f7149e2 --- /dev/null +++ b/church/church_communications/doctype/church_presentation_slide/church_presentation_slide.py @@ -0,0 +1,9 @@ +# Copyright (c) 2025, meichthys and contributors +# For license information, please see license.txt + +# import frappe +from frappe.model.document import Document + + +class ChurchPresentationSlide(Document): + pass diff --git a/church/church_communications/doctype/church_presentation_slide/test_church_presentation_slide.py b/church/church_communications/doctype/church_presentation_slide/test_church_presentation_slide.py new file mode 100644 index 0000000..6c37567 --- /dev/null +++ b/church/church_communications/doctype/church_presentation_slide/test_church_presentation_slide.py @@ -0,0 +1,9 @@ +# Copyright (c) 2025, meichthys and Contributors +# See license.txt + +# import frappe +from frappe.tests.utils import FrappeTestCase + + +class TestChurchPresentationSlide(FrappeTestCase): + pass diff --git a/church/church_communications/workspace/communications/communications.json b/church/church_communications/workspace/communications/communications.json index 1523c77..e6ab5c4 100644 --- a/church/church_communications/workspace/communications/communications.json +++ b/church/church_communications/workspace/communications/communications.json @@ -1,6 +1,6 @@ { "charts": [], - "content": "[{\"id\":\"nnvMTG5Sl5\",\"type\":\"paragraph\",\"data\":{\"text\":\"\\\"Let no unwholesome talk come out of your mouths, but only what is helpful for building up the one in need and bringing grace to those who listen.\\\"/\",\"col\":12}},{\"id\":\"ybuIQ-BIW-\",\"type\":\"card\",\"data\":{\"card_name\":\"Communication Reports\",\"col\":5}}]", + "content": "[{\"id\":\"nnvMTG5Sl5\",\"type\":\"paragraph\",\"data\":{\"text\":\"\\\"Let no unwholesome talk come out of your mouths, but only what is helpful for building up the one in need and bringing grace to those who listen.\\\"/\",\"col\":12}},{\"id\":\"qhOPOjAeDu\",\"type\":\"card\",\"data\":{\"card_name\":\"Presentation Documents\",\"col\":4}},{\"id\":\"ybuIQ-BIW-\",\"type\":\"card\",\"data\":{\"card_name\":\"Letter Reports\",\"col\":4}}]", "creation": "2025-10-03 23:10:33.370229", "custom_blocks": [], "docstatus": 0, @@ -16,7 +16,65 @@ { "hidden": 0, "is_query_report": 0, - "label": "Communication Reports", + "label": "Reports", + "link_count": 3, + "link_type": "DocType", + "onboard": 0, + "type": "Card Break" + }, + { + "hidden": 0, + "is_query_report": 1, + "label": "Missionary Letters", + "link_count": 0, + "link_to": "Church Missionary Letters", + "link_type": "Report", + "onboard": 0, + "type": "Link" + }, + { + "hidden": 0, + "is_query_report": 1, + "label": "Person Letters", + "link_count": 0, + "link_to": "Church Person Letters", + "link_type": "Report", + "onboard": 0, + "type": "Link" + }, + { + "hidden": 0, + "is_query_report": 1, + "label": "Letters Not Yet Shared With Curch", + "link_count": 0, + "link_to": "Church Letters To Be Shared", + "link_type": "Report", + "onboard": 0, + "type": "Link" + }, + { + "hidden": 0, + "is_query_report": 0, + "label": "Presentation Documents", + "link_count": 1, + "link_type": "DocType", + "onboard": 0, + "type": "Card Break" + }, + { + "hidden": 0, + "is_query_report": 0, + "label": "Presentations", + "link_count": 0, + "link_to": "Church Presentation", + "link_type": "DocType", + "onboard": 0, + "type": "Link" + }, + { + "hidden": 0, + "is_query_report": 0, + "label": "Letter Reports", "link_count": 3, "link_type": "DocType", "onboard": 0, @@ -53,7 +111,7 @@ "type": "Link" } ], - "modified": "2025-10-04 01:01:26.799817", + "modified": "2025-10-10 23:12:46.824922", "modified_by": "Administrator", "module": "Church Communications", "name": "Communications", From 34975eb041b1d126f37b014f624c825d47c82955 Mon Sep 17 00:00:00 2001 From: meichthys Date: Sat, 11 Oct 2025 03:14:48 +0000 Subject: [PATCH 08/10] Add basic `Church Song` Document --- .../doctype/church_song/__init__.py | 0 .../doctype/church_song/church_song.js | 8 ++ .../doctype/church_song/church_song.json | 85 +++++++++++++++++++ .../doctype/church_song/church_song.py | 9 ++ .../doctype/church_song/test_church_song.py | 9 ++ .../workspace/ministries/ministries.json | 23 ++++- 6 files changed, 132 insertions(+), 2 deletions(-) create mode 100644 church/church_ministries/doctype/church_song/__init__.py create mode 100644 church/church_ministries/doctype/church_song/church_song.js create mode 100644 church/church_ministries/doctype/church_song/church_song.json create mode 100644 church/church_ministries/doctype/church_song/church_song.py create mode 100644 church/church_ministries/doctype/church_song/test_church_song.py diff --git a/church/church_ministries/doctype/church_song/__init__.py b/church/church_ministries/doctype/church_song/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/church/church_ministries/doctype/church_song/church_song.js b/church/church_ministries/doctype/church_song/church_song.js new file mode 100644 index 0000000..6b12c9f --- /dev/null +++ b/church/church_ministries/doctype/church_song/church_song.js @@ -0,0 +1,8 @@ +// Copyright (c) 2025, meichthys and contributors +// For license information, please see license.txt + +// frappe.ui.form.on("Church Song", { +// refresh(frm) { + +// }, +// }); diff --git a/church/church_ministries/doctype/church_song/church_song.json b/church/church_ministries/doctype/church_song/church_song.json new file mode 100644 index 0000000..18dc11a --- /dev/null +++ b/church/church_ministries/doctype/church_song/church_song.json @@ -0,0 +1,85 @@ +{ + "actions": [], + "allow_rename": 1, + "autoname": "format:{title} - {####}", + "creation": "2025-10-10 22:36:42.168218", + "description": "A song sung by the Church as part of worship or a `Church Event`", + "doctype": "DocType", + "engine": "InnoDB", + "field_order": [ + "title", + "column_break_odyq", + "ccli", + "section_break_btjs", + "slides" + ], + "fields": [ + { + "fieldname": "title", + "fieldtype": "Data", + "in_filter": 1, + "in_list_view": 1, + "in_preview": 1, + "in_standard_filter": 1, + "label": "Title", + "reqd": 1 + }, + { + "fieldname": "ccli", + "fieldtype": "Data", + "in_filter": 1, + "in_list_view": 1, + "in_preview": 1, + "in_standard_filter": 1, + "label": "CCLI #" + }, + { + "fieldname": "column_break_odyq", + "fieldtype": "Column Break" + }, + { + "fieldname": "section_break_btjs", + "fieldtype": "Section Break" + }, + { + "fieldname": "slides", + "fieldtype": "Table", + "label": "Slides", + "options": "Church Presentation Slide" + } + ], + "grid_page_length": 50, + "index_web_pages_for_search": 1, + "links": [ + { + "link_doctype": "Church Event", + "link_fieldname": "item" + } + ], + "modified": "2025-10-10 23:01:57.771243", + "modified_by": "Administrator", + "module": "Church Ministries", + "name": "Church Song", + "naming_rule": "Expression", + "owner": "Administrator", + "permissions": [ + { + "create": 1, + "delete": 1, + "email": 1, + "export": 1, + "print": 1, + "read": 1, + "report": 1, + "role": "System Manager", + "share": 1, + "write": 1 + } + ], + "row_format": "Dynamic", + "sort_field": "modified", + "sort_order": "DESC", + "states": [], + "track_changes": 1, + "track_views": 1 +} \ No newline at end of file diff --git a/church/church_ministries/doctype/church_song/church_song.py b/church/church_ministries/doctype/church_song/church_song.py new file mode 100644 index 0000000..58bcdf6 --- /dev/null +++ b/church/church_ministries/doctype/church_song/church_song.py @@ -0,0 +1,9 @@ +# Copyright (c) 2025, meichthys and contributors +# For license information, please see license.txt + +# import frappe +from frappe.model.document import Document + + +class ChurchSong(Document): + pass diff --git a/church/church_ministries/doctype/church_song/test_church_song.py b/church/church_ministries/doctype/church_song/test_church_song.py new file mode 100644 index 0000000..4dcb946 --- /dev/null +++ b/church/church_ministries/doctype/church_song/test_church_song.py @@ -0,0 +1,9 @@ +# Copyright (c) 2025, meichthys and Contributors +# See license.txt + +# import frappe +from frappe.tests.utils import FrappeTestCase + + +class TestChurchSong(FrappeTestCase): + pass diff --git a/church/church_ministries/workspace/ministries/ministries.json b/church/church_ministries/workspace/ministries/ministries.json index 201272b..b274313 100644 --- a/church/church_ministries/workspace/ministries/ministries.json +++ b/church/church_ministries/workspace/ministries/ministries.json @@ -1,6 +1,6 @@ { "charts": [], - "content": "[{\"id\":\"Kwawi9Etd-\",\"type\":\"paragraph\",\"data\":{\"text\":\"\\\"So whether you eat or drink or whatever you do, do it all to the glory of God.\\\"\",\"col\":12}},{\"id\":\"TDh-inBJuc\",\"type\":\"card\",\"data\":{\"card_name\":\"Event Documents\",\"col\":6}},{\"id\":\"Rbw38py5Jn\",\"type\":\"card\",\"data\":{\"card_name\":\"Event Reports\",\"col\":6}}]", + "content": "[{\"id\":\"Kwawi9Etd-\",\"type\":\"paragraph\",\"data\":{\"text\":\"\\\"So whether you eat or drink or whatever you do, do it all to the glory of God.\\\"\",\"col\":12}},{\"id\":\"TDh-inBJuc\",\"type\":\"card\",\"data\":{\"card_name\":\"Event Documents\",\"col\":3}},{\"id\":\"Sr-qVFGTSJ\",\"type\":\"card\",\"data\":{\"card_name\":\"Song Documents\",\"col\":8}},{\"id\":\"Rbw38py5Jn\",\"type\":\"card\",\"data\":{\"card_name\":\"Event Reports\",\"col\":3}}]", "creation": "2025-09-14 22:36:40.737780", "custom_blocks": [], "docstatus": 0, @@ -91,9 +91,28 @@ "link_type": "Report", "onboard": 0, "type": "Link" + }, + { + "hidden": 0, + "is_query_report": 0, + "label": "Song Documents", + "link_count": 1, + "link_type": "DocType", + "onboard": 0, + "type": "Card Break" + }, + { + "hidden": 0, + "is_query_report": 0, + "label": "Songs", + "link_count": 0, + "link_to": "Church Song", + "link_type": "DocType", + "onboard": 0, + "type": "Link" } ], - "modified": "2025-10-03 23:11:34.945302", + "modified": "2025-10-10 23:03:25.100584", "modified_by": "Administrator", "module": "Church Ministries", "name": "Ministries", From baf101d5cc07b00d0b757647fe5e2092a94d28f0 Mon Sep 17 00:00:00 2001 From: meichthys Date: Sat, 11 Oct 2025 03:38:14 +0000 Subject: [PATCH 09/10] make dashboard charts non-standard and export as fixtures --- church/fixtures/dashboard_chart.json | 34 ++++++++++++++-------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/church/fixtures/dashboard_chart.json b/church/fixtures/dashboard_chart.json index 2338a55..96db9ea 100644 --- a/church/fixtures/dashboard_chart.json +++ b/church/fixtures/dashboard_chart.json @@ -17,9 +17,9 @@ "group_by_type": "Count", "heatmap_year": null, "is_public": 0, - "is_standard": 1, - "last_synced_on": "2025-10-10 21:59:55.215735", - "modified": "2025-09-21 22:40:56.438477", + "is_standard": 0, + "last_synced_on": "2025-10-10 23:32:52.886742", + "modified": "2025-10-10 23:37:28.780115", "module": "Church People", "name": "Church Persons Count", "number_of_groups": 0, @@ -56,9 +56,9 @@ "group_by_type": "Count", "heatmap_year": null, "is_public": 1, - "is_standard": 1, - "last_synced_on": "2025-10-10 21:59:55.235046", - "modified": "2025-09-21 22:40:56.515222", + "is_standard": 0, + "last_synced_on": "2025-10-10 23:32:52.891706", + "modified": "2025-10-10 23:37:22.231188", "module": "Church People", "name": "Church Members Count (New by Month)", "number_of_groups": 0, @@ -95,9 +95,9 @@ "group_by_type": "Count", "heatmap_year": null, "is_public": 1, - "is_standard": 1, - "last_synced_on": "2025-10-10 21:06:14.288616", - "modified": "2025-09-21 22:40:23.012857", + "is_standard": 0, + "last_synced_on": "2025-10-10 23:13:16.383988", + "modified": "2025-10-10 23:37:40.094794", "module": "Church Prayers", "name": "Church Prayer Request Count (Active)", "number_of_groups": 0, @@ -134,9 +134,9 @@ "group_by_type": "Count", "heatmap_year": null, "is_public": 0, - "is_standard": 1, + "is_standard": 0, "last_synced_on": null, - "modified": "2025-10-10 22:16:56.965544", + "modified": "2025-10-10 23:37:15.567068", "module": "Church Finances", "name": "Church Fund Balances", "number_of_groups": 0, @@ -181,9 +181,9 @@ "group_by_type": "Count", "heatmap_year": null, "is_public": 1, - "is_standard": 1, - "last_synced_on": "2025-10-10 21:06:14.290648", - "modified": "2025-09-21 22:40:23.088650", + "is_standard": 0, + "last_synced_on": "2025-10-10 23:13:16.387057", + "modified": "2025-10-10 23:37:35.790654", "module": "Church Prayers", "name": "Church Prayer Requests (Answered)", "number_of_groups": 0, @@ -220,9 +220,9 @@ "group_by_type": "Count", "heatmap_year": null, "is_public": 0, - "is_standard": 1, - "last_synced_on": "2025-10-10 22:24:23.171739", - "modified": "2025-10-03 23:00:21.417449", + "is_standard": 0, + "last_synced_on": "2025-10-10 23:13:38.248896", + "modified": "2025-10-10 23:36:55.818468", "module": "Church Finances", "name": "Church Collections Sum", "number_of_groups": 0, From 68373d30dfee4121795b7b00fe44f4aa75957ba1 Mon Sep 17 00:00:00 2001 From: meichthys Date: Sat, 11 Oct 2025 03:41:01 +0000 Subject: [PATCH 10/10] remove standard charts --- .../church_collections_sum.json | 39 ------------------- .../church_fund_balances.json | 35 ----------------- .../church_members_count_(new_by_month).json | 35 ----------------- .../church_persons_count.json | 34 ---------------- .../church_prayer_request_count_(active).json | 35 ----------------- .../church_prayer_requests_(answered).json | 35 ----------------- 6 files changed, 213 deletions(-) delete mode 100644 church/church_finances/dashboard_chart/church_collections_sum/church_collections_sum.json delete mode 100644 church/church_finances/dashboard_chart/church_fund_balances/church_fund_balances.json delete mode 100644 church/church_people/dashboard_chart/church_members_count_(new_by_month)/church_members_count_(new_by_month).json delete mode 100644 church/church_people/dashboard_chart/church_persons_count/church_persons_count.json delete mode 100644 church/church_prayers/dashboard_chart/church_prayer_request_count_(active)/church_prayer_request_count_(active).json delete mode 100644 church/church_prayers/dashboard_chart/church_prayer_requests_(answered)/church_prayer_requests_(answered).json diff --git a/church/church_finances/dashboard_chart/church_collections_sum/church_collections_sum.json b/church/church_finances/dashboard_chart/church_collections_sum/church_collections_sum.json deleted file mode 100644 index 097bf49..0000000 --- a/church/church_finances/dashboard_chart/church_collections_sum/church_collections_sum.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "based_on": "creation", - "chart_name": "Church Collections Sum", - "chart_type": "Sum", - "color": "#138a25", - "creation": "2025-09-07 00:14:44.940872", - "currency": "USD", - "docstatus": 0, - "doctype": "Dashboard Chart", - "document_type": "Church Donation", - "dynamic_filters_json": "[]", - "filters_json": "[]", - "group_by_type": "Count", - "idx": 3, - "is_public": 0, - "is_standard": 1, - "last_synced_on": "2025-10-03 22:59:38.179280", - "modified": "2025-10-03 23:00:21.417449", - "modified_by": "Administrator", - "module": "Church Finances", - "name": "Church Collections Sum", - "number_of_groups": 0, - "owner": "Administrator", - "parent_document_type": "Church Collection", - "roles": [ - { - "role": "Church Manager" - } - ], - "show_values_over_chart": 1, - "source": "", - "time_interval": "Weekly", - "timeseries": 1, - "timespan": "Last Year", - "type": "Bar", - "use_report_chart": 0, - "value_based_on": "amount", - "y_axis": [] -} \ No newline at end of file diff --git a/church/church_finances/dashboard_chart/church_fund_balances/church_fund_balances.json b/church/church_finances/dashboard_chart/church_fund_balances/church_fund_balances.json deleted file mode 100644 index 47a225c..0000000 --- a/church/church_finances/dashboard_chart/church_fund_balances/church_fund_balances.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "chart_name": "Church Fund Balances", - "chart_type": "Report", - "creation": "2025-10-02 01:25:37.459929", - "currency": "USD", - "custom_options": "{\"x_field\": \"fund\", \"chart_type\": \"Bar\", \"y_axis_fields\": [{\"idx\": 1, \"__islocal\": true, \"y_field\": \"balance\", \"color\": \"#29CD42\", \"name\": \"row 1\"}], \"y_fields\": [\"balance\"], \"colors\": [\"#29CD42\"]}", - "docstatus": 0, - "doctype": "Dashboard Chart", - "filters_json": "{}", - "group_by_type": "Count", - "idx": 0, - "is_public": 0, - "is_standard": 1, - "modified": "2025-10-02 01:26:04.007658", - "modified_by": "Administrator", - "module": "Church Finances", - "name": "Church Fund Balances", - "number_of_groups": 0, - "owner": "Administrator", - "report_name": "Church Fund Balances", - "roles": [], - "show_values_over_chart": 1, - "time_interval": "Yearly", - "timeseries": 0, - "timespan": "Last Year", - "type": "Bar", - "use_report_chart": 0, - "x_field": "fund", - "y_axis": [ - { - "color": "#29CD42", - "y_field": "balance" - } - ] -} \ No newline at end of file diff --git a/church/church_people/dashboard_chart/church_members_count_(new_by_month)/church_members_count_(new_by_month).json b/church/church_people/dashboard_chart/church_members_count_(new_by_month)/church_members_count_(new_by_month).json deleted file mode 100644 index 00077e1..0000000 --- a/church/church_people/dashboard_chart/church_members_count_(new_by_month)/church_members_count_(new_by_month).json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "based_on": "membership_date", - "chart_name": "Church Members Count (New by Month)", - "chart_type": "Count", - "color": "#29CD42", - "creation": "2025-09-07 00:14:44.956303", - "currency": "", - "docstatus": 0, - "doctype": "Dashboard Chart", - "document_type": "Church Person", - "dynamic_filters_json": "[]", - "filters_json": "[[\"Church Person\",\"is_member\",\"=\",1,false]]", - "group_by_type": "Count", - "idx": 1, - "is_public": 1, - "is_standard": 1, - "last_synced_on": "2025-09-21 22:10:37.006237", - "modified": "2025-09-21 22:40:56.515222", - "modified_by": "Administrator", - "module": "Church People", - "name": "Church Members Count (New by Month)", - "number_of_groups": 0, - "owner": "Administrator", - "parent_document_type": "", - "roles": [], - "show_values_over_chart": 0, - "source": "", - "time_interval": "Monthly", - "timeseries": 1, - "timespan": "Last Year", - "type": "Bar", - "use_report_chart": 0, - "value_based_on": "", - "y_axis": [] -} \ No newline at end of file diff --git a/church/church_people/dashboard_chart/church_persons_count/church_persons_count.json b/church/church_people/dashboard_chart/church_persons_count/church_persons_count.json deleted file mode 100644 index c7355fc..0000000 --- a/church/church_people/dashboard_chart/church_persons_count/church_persons_count.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "based_on": "creation", - "chart_name": "Church Persons Count", - "chart_type": "Count", - "creation": "2025-09-07 00:54:39.868404", - "currency": "USD", - "docstatus": 0, - "doctype": "Dashboard Chart", - "document_type": "Church Person", - "dynamic_filters_json": "[]", - "filters_json": "[]", - "group_by_type": "Count", - "idx": 0, - "is_public": 0, - "is_standard": 1, - "last_synced_on": "2025-09-21 22:10:36.959036", - "modified": "2025-09-21 22:40:56.438477", - "modified_by": "Administrator", - "module": "Church People", - "name": "Church Persons Count", - "number_of_groups": 0, - "owner": "Administrator", - "parent_document_type": "", - "roles": [], - "show_values_over_chart": 1, - "source": "", - "time_interval": "Monthly", - "timeseries": 1, - "timespan": "Last Year", - "type": "Line", - "use_report_chart": 0, - "value_based_on": "", - "y_axis": [] -} \ No newline at end of file diff --git a/church/church_prayers/dashboard_chart/church_prayer_request_count_(active)/church_prayer_request_count_(active).json b/church/church_prayers/dashboard_chart/church_prayer_request_count_(active)/church_prayer_request_count_(active).json deleted file mode 100644 index 90a42a3..0000000 --- a/church/church_prayers/dashboard_chart/church_prayer_request_count_(active)/church_prayer_request_count_(active).json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "based_on": "creation", - "chart_name": "Church Prayer Request Count (Active)", - "chart_type": "Count", - "color": "#ECAD4B", - "creation": "2025-09-14 23:02:25.989466", - "currency": "USD", - "docstatus": 0, - "doctype": "Dashboard Chart", - "document_type": "Church Prayer Request", - "dynamic_filters_json": "[]", - "filters_json": "[[\"Church Prayer Request\",\"status\",\"in\",[\"Requested\",\"Intercession\"],false]]", - "group_by_type": "Count", - "idx": 1, - "is_public": 1, - "is_standard": 1, - "last_synced_on": "2025-09-21 22:22:12.718394", - "modified": "2025-09-21 22:40:23.012857", - "modified_by": "Administrator", - "module": "Church Prayers", - "name": "Church Prayer Request Count (Active)", - "number_of_groups": 0, - "owner": "Administrator", - "parent_document_type": "", - "roles": [], - "show_values_over_chart": 1, - "source": "", - "time_interval": "Daily", - "timeseries": 1, - "timespan": "Last Year", - "type": "Line", - "use_report_chart": 0, - "value_based_on": "", - "y_axis": [] -} \ No newline at end of file diff --git a/church/church_prayers/dashboard_chart/church_prayer_requests_(answered)/church_prayer_requests_(answered).json b/church/church_prayers/dashboard_chart/church_prayer_requests_(answered)/church_prayer_requests_(answered).json deleted file mode 100644 index 2258d1e..0000000 --- a/church/church_prayers/dashboard_chart/church_prayer_requests_(answered)/church_prayer_requests_(answered).json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "based_on": "modified", - "chart_name": "Church Prayer Requests (Answered)", - "chart_type": "Count", - "color": "#29CD42", - "creation": "2025-09-14 23:12:53.006138", - "currency": "USD", - "docstatus": 0, - "doctype": "Dashboard Chart", - "document_type": "Church Prayer Request", - "dynamic_filters_json": "[]", - "filters_json": "[[\"Church Prayer Request\",\"status\",\"=\",\"Answered\",false]]", - "group_by_type": "Count", - "idx": 4, - "is_public": 1, - "is_standard": 1, - "last_synced_on": "2025-09-21 22:22:13.068437", - "modified": "2025-09-21 22:40:23.088650", - "modified_by": "Administrator", - "module": "Church Prayers", - "name": "Church Prayer Requests (Answered)", - "number_of_groups": 0, - "owner": "Administrator", - "parent_document_type": "", - "roles": [], - "show_values_over_chart": 1, - "source": "", - "time_interval": "Daily", - "timeseries": 1, - "timespan": "Last Year", - "type": "Line", - "use_report_chart": 0, - "value_based_on": "", - "y_axis": [] -} \ No newline at end of file