diff --git a/README.md b/README.md index 478248e..eea35b7 100644 --- a/README.md +++ b/README.md @@ -50,7 +50,7 @@ The following features have been implemented in this app (see the [🗺️ Roadm - Bank reconciliation report - Fund balance tracking - Collections automatically update funds when saved -- Basic Asset Tracking +- Basic Asset Tracking (location, details) - Church Belief tracking - Basic Church Website - About Page diff --git a/church/church_operations/doctype/church_location/__init__.py b/church/church_operations/doctype/church_location/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/church/church_operations/doctype/church_location/church_location.js b/church/church_operations/doctype/church_location/church_location.js new file mode 100644 index 0000000..c7589a4 --- /dev/null +++ b/church/church_operations/doctype/church_location/church_location.js @@ -0,0 +1,8 @@ +// Copyright (c) 2026, meichthys and contributors +// For license information, please see license.txt + +// frappe.ui.form.on("Church Location", { +// refresh(frm) { + +// }, +// }); diff --git a/church/church_operations/doctype/church_location/church_location.json b/church/church_operations/doctype/church_location/church_location.json new file mode 100644 index 0000000..eb6f50d --- /dev/null +++ b/church/church_operations/doctype/church_location/church_location.json @@ -0,0 +1,139 @@ +{ + "actions": [], + "allow_import": 1, + "allow_rename": 1, + "autoname": "format:{title}", + "creation": "2026-01-05 23:28:09.404374", + "default_view": "Tree", + "description": "A physical location associated with the Church. (i.e. Office, Library, etc)", + "doctype": "DocType", + "engine": "InnoDB", + "field_order": [ + "title", + "notes", + "column_break_djot", + "parent_church_location", + "is_group", + "photo", + "hidden_fields_section", + "lft", + "rgt", + "old_parent" + ], + "fields": [ + { + "allow_in_quick_entry": 1, + "fieldname": "title", + "fieldtype": "Data", + "in_list_view": 1, + "in_preview": 1, + "in_standard_filter": 1, + "label": "Title", + "reqd": 1 + }, + { + "allow_in_quick_entry": 1, + "fieldname": "notes", + "fieldtype": "Text Editor", + "in_list_view": 1, + "in_preview": 1, + "label": "Notes" + }, + { + "fieldname": "lft", + "fieldtype": "Int", + "hidden": 1, + "label": "Left", + "no_copy": 1, + "read_only": 1 + }, + { + "fieldname": "rgt", + "fieldtype": "Int", + "hidden": 1, + "label": "Right", + "no_copy": 1, + "read_only": 1 + }, + { + "default": "0", + "description": "Check this if other locations are located within this location.", + "fieldname": "is_group", + "fieldtype": "Check", + "label": "Is Group" + }, + { + "fieldname": "old_parent", + "fieldtype": "Link", + "label": "Old Parent", + "options": "Church Location" + }, + { + "description": "If this location is located within another location, choose the other location here.", + "fieldname": "parent_church_location", + "fieldtype": "Link", + "ignore_user_permissions": 1, + "label": "Parent Location", + "options": "Church Location" + }, + { + "fieldname": "column_break_djot", + "fieldtype": "Column Break" + }, + { + "fieldname": "hidden_fields_section", + "fieldtype": "Section Break", + "hidden": 1, + "label": "Hidden Fields" + }, + { + "fieldname": "photo", + "fieldtype": "Attach Image", + "label": "Photo" + } + ], + "grid_page_length": 50, + "image_field": "photo", + "index_web_pages_for_search": 1, + "is_tree": 1, + "links": [], + "modified": "2026-01-05 23:51:38.123146", + "modified_by": "Administrator", + "module": "Church Operations", + "name": "Church Location", + "naming_rule": "Expression", + "nsm_parent_field": "parent_church_location", + "owner": "Administrator", + "permissions": [ + { + "create": 1, + "delete": 1, + "email": 1, + "export": 1, + "print": 1, + "read": 1, + "report": 1, + "role": "System Manager", + "share": 1, + "write": 1 + }, + { + "create": 1, + "delete": 1, + "email": 1, + "export": 1, + "import": 1, + "print": 1, + "read": 1, + "report": 1, + "role": "Church Manager", + "share": 1, + "write": 1 + } + ], + "quick_entry": 1, + "row_format": "Dynamic", + "sort_field": "modified", + "sort_order": "DESC", + "states": [] +} \ No newline at end of file diff --git a/church/church_operations/doctype/church_location/church_location.py b/church/church_operations/doctype/church_location/church_location.py new file mode 100644 index 0000000..75a8f52 --- /dev/null +++ b/church/church_operations/doctype/church_location/church_location.py @@ -0,0 +1,9 @@ +# Copyright (c) 2026, meichthys and contributors +# For license information, please see license.txt + +# import frappe +from frappe.model.document import Document + + +class ChurchLocation(Document): + pass diff --git a/church/church_operations/doctype/church_location/test_church_location.py b/church/church_operations/doctype/church_location/test_church_location.py new file mode 100644 index 0000000..36754d4 --- /dev/null +++ b/church/church_operations/doctype/church_location/test_church_location.py @@ -0,0 +1,9 @@ +# Copyright (c) 2026, meichthys and Contributors +# See license.txt + +# import frappe +from frappe.tests.utils import FrappeTestCase + + +class TestChurchLocation(FrappeTestCase): + pass diff --git a/church/church_operations/workspace/operations/operations.json b/church/church_operations/workspace/operations/operations.json index ac6c013..55c35ba 100644 --- a/church/church_operations/workspace/operations/operations.json +++ b/church/church_operations/workspace/operations/operations.json @@ -17,7 +17,7 @@ "hidden": 0, "is_query_report": 0, "label": "Operations Documents", - "link_count": 2, + "link_count": 3, "link_type": "DocType", "onboard": 0, "type": "Card Break" @@ -41,9 +41,19 @@ "link_type": "DocType", "onboard": 0, "type": "Link" + }, + { + "hidden": 0, + "is_query_report": 0, + "label": "Church Locations", + "link_count": 0, + "link_to": "Church Location", + "link_type": "DocType", + "onboard": 0, + "type": "Link" } ], - "modified": "2025-12-15 01:14:50.411941", + "modified": "2026-01-05 23:51:05.865566", "modified_by": "Administrator", "module": "Church Operations", "name": "Operations",