Quellcode durchsuchen

[fix] set status to document flow

version-14
Saurabh vor 9 Jahren
Ursprung
Commit
768d39ae4d
2 geänderte Dateien mit 58 neuen und 0 gelöschten Zeilen
  1. +32
    -0
      frappe/desk/form/document_flow.py
  2. +26
    -0
      frappe/public/js/frappe/form/document_flow.js

+ 32
- 0
frappe/desk/form/document_flow.py Datei anzeigen

@@ -0,0 +1,32 @@
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
# MIT License. See license.txt
from __future__ import unicode_literals

import frappe
import json
from frappe.desk.form.linked_with import get_linked_docs, get_linked_doctypes

@frappe.whitelist()
def get_document_completion_status(doctypes, frm_doctype, frm_docname):
if isinstance(doctypes, basestring):
doctypes = json.loads(doctypes)
doc = frappe.get_doc(frm_doctype, frm_docname)
linkinfo = get_linked_doctypes(frm_doctype)
flow_completion = {}
for item in doc.items:
for doctype in doc.prev_link_mapper:
fieldname = doc.prev_link_mapper[doctype]["fieldname"]
if item.as_dict()[fieldname]:
flow_completion[doctype] = True
for doctype in doctypes:
if doctype not in flow_completion:
links = get_linked_docs(frm_doctype, frm_docname, linkinfo, for_doctype=doctype)
frappe.errprint(links)
if links:
flow_completion[doctype] = True
return flow_completion

+ 26
- 0
frappe/public/js/frappe/form/document_flow.js Datei anzeigen

@@ -46,6 +46,8 @@ frappe.ui.form.DocumentFlow = Class.extend({
return false;
}
});
this.mark_completed_flow()
},

get_linked_docs: function(for_doctype) {
@@ -57,5 +59,29 @@ frappe.ui.form.DocumentFlow = Class.extend({
}

this.linked_with[for_doctype].show();
},
mark_completed_flow: function() {
var me = this;
frappe.call({
method: "frappe.desk.form.document_flow.get_document_completion_status",
args: {
doctypes: me.doctypes,
frm_doctype: me.frm.doctype,
frm_docname: me.frm.docname
},
callback: function(r){
if (!r.exc) {
$.each(me.doctypes, function(i, doctype) {
if (r.message[doctype] && me.frm.doctype!=doctype) {
me.wrapper.find("[data-doctype='"+doctype+"']a .indicator")
.removeClass("darkgrey")
.addClass("black")
}
})
}
}
})
}
});

Laden…
Abbrechen
Speichern