From 73b66137af73b4c89c8500a000a0af7d3fca22d1 Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Thu, 13 Oct 2016 11:08:39 +0530 Subject: [PATCH] [minor] tests and fix for check type filters --- frappe/core/doctype/doctype/doctype.js | 25 ++++++++++++------- frappe/core/doctype/doctype/doctype.json | 3 ++- frappe/public/js/frappe/ui/filters/filters.js | 7 ++++++ frappe/website/doctype/web_form/web_form.py | 14 +++++------ 4 files changed, 32 insertions(+), 17 deletions(-) diff --git a/frappe/core/doctype/doctype/doctype.js b/frappe/core/doctype/doctype/doctype.js index c4019ec8f8..fc9c594006 100644 --- a/frappe/core/doctype/doctype/doctype.js +++ b/frappe/core/doctype/doctype/doctype.js @@ -11,18 +11,25 @@ // } // }) -cur_frm.cscript.refresh = function(doc, cdt, cdn) { - if(doc.__islocal && (user !== "Administrator" || !frappe.boot.developer_mode)) { - cur_frm.set_value("custom", 1); - cur_frm.toggle_enable("custom", 0); - } +frappe.ui.form.on('DocType', { + refresh: function(frm) { + if(frm.doc.__islocal && (user !== "Administrator" || !frappe.boot.developer_mode)) { + frm.set_value("custom", 1); + frm.toggle_enable("custom", 0); + } + + if(!frappe.boot.developer_mode && !frm.doc.custom) { + // make the document read-only + frm.set_read_only(); + } - if(!frappe.boot.developer_mode && !doc.custom) { - // make the document read-only - cur_frm.set_read_only(); + if(!frm.doc.__islocal) { + frm.toggle_enable("engine", 0); + } } -} +}) +// for legacy... :) cur_frm.cscript.validate = function(doc, cdt, cdn) { doc.server_code_compiled = null; } diff --git a/frappe/core/doctype/doctype/doctype.json b/frappe/core/doctype/doctype/doctype.json index 58f57fd740..f7eb5b2180 100644 --- a/frappe/core/doctype/doctype/doctype.json +++ b/frappe/core/doctype/doctype/doctype.json @@ -209,6 +209,7 @@ "collapsible": 0, "columns": 0, "default": "InnoDB", + "depends_on": "eval:!doc.issingle", "fieldname": "engine", "fieldtype": "Select", "hidden": 0, @@ -1227,7 +1228,7 @@ "issingle": 0, "istable": 0, "max_attachments": 0, - "modified": "2016-10-06 03:09:39.138857", + "modified": "2016-10-13 01:13:58.133080", "modified_by": "Administrator", "module": "Core", "name": "DocType", diff --git a/frappe/public/js/frappe/ui/filters/filters.js b/frappe/public/js/frappe/ui/filters/filters.js index 31db542a50..64d4edf758 100644 --- a/frappe/public/js/frappe/ui/filters/filters.js +++ b/frappe/public/js/frappe/ui/filters/filters.js @@ -202,6 +202,13 @@ frappe.ui.Filter = Class.extend({ set_values: function(doctype, fieldname, condition, value) { // presents given (could be via tags!) this.set_field(doctype, fieldname); + + // change 0,1 to Yes, No for check field type + if(this.field.df.original_type==='Check') { + if(value==0) value = 'No'; + else if(value==1) value = 'Yes'; + } + if(condition) this.wrapper.find('.condition').val(condition).change(); if(value!=null) this.field.set_input(value); }, diff --git a/frappe/website/doctype/web_form/web_form.py b/frappe/website/doctype/web_form/web_form.py index dd7213d188..afd97b91f1 100644 --- a/frappe/website/doctype/web_form/web_form.py +++ b/frappe/website/doctype/web_form/web_form.py @@ -36,7 +36,8 @@ class WebForm(WebsiteGenerator): and self.is_standard and not frappe.conf.developer_mode): frappe.throw(_("You need to be in developer mode to edit a Standard Web Form")) - self.validate_fields() + if not frappe.flags.in_import: + self.validate_fields() def validate_fields(self): '''Validate all fields are present''' @@ -106,17 +107,16 @@ def get_context(context): '''Build context to render the `web_form.html` template''' self.set_web_form_module() - logged_in = frappe.session.user != "Guest" - self._login_required = self.login_required - if logged_in and self.login_required: - self._login_required = False + context._login_required = False + if self.login_required and frappe.session.user == "Guest": + context._login_required = True doc, delimeter = make_route_string(frappe.form_dict) context.doc = doc context.delimeter = delimeter # check permissions - if not logged_in and frappe.form_dict.name: + if frappe.session.user == "Guest" and frappe.form_dict.name: frappe.throw(_("You need to be logged in to access this {0}.").format(self.doc_type), frappe.PermissionError) if frappe.form_dict.name and not has_web_form_permission(self.doc_type, frappe.form_dict.name): @@ -127,7 +127,7 @@ def get_context(context): if self.is_standard: self.use_meta_fields() - if not self._login_required: + if not context._login_required: if self.allow_edit: if self.allow_multiple: if not frappe.form_dict.name and not frappe.form_dict.new: