[minor] workflow in non-single, non-table & get_query fix
This commit is contained in:
parent
acc4252ce7
commit
2f7f4542e8
4 changed files with 31 additions and 18 deletions
|
|
@ -56,6 +56,7 @@ def search_widget(doctype, txt, query=None, searchfield=None, start=0,
|
|||
filters = []
|
||||
or_filters = []
|
||||
|
||||
|
||||
# build from doctype
|
||||
if txt:
|
||||
if meta.search_fields:
|
||||
|
|
|
|||
|
|
@ -1144,7 +1144,7 @@ frappe.ui.form.ControlLink = frappe.ui.form.ControlData.extend({
|
|||
var set_nulls = function(obj) {
|
||||
$.each(obj, function(key, value) {
|
||||
if(value!==undefined) {
|
||||
obj[key] = value || null;
|
||||
obj[key] = value;
|
||||
}
|
||||
});
|
||||
return obj;
|
||||
|
|
@ -1152,7 +1152,13 @@ frappe.ui.form.ControlLink = frappe.ui.form.ControlData.extend({
|
|||
if(this.get_query || this.df.get_query) {
|
||||
var get_query = this.get_query || this.df.get_query;
|
||||
if($.isPlainObject(get_query)) {
|
||||
$.extend(args, set_nulls(get_query));
|
||||
var filters = set_nulls(get_query);
|
||||
|
||||
// extend args for custom functions
|
||||
$.extend(args, filters);
|
||||
|
||||
// add "filters" for standard query (search.py)
|
||||
args.filters = filters;
|
||||
} else if(typeof(get_query)==="string") {
|
||||
args.query = get_query;
|
||||
} else {
|
||||
|
|
@ -1164,7 +1170,11 @@ frappe.ui.form.ControlLink = frappe.ui.form.ControlData.extend({
|
|||
if(q.filters) {
|
||||
set_nulls(q.filters);
|
||||
}
|
||||
// extend args for custom functions
|
||||
$.extend(args, q);
|
||||
|
||||
// add "filters" for standard query (search.py)
|
||||
args.filters = q.filters;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ class TestDataImport(unittest.TestCase):
|
|||
exporter.get_template("Blog Category", all_doctypes="No", with_data="No")
|
||||
content = read_csv_content(frappe.response.result)
|
||||
content.append(["", "", "test-category", "Test Cateogry"])
|
||||
importer.upload(content)
|
||||
importer.upload.queue(content)
|
||||
self.assertTrue(frappe.db.get_value("Blog Category", "test-category", "title"), "Test Category")
|
||||
|
||||
# export with data
|
||||
|
|
@ -44,7 +44,7 @@ class TestDataImport(unittest.TestCase):
|
|||
|
||||
# overwrite
|
||||
content[-1][3] = "New Title"
|
||||
importer.upload(content, overwrite=True)
|
||||
importer.upload.queue(content, overwrite=True)
|
||||
self.assertTrue(frappe.db.get_value("Blog Category", "test-category", "title"), "New Title")
|
||||
|
||||
def test_import_only_children(self):
|
||||
|
|
@ -57,7 +57,7 @@ class TestDataImport(unittest.TestCase):
|
|||
exporter.get_template("UserRole", "User", all_doctypes="No", with_data="No")
|
||||
content = read_csv_content(frappe.response.result)
|
||||
content.append(["", "test_import_userrole@example.com", "Blogger"])
|
||||
importer.upload(content)
|
||||
importer.upload.queue(content)
|
||||
|
||||
user = frappe.get_doc("User", user_email)
|
||||
self.assertEquals(len(user.get("user_roles")), 1)
|
||||
|
|
@ -67,7 +67,7 @@ class TestDataImport(unittest.TestCase):
|
|||
exporter.get_template("UserRole", "User", all_doctypes="No", with_data="No")
|
||||
content = read_csv_content(frappe.response.result)
|
||||
content.append(["", "test_import_userrole@example.com", "Website Manager"])
|
||||
importer.upload(content, overwrite=True)
|
||||
importer.upload.queue(content, overwrite=True)
|
||||
|
||||
user = frappe.get_doc("User", user_email)
|
||||
self.assertEquals(len(user.get("user_roles")), 1)
|
||||
|
|
@ -81,7 +81,7 @@ class TestDataImport(unittest.TestCase):
|
|||
content[-1][3] = "Private"
|
||||
content[-1][4] = "2014-01-01 10:00:00.000000"
|
||||
content[-1][content[15].index("role")] = "System Manager"
|
||||
importer.upload(content)
|
||||
importer.upload.queue(content)
|
||||
|
||||
ev = frappe.get_doc("Event", {"subject":"__Test Event"})
|
||||
self.assertTrue("System Manager" in [d.role for d in ev.roles])
|
||||
|
|
|
|||
|
|
@ -1,25 +1,27 @@
|
|||
frappe.provide("frappe.core")
|
||||
|
||||
frappe.core.Workflow = frappe.ui.form.Controller.extend({
|
||||
refresh: function(doc) {
|
||||
this.update_field_options(doc);
|
||||
frappe.ui.form.on("Workflow", {
|
||||
onload: function(frm) {
|
||||
frm.set_query("document_type", {"issingle": 0, "istable": 0});
|
||||
},
|
||||
document_type: function(doc) {
|
||||
this.update_field_options(doc);
|
||||
refresh: function(frm) {
|
||||
frm.events.update_field_options(frm);
|
||||
},
|
||||
update_field_options: function(doc) {
|
||||
var me = this;
|
||||
document_type: function(frm) {
|
||||
frm.events.update_field_options(frm);
|
||||
},
|
||||
update_field_options: function(frm) {
|
||||
var doc = frm.doc;
|
||||
if(doc.document_type) {
|
||||
frappe.model.with_doctype(doc.document_type, function() {
|
||||
var fields = $.map(frappe.get_doc("DocType",
|
||||
me.frm.doc.document_type).fields, function(d) {
|
||||
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", me.frm.doc.name).options
|
||||
frappe.meta.get_docfield("Workflow Document State", "update_field", frm.doc.name).options
|
||||
= [""].concat(fields);
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
})
|
||||
|
||||
cur_frm.cscript = new frappe.core.Workflow({frm:cur_frm});
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue