Merge pull request #23207 from rtdany10/workflow-status
feat: workflow state wise status override
This commit is contained in:
commit
be4e0bbc8a
4 changed files with 24 additions and 4 deletions
|
|
@ -36,11 +36,18 @@ frappe.get_indicator = function (doc, doctype, show_workflow_state) {
|
|||
|
||||
var settings = frappe.listview_settings[doctype] || {};
|
||||
|
||||
var is_submittable = frappe.model.is_submittable(doctype),
|
||||
workflow_fieldname = frappe.workflow.get_state_fieldname(doctype);
|
||||
var is_submittable = frappe.model.is_submittable(doctype);
|
||||
let workflow_fieldname = frappe.workflow.get_state_fieldname(doctype);
|
||||
|
||||
let avoid_status_override = (frappe.workflow.avoid_status_override[doctype] || []).includes(
|
||||
doc[workflow_fieldname]
|
||||
);
|
||||
// workflow
|
||||
if (workflow_fieldname && (!without_workflow || show_workflow_state)) {
|
||||
if (
|
||||
workflow_fieldname &&
|
||||
(!without_workflow || show_workflow_state) &&
|
||||
!avoid_status_override
|
||||
) {
|
||||
var value = doc[workflow_fieldname];
|
||||
if (value) {
|
||||
let colour = "";
|
||||
|
|
|
|||
|
|
@ -6,11 +6,15 @@ frappe.provide("frappe.workflow");
|
|||
frappe.workflow = {
|
||||
state_fields: {},
|
||||
workflows: {},
|
||||
avoid_status_override: {},
|
||||
setup: function (doctype) {
|
||||
var wf = frappe.get_list("Workflow", { document_type: doctype });
|
||||
if (wf.length) {
|
||||
frappe.workflow.workflows[doctype] = wf[0];
|
||||
frappe.workflow.state_fields[doctype] = wf[0].workflow_state_field;
|
||||
frappe.workflow.avoid_status_override[doctype] = wf[0].states
|
||||
.filter((row) => row.avoid_status_override)
|
||||
.map((d) => d.state);
|
||||
} else {
|
||||
frappe.workflow.state_fields[doctype] = null;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@
|
|||
"update_value",
|
||||
"column_break_4",
|
||||
"is_optional_state",
|
||||
"avoid_status_override",
|
||||
"next_action_email_template",
|
||||
"allow_edit",
|
||||
"section_break_9",
|
||||
|
|
@ -97,12 +98,19 @@
|
|||
"fieldtype": "Data",
|
||||
"hidden": 1,
|
||||
"label": "Workflow Builder ID"
|
||||
},
|
||||
{
|
||||
"default": "0",
|
||||
"description": "If Checked workflow status will not override status in list view",
|
||||
"fieldname": "avoid_status_override",
|
||||
"fieldtype": "Check",
|
||||
"label": "Don't Override Status"
|
||||
}
|
||||
],
|
||||
"idx": 1,
|
||||
"istable": 1,
|
||||
"links": [],
|
||||
"modified": "2023-11-16 12:10:15.472947",
|
||||
"modified": "2023-11-13 18:27:08.633239",
|
||||
"modified_by": "Administrator",
|
||||
"module": "Workflow",
|
||||
"name": "Workflow Document State",
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ class WorkflowDocumentState(Document):
|
|||
from frappe.types import DF
|
||||
|
||||
allow_edit: DF.Link
|
||||
avoid_status_override: DF.Check
|
||||
doc_status: DF.Literal["0", "1", "2"]
|
||||
is_optional_state: DF.Check
|
||||
message: DF.Text | None
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue