Просмотр исходного кода

[minor] tests and fix for check type filters

version-14
Rushabh Mehta 8 лет назад
Родитель
Сommit
73b66137af
4 измененных файлов: 32 добавлений и 17 удалений
  1. +16
    -9
      frappe/core/doctype/doctype/doctype.js
  2. +2
    -1
      frappe/core/doctype/doctype/doctype.json
  3. +7
    -0
      frappe/public/js/frappe/ui/filters/filters.js
  4. +7
    -7
      frappe/website/doctype/web_form/web_form.py

+ 16
- 9
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;
}

+ 2
- 1
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",


+ 7
- 0
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);
},


+ 7
- 7
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:


Загрузка…
Отмена
Сохранить