feat: Add revert dialog to get the reason of revert

- Show type and doctype in list view
- Track changes for energy point logs
This commit is contained in:
Suraj Shetty 2019-04-05 21:07:33 +05:30
parent d1cc18b508
commit 520a6b8020
3 changed files with 35 additions and 15 deletions

View file

@ -7,12 +7,30 @@ frappe.ui.form.on('Energy Point Log', {
frm.set_intro(__('This document has been reverted'));
} else if (!['Revert', 'Review'].includes(frm.doc.type)
&& frappe.user_roles.includes('System Manager')) {
const revert_button = __('Revert');
frm.add_custom_button(revert_button, () => {
return frappe.xcall('frappe.social.doctype.energy_point_log.energy_point_log.revert', {
'name': frm.doc.name
});
});
frm.add_custom_button(__('Revert'), () => frm.events.show_revert_dialog(frm));
}
},
show_revert_dialog(frm) {
const revert_dialog = new frappe.ui.Dialog({
title: __('Revert'),
fields: [{
fieldname: 'reason',
fieldtype: 'Small Text',
label: __('Reason'),
reqd: 1
}],
primary_action: (values) => {
return frappe.xcall('frappe.social.doctype.energy_point_log.energy_point_log.revert', {
'name': frm.doc.name,
'reason': values.reason
}).then(revert_log => {
revert_dialog.hide();
revert_dialog.clear();
frappe.model.docinfo[frm.doc.reference_doctype][frm.doc.reference_name].energy_point_logs.unshift(revert_log);
}).catch(() => {});
},
primary_action_label: __('Submit')
});
revert_dialog.show();
}
});

View file

@ -62,7 +62,7 @@
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_list_view": 1,
"in_standard_filter": 0,
"label": "Type",
"length": 0,
@ -130,7 +130,7 @@
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_list_view": 1,
"in_standard_filter": 0,
"label": "Reference Doctype",
"length": 0,
@ -292,7 +292,7 @@
"columns": 0,
"depends_on": "eval:doc.type === 'Revert'",
"fetch_if_empty": 0,
"fieldname": "revert_for",
"fieldname": "revert_of",
"fieldtype": "Link",
"hidden": 0,
"ignore_user_permissions": 0,
@ -301,7 +301,7 @@
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Revert For",
"label": "Revert Of",
"length": 0,
"no_copy": 0,
"options": "Energy Point Log",
@ -328,7 +328,7 @@
"istable": 0,
"max_attachments": 0,
"menu_index": 0,
"modified": "2019-04-05 17:20:43.998915",
"modified": "2019-04-05 20:23:53.917559",
"modified_by": "Administrator",
"module": "Social",
"name": "Energy Point Log",
@ -380,7 +380,7 @@
"sort_field": "modified",
"sort_order": "DESC",
"title_field": "user",
"track_changes": 0,
"track_changes": 1,
"track_seen": 0,
"track_views": 0
}

View file

@ -158,13 +158,13 @@ def get_reviews(doctype, docname):
}, fields=['points', 'owner', 'type', 'user', 'reason', 'creation'])
@frappe.whitelist()
def revert(name, reason=None):
def revert(name, reason):
frappe.only_for('System Manager')
doc_to_revert = frappe.get_doc('Energy Point Log', name)
doc_to_revert.reverted = 1
doc_to_revert.save()
frappe.get_doc({
revert_log = frappe.get_doc({
'doctype': 'Energy Point Log',
'points': -doc_to_revert.points,
'type': 'Revert',
@ -172,5 +172,7 @@ def revert(name, reason=None):
'reason': reason,
'reference_doctype': doc_to_revert.reference_doctype,
'reference_name': doc_to_revert.reference_name,
'revert_for': doc_to_revert.name
'revert_of': doc_to_revert.name
}).insert()
return revert_log