From 57acf4e9cbfcbf05b0cd882b408925f6a869d7d9 Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Thu, 27 Mar 2014 14:17:44 +0530 Subject: [PATCH] #478 --- frappe/core/doctype/workflow/workflow.js | 2 +- .../permission_manager/permission_manager.js | 6 +-- frappe/model/controller.py | 28 ++--------- frappe/model/meta.py | 4 +- frappe/public/js/frappe/form/control.js | 4 +- frappe/public/js/frappe/form/formatters.js | 2 +- frappe/public/js/frappe/form/save.js | 4 +- frappe/public/js/frappe/form/toolbar.js | 2 +- frappe/public/js/frappe/form/workflow.js | 6 +-- frappe/public/js/frappe/model/create_new.js | 46 +++++++++++-------- frappe/public/js/frappe/model/meta.js | 4 +- frappe/public/js/frappe/model/model.js | 40 ++++++++++------ frappe/public/js/frappe/model/perm.js | 8 ++-- frappe/public/js/frappe/model/sync.js | 18 ++++++-- frappe/public/js/frappe/model/workflow.js | 8 ++-- frappe/public/js/frappe/print/print_table.js | 3 +- frappe/public/js/frappe/request.js | 2 +- .../public/js/frappe/views/communication.js | 2 +- frappe/public/js/frappe/views/listview.js | 10 ++-- frappe/public/js/frappe/views/query_report.js | 2 +- frappe/public/js/frappe/views/reportview.js | 2 +- frappe/public/js/legacy/form.js | 6 +-- frappe/public/js/legacy/print_format.js | 2 +- frappe/website/doctype/web_page/web_page.py | 6 +-- .../website_settings/website_settings.js | 4 +- frappe/widgets/form/load.py | 5 +- frappe/widgets/form/save.py | 32 ++++++------- 27 files changed, 130 insertions(+), 128 deletions(-) diff --git a/frappe/core/doctype/workflow/workflow.js b/frappe/core/doctype/workflow/workflow.js index 26b83403e5..7cbfd6b715 100644 --- a/frappe/core/doctype/workflow/workflow.js +++ b/frappe/core/doctype/workflow/workflow.js @@ -20,7 +20,7 @@ frappe.core.Workflow = frappe.ui.form.Controller.extend({ } }, update_field_options: function() { - var fields = $.map(frappe.model.get_doc("DocType", this.frm.doc.document_type).fields, function(d) { + var fields = $.map(frappe.get_doc("DocType", this.frm.doc.document_type).fields, function(d) { return frappe.model.no_value_type.indexOf(d.fieldtype)===-1 ? d.fieldname : null; }) frappe.meta.get_docfield("Workflow Document State", "update_field", this.frm.doc.name).options diff --git a/frappe/core/page/permission_manager/permission_manager.js b/frappe/core/page/permission_manager/permission_manager.js index 9c05ea679a..015a8d4640 100644 --- a/frappe/core/page/permission_manager/permission_manager.js +++ b/frappe/core/page/permission_manager/permission_manager.js @@ -428,14 +428,14 @@ frappe.PermissionEngine = Class.extend({ }); }, get_user_fields: function(doctype) { - var user_fields = frappe.model.get_children("DocType", doctype, "fields", {fieldtype:"Link", options:"User"}) - user_fields = user_fields.concat(frappe.model.get_children("DocType", doctype, "fields", + var user_fields = frappe.get_children("DocType", doctype, "fields", {fieldtype:"Link", options:"User"}) + user_fields = user_fields.concat(frappe.get_children("DocType", doctype, "fields", {fieldtype:"Select", link_doctype:"User"})) return user_fields }, get_link_fields: function(doctype) { - return frappe.model.get_children("DocType", doctype, "fields", + return frappe.get_children("DocType", doctype, "fields", {fieldtype:"Link", options:["not in", ["User", '[Select]']]}); } }) diff --git a/frappe/model/controller.py b/frappe/model/controller.py index a023809fc8..fd01646127 100644 --- a/frappe/model/controller.py +++ b/frappe/model/controller.py @@ -6,22 +6,11 @@ import frappe from frappe import msgprint, _ from frappe.utils import flt, cint, cstr from frappe.model.meta import get_field_precision +from frappe.model.document import Document class EmptyTableError(frappe.ValidationError): pass -class DocListController(object): - def __init__(self, doc, doclist): - self.doc, self.doclist = doc, doclist - - if hasattr(self, "setup"): - self.setup() - - @property - def meta(self): - if not hasattr(self, "_meta"): - self._meta = frappe.get_doctype(self.doc.doctype) - return self._meta - +class DocListController(Document): def validate_value(self, fieldname, condition, val2, doc=None, raise_exception=None): """check that value of fieldname should be 'condition' val2 else throw exception""" @@ -80,18 +69,9 @@ class DocListController(object): for fieldname in fieldnames: doc.fields[fieldname] = flt(doc.fields.get(fieldname), self.precision(fieldname, doc.parentfield)) - def _process(self, parentfield): - from frappe.model.doc import Document - if isinstance(parentfield, Document): - parentfield = parentfield.parentfield - - elif isinstance(parentfield, dict): - parentfield = parentfield.get("parentfield") - - return parentfield - def precision(self, fieldname, parentfield=None): - parentfield = self._process(parentfield) + if not isinstance(parentfield, basestring): + parentfield = parentfield.parentfield if not hasattr(self, "_precision"): self._precision = frappe._dict({ diff --git a/frappe/model/meta.py b/frappe/model/meta.py index 730b90d5e1..380d02e31d 100644 --- a/frappe/model/meta.py +++ b/frappe/model/meta.py @@ -29,7 +29,7 @@ class Meta(Document): def get_link_fields(self): tmp = self.get("fields", {"fieldtype":"Link"}) tmp.extend(self.get("fields", {"fieldtype":"Select", "options": "^link:"})) - return tmp + return tmp def get_table_fields(self): return [ @@ -46,7 +46,7 @@ class Meta(Document): def get_table_field_doctype(self, fieldname): return { "fields": "DocField", "permissions": "DocPerm"}.get(fieldname) - + def process(self): self.add_custom_fields() self.apply_property_setters() diff --git a/frappe/public/js/frappe/form/control.js b/frappe/public/js/frappe/form/control.js index a652c2cc6d..e77ea6fd45 100644 --- a/frappe/public/js/frappe/form/control.js +++ b/frappe/public/js/frappe/form/control.js @@ -980,9 +980,9 @@ frappe.ui.form.ControlTable = frappe.ui.form.Control.extend({ this._super(); // add title if prev field is not column / section heading or html - var prev_fieldtype = frappe.model.get_children("DocType", this.frm.doctype, "fields", + var prev_fieldtype = frappe.get_children("DocType", this.frm.doctype, "fields", {idx: this.df.idx-1}); - prev_fieldtype = prev_fieldtype ? prev_fieldtype[0].fieldtype : ""; + prev_fieldtype = prev_fieldtype.length ? prev_fieldtype[0].fieldtype : ""; if(["Column Break", "Section Break", "HTML"].indexOf(prev_fieldtype)===-1) { $("