From 4441e765c98b73ca321f0e126025db4b8a111cde Mon Sep 17 00:00:00 2001 From: Shivam Mishra Date: Fri, 6 Mar 2020 12:47:49 +0530 Subject: [PATCH] feat: add is standard option --- frappe/desk/doctype/desk_page/desk_page.js | 9 +++++++-- frappe/desk/doctype/desk_page/desk_page.json | 9 ++++++++- frappe/desk/doctype/desk_page/desk_page.py | 7 ++++--- 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/frappe/desk/doctype/desk_page/desk_page.js b/frappe/desk/doctype/desk_page/desk_page.js index 0c487f2166..dfb5b6665f 100644 --- a/frappe/desk/doctype/desk_page/desk_page.js +++ b/frappe/desk/doctype/desk_page/desk_page.js @@ -2,7 +2,12 @@ // For license information, please see license.txt frappe.ui.form.on('Desk Page', { - // refresh: function(frm) { + refresh: function(frm) { + frm.get_field("is_standard").toggle(frappe.boot.developer_mode); - // } + if (frm.doc.is_standard && !frappe.boot.developer_mode) { + frm.set_read_only(); + frm.disable_save(); + } + } }); diff --git a/frappe/desk/doctype/desk_page/desk_page.json b/frappe/desk/doctype/desk_page/desk_page.json index 96cdfc460b..592f695a31 100644 --- a/frappe/desk/doctype/desk_page/desk_page.json +++ b/frappe/desk/doctype/desk_page/desk_page.json @@ -14,6 +14,7 @@ "icon", "column_break_3", "onboarding", + "is_standard", "developer_mode_only", "disable_user_customization", "pin_to_top", @@ -152,10 +153,16 @@ "fieldname": "section_break_18", "fieldtype": "Section Break", "label": "Link Cards" + }, + { + "default": "0", + "fieldname": "is_standard", + "fieldtype": "Check", + "label": "Is Standard" } ], "links": [], - "modified": "2020-03-02 20:08:44.856046", + "modified": "2020-03-05 15:39:17.658280", "modified_by": "Administrator", "module": "Desk", "name": "Desk Page", diff --git a/frappe/desk/doctype/desk_page/desk_page.py b/frappe/desk/doctype/desk_page/desk_page.py index c653931610..b6f8fbb472 100644 --- a/frappe/desk/doctype/desk_page/desk_page.py +++ b/frappe/desk/doctype/desk_page/desk_page.py @@ -10,9 +10,10 @@ from frappe.model.document import Document class DeskPage(Document): def validate(self): - if (not (frappe.flags.in_install or frappe.flags.in_patch or frappe.flags.in_test or frappe.flags.in_fixtures) - and not frappe.conf.developer_mode): + if (self.is_standard and not frappe.conf.developer_mode and \ + not (frappe.flags.in_install or frappe.flags.in_patch or frappe.flags.in_test or frappe.flags.in_fixtures)): frappe.throw(_("You need to be in developer mode to edit this document")) def on_update(self): - export_to_files(record_list=[['Desk Page', self.name]], record_module=self.module) + if frappe.conf.developer_mode and not self.is_standard: + export_to_files(record_list=[['Desk Page', self.name]], record_module=self.module)