From 1ec03dacff3b59ef20349ec074dd1f550a078465 Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Wed, 7 Sep 2022 23:25:11 +0530 Subject: [PATCH] feat(UX): Disable write actions in read-only Desk I won't be covering each and every aspect of desk that shouldn't work in read only mode. This just handles major interactions and assumes that user will get a hint about why other things aren't working. Changes: - Add read only badge on navbar. - Disable forms - Disable new doc creation --- frappe/public/js/frappe/form/form.js | 4 ++++ frappe/public/js/frappe/list/list_view.js | 2 +- frappe/public/js/frappe/ui/toolbar/navbar.html | 5 +++++ frappe/sessions.py | 1 + 4 files changed, 11 insertions(+), 1 deletion(-) diff --git a/frappe/public/js/frappe/form/form.js b/frappe/public/js/frappe/form/form.js index 9ef4b32915..8c642a73f0 100644 --- a/frappe/public/js/frappe/form/form.js +++ b/frappe/public/js/frappe/form/form.js @@ -450,6 +450,10 @@ frappe.ui.form.Form = class FrappeForm { .toggleClass("cancelled-form", this.doc.docstatus === 2); this.show_conflict_message(); + + if (frappe.boot.read_only) { + this.disable_form(); + } } } diff --git a/frappe/public/js/frappe/list/list_view.js b/frappe/public/js/frappe/list/list_view.js index 032832b597..c6ff13f336 100644 --- a/frappe/public/js/frappe/list/list_view.js +++ b/frappe/public/js/frappe/list/list_view.js @@ -215,7 +215,7 @@ frappe.views.ListView = class ListView extends frappe.views.BaseList { } set_primary_action() { - if (this.can_create) { + if (this.can_create && !frappe.boot.read_only) { const doctype_name = __(frappe.router.doctype_layout) || __(this.doctype); // Better style would be __("Add {0}", [doctype_name], "Primary action in list view") diff --git a/frappe/public/js/frappe/ui/toolbar/navbar.html b/frappe/public/js/frappe/ui/toolbar/navbar.html index 3276ca302a..19bae9647a 100644 --- a/frappe/public/js/frappe/ui/toolbar/navbar.html +++ b/frappe/public/js/frappe/ui/toolbar/navbar.html @@ -6,6 +6,11 @@