feat: Display system updater reference on timeline
This commit is contained in:
parent
c132938883
commit
253cc87f24
3 changed files with 34 additions and 14 deletions
|
|
@ -45,7 +45,11 @@ def get_diff(old, new, for_child=False):
|
|||
|
||||
# capture data import if set
|
||||
data_import = new.flags.via_data_import
|
||||
out = frappe._dict(changed = [], added = [], removed = [], row_changed = [], data_import=data_import)
|
||||
updater_reference = new.flags.updater_reference
|
||||
|
||||
out = frappe._dict(changed = [], added = [], removed = [],
|
||||
row_changed = [], data_import=data_import, updater_reference=updater_reference)
|
||||
|
||||
for df in new.meta.fields:
|
||||
if df.fieldtype in no_value_fields and df.fieldtype not in table_fields:
|
||||
continue
|
||||
|
|
|
|||
|
|
@ -132,6 +132,10 @@ def get_context(context):
|
|||
try:
|
||||
if allow_update:
|
||||
doc.set(self.set_property_after_alert, self.property_value)
|
||||
doc.flags.updater_reference = {
|
||||
'doctype': self.doctype,
|
||||
'docname': self.name
|
||||
}
|
||||
doc.save()
|
||||
except Exception as e:
|
||||
frappe.log_error(title=_('Document update failed'), message=frappe.get_traceback())
|
||||
|
|
|
|||
|
|
@ -560,12 +560,24 @@ frappe.ui.form.Timeline = class Timeline {
|
|||
return;
|
||||
}
|
||||
|
||||
let data_import_link = frappe.utils.get_form_link(
|
||||
'Data Import Beta',
|
||||
data.data_import,
|
||||
true,
|
||||
__('via Data Import')
|
||||
);
|
||||
let updater_reference_link = null;
|
||||
|
||||
if (data.data_import) {
|
||||
updater_reference_link = frappe.utils.get_form_link(
|
||||
'Data Import Beta',
|
||||
data.data_import,
|
||||
true,
|
||||
__('via Data Import')
|
||||
);
|
||||
} else if (!$.isEmptyObject(data.updater_reference)) {
|
||||
let updater_reference = data.updater_reference;
|
||||
updater_reference_link = frappe.utils.get_form_link(
|
||||
updater_reference.doctype,
|
||||
updater_reference.docname,
|
||||
true,
|
||||
__('via {0}', [updater_reference.doctype])
|
||||
);
|
||||
}
|
||||
|
||||
// value changed in parent
|
||||
if (data.changed && data.changed.length) {
|
||||
|
|
@ -573,13 +585,13 @@ frappe.ui.form.Timeline = class Timeline {
|
|||
data.changed.every(function(p) {
|
||||
if (p[0]==='docstatus') {
|
||||
if (p[2]==1) {
|
||||
let message = data.data_import
|
||||
? __('submitted this document {0}', [data_import_link])
|
||||
let message = updater_reference_link
|
||||
? __('submitted this document {0}', [updater_reference_link])
|
||||
: __('submitted this document');
|
||||
out.push(me.get_version_comment(version, message));
|
||||
} else if (p[2]==2) {
|
||||
let message = data.data_import
|
||||
? __('cancelled this document {0}', [data_import_link])
|
||||
let message = updater_reference_link
|
||||
? __('cancelled this document {0}', [updater_reference_link])
|
||||
: __('cancelled this document');
|
||||
out.push(me.get_version_comment(version, message));
|
||||
}
|
||||
|
|
@ -600,10 +612,10 @@ frappe.ui.form.Timeline = class Timeline {
|
|||
}
|
||||
return parts.length < 3;
|
||||
});
|
||||
if(parts.length) {
|
||||
if (parts.length) {
|
||||
let message;
|
||||
if (data.data_import) {
|
||||
message = __("changed value of {0} {1}", [parts.join(', ').bold(), data_import_link]);
|
||||
if (updater_reference_link) {
|
||||
message = __("changed value of {0} {1}", [parts.join(', ').bold(), updater_reference_link]);
|
||||
} else {
|
||||
message = __("changed value of {0}", [parts.join(', ').bold()]);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue