diff --git a/frappe/social/doctype/energy_point_log/energy_point_log.js b/frappe/social/doctype/energy_point_log/energy_point_log.js index c057f7b5e4..0d0bd741fe 100644 --- a/frappe/social/doctype/energy_point_log/energy_point_log.js +++ b/frappe/social/doctype/energy_point_log/energy_point_log.js @@ -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(); } }); diff --git a/frappe/social/doctype/energy_point_log/energy_point_log.json b/frappe/social/doctype/energy_point_log/energy_point_log.json index 72f23187a2..2a24016c82 100644 --- a/frappe/social/doctype/energy_point_log/energy_point_log.json +++ b/frappe/social/doctype/energy_point_log/energy_point_log.json @@ -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 } \ No newline at end of file diff --git a/frappe/social/doctype/energy_point_log/energy_point_log.py b/frappe/social/doctype/energy_point_log/energy_point_log.py index 4292af7fad..bcafe09eba 100644 --- a/frappe/social/doctype/energy_point_log/energy_point_log.py +++ b/frappe/social/doctype/energy_point_log/energy_point_log.py @@ -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 \ No newline at end of file