[workflow] workflow indicator preceeds default indicator
This commit is contained in:
parent
af83117192
commit
fe0a1c8dc5
4 changed files with 36 additions and 27 deletions
|
|
@ -78,9 +78,8 @@ def rename_versions(doctype, old, new):
|
|||
|
||||
def rename_parent_and_child(doctype, old, new, meta):
|
||||
# rename the doc
|
||||
frappe.db.sql("update `tab%s` set name=%s where name=%s" \
|
||||
% (doctype, '%s', '%s'), (new, old))
|
||||
|
||||
frappe.db.sql("update `tab%s` set name=%s where name=%s" % (doctype, '%s', '%s'),
|
||||
(new, old))
|
||||
update_child_docs(old, new, meta)
|
||||
|
||||
def validate_rename(doctype, new, meta, merge, force, ignore_permissions):
|
||||
|
|
|
|||
|
|
@ -129,7 +129,7 @@ frappe.ui.form.States = Class.extend({
|
|||
},
|
||||
|
||||
set_default_state: function() {
|
||||
var default_state = frappe.workflow.get_default_state(this.frm.doctype);
|
||||
var default_state = frappe.workflow.get_default_state(this.frm.doctype, this.frm.doc.docstatus);
|
||||
if(default_state) {
|
||||
this.frm.set_value(this.state_fieldname, default_state);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,6 +12,20 @@ frappe.get_indicator = function(doc, doctype) {
|
|||
is_submittable = frappe.model.is_submittable(doctype),
|
||||
workflow_fieldname = frappe.workflow.get_state_fieldname(doctype);
|
||||
|
||||
// workflow
|
||||
if(workflow_fieldname) {
|
||||
var value = doc[workflow_fieldname];
|
||||
if(value) {
|
||||
var colour = {
|
||||
"Success": "green",
|
||||
"Warning": "orange",
|
||||
"Danger": "red",
|
||||
"Primary": "blue",
|
||||
}[locals["Workflow State"][value].style] || "darkgrey";
|
||||
return [__(value), colour, workflow_fieldname + ',=,' + value];
|
||||
}
|
||||
}
|
||||
|
||||
if(is_submittable && doc.docstatus==0) {
|
||||
return [__("Draft"), "red", "docstatus,=,0"];
|
||||
}
|
||||
|
|
@ -20,18 +34,6 @@ frappe.get_indicator = function(doc, doctype) {
|
|||
return [__("Cancelled"), "red", "docstatus,=,2"];
|
||||
}
|
||||
|
||||
// workflow
|
||||
if(workflow_fieldname) {
|
||||
var value = doc[workflow_fieldname];
|
||||
var colour = {
|
||||
"Success": "green",
|
||||
"Warning": "orange",
|
||||
"Danger": "red",
|
||||
"Primary": "blue",
|
||||
}[locals["Workflow State"][value].style] || "darkgrey";
|
||||
return [__(value), colour, workflow_fieldname + ',=,' + value];
|
||||
}
|
||||
|
||||
if(_get_indicator) {
|
||||
var indicator = _get_indicator(doc);
|
||||
if(indicator) return indicator;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
// Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
|
||||
// MIT License. See license.txt
|
||||
// MIT License. See license.txt
|
||||
|
||||
frappe.provide("frappe.workflow");
|
||||
|
||||
|
|
@ -13,7 +13,7 @@ frappe.workflow = {
|
|||
frappe.workflow.state_fields[doctype] = wf[0].workflow_state_field;
|
||||
} else {
|
||||
frappe.workflow.state_fields[doctype] = null;
|
||||
}
|
||||
}
|
||||
},
|
||||
get_state_fieldname: function(doctype) {
|
||||
if(frappe.workflow.state_fields[doctype]===undefined) {
|
||||
|
|
@ -21,9 +21,16 @@ frappe.workflow = {
|
|||
}
|
||||
return frappe.workflow.state_fields[doctype];
|
||||
},
|
||||
get_default_state: function(doctype) {
|
||||
get_default_state: function(doctype, docstatus) {
|
||||
frappe.workflow.setup(doctype);
|
||||
return frappe.workflow.workflows[doctype].states[0].state;
|
||||
var value = null;
|
||||
$.each(frappe.workflow.workflows[doctype].states, function(i, workflow_state) {
|
||||
if(cint(workflow_state.doc_status)===cint(docstatus)) {
|
||||
value = workflow_state.state;
|
||||
return false;
|
||||
}
|
||||
});
|
||||
return value;
|
||||
},
|
||||
get_transitions: function(doctype, state) {
|
||||
frappe.workflow.setup(doctype);
|
||||
|
|
@ -40,13 +47,14 @@ frappe.workflow = {
|
|||
is_read_only: function(doctype, name) {
|
||||
var state_fieldname = frappe.workflow.get_state_fieldname(doctype);
|
||||
if(state_fieldname) {
|
||||
if(!locals[doctype][name])
|
||||
var doc = locals[doctype][name];
|
||||
if(!doc)
|
||||
return false;
|
||||
if(locals[doctype][name].__islocal)
|
||||
if(doc.__islocal)
|
||||
return false;
|
||||
|
||||
var state = locals[doctype][name][state_fieldname] ||
|
||||
frappe.workflow.get_default_state(doctype);
|
||||
|
||||
var state = doc[state_fieldname] ||
|
||||
frappe.workflow.get_default_state(doctype, doc.docstatus);
|
||||
|
||||
var allow_edit = state ? frappe.workflow.get_document_state(doctype, state).allow_edit : null;
|
||||
|
||||
|
|
@ -57,10 +65,10 @@ frappe.workflow = {
|
|||
return false;
|
||||
},
|
||||
get_update_fields: function(doctype) {
|
||||
var update_fields = $.unique($.map(frappe.workflow.workflows[doctype].states || [],
|
||||
var update_fields = $.unique($.map(frappe.workflow.workflows[doctype].states || [],
|
||||
function(d) {
|
||||
return d.update_field;
|
||||
}));
|
||||
return update_fields;
|
||||
}
|
||||
};
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue