diff --git a/frappe/core/doctype/permission_type/permission_type.json b/frappe/core/doctype/permission_type/permission_type.json index 864df8d3fb..91d7163866 100644 --- a/frappe/core/doctype/permission_type/permission_type.json +++ b/frappe/core/doctype/permission_type/permission_type.json @@ -19,7 +19,7 @@ "grid_page_length": 50, "index_web_pages_for_search": 1, "links": [], - "modified": "2025-07-28 13:13:31.411625", + "modified": "2025-10-30 14:03:44.453713", "modified_by": "Administrator", "module": "Core", "name": "Permission Type", @@ -34,7 +34,7 @@ "print": 1, "read": 1, "report": 1, - "role": "System Manager", + "role": "Administrator", "share": 1, "write": 1 } diff --git a/frappe/core/doctype/permission_type/permission_type.py b/frappe/core/doctype/permission_type/permission_type.py index cd5429ace2..af87dbd554 100644 --- a/frappe/core/doctype/permission_type/permission_type.py +++ b/frappe/core/doctype/permission_type/permission_type.py @@ -3,6 +3,7 @@ import frappe from frappe.model.document import Document +from frappe.modules.utils import get_doctype_module class PermissionType(Document): @@ -18,6 +19,12 @@ class PermissionType(Document): # end: auto-generated types def on_update(self): + if frappe.conf.developer_mode: + from frappe.modules.export_file import export_to_files + + module = get_doctype_module(self.applicable_for) + export_to_files(record_list=[["Permission Type", self.name]], record_module=module) + doctypes = ["Custom DocPerm", "DocPerm"] for doctype in doctypes: self.create_custom_docperm(doctype) diff --git a/frappe/core/permission_type/impersonate/impersonate.json b/frappe/core/permission_type/impersonate/impersonate.json new file mode 100644 index 0000000000..a5dfa3fe01 --- /dev/null +++ b/frappe/core/permission_type/impersonate/impersonate.json @@ -0,0 +1,11 @@ +{ + "applicable_for": "User", + "creation": "2025-10-30 13:06:43.521313", + "docstatus": 0, + "doctype": "Permission Type", + "idx": 0, + "modified": "2025-10-30 13:59:38.160474", + "modified_by": "Administrator", + "name": "impersonate", + "owner": "Administrator" +} diff --git a/frappe/hooks.py b/frappe/hooks.py index cb666cb41c..b8c8901320 100644 --- a/frappe/hooks.py +++ b/frappe/hooks.py @@ -576,13 +576,6 @@ persistent_cache_keys = [ "rl:*", ] -fixtures = [ - { - "dt": "Permission Type", - "filters": {"name": "impersonate", "applicable_for": "User"}, - }, -] - user_invitation = { "allowed_roles": { "System Manager": [], diff --git a/frappe/model/sync.py b/frappe/model/sync.py index 72d644cd0b..acdbb0aa7d 100644 --- a/frappe/model/sync.py +++ b/frappe/model/sync.py @@ -34,6 +34,7 @@ IMPORTABLE_DOCTYPES = [ ("core", "server_script"), ("custom", "custom_field"), ("custom", "property_setter"), + ("core", "permission_type"), ]