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 f3ed9d0eac..31b425231e 100644 --- a/frappe/social/doctype/energy_point_log/energy_point_log.py +++ b/frappe/social/doctype/energy_point_log/energy_point_log.py @@ -71,6 +71,11 @@ def create_review_points_log(user, points, reason=None, doctype=None, docname=No 'reference_name': docname }).insert(ignore_permissions=True) +@frappe.whitelist() +def add_review_points(user, points): + frappe.only_for('System Manager') + create_review_points_log(user, points) + @frappe.whitelist() def get_energy_points(user): # points = frappe.cache().hget('energy_points', user, diff --git a/frappe/social/doctype/energy_point_settings/energy_point_settings.js b/frappe/social/doctype/energy_point_settings/energy_point_settings.js index 26b53aa400..f061f4d74e 100644 --- a/frappe/social/doctype/energy_point_settings/energy_point_settings.js +++ b/frappe/social/doctype/energy_point_settings/energy_point_settings.js @@ -2,7 +2,41 @@ // For license information, please see license.txt frappe.ui.form.on('Energy Point Settings', { - // refresh: function(frm) { - - // } + refresh: function(frm) { + frm.add_custom_button(__('Give Review Points'), show_review_points_dialog); + } }); + +function show_review_points_dialog() { + const dialog = new frappe.ui.Dialog({ + title: __('Give Review Points'), + fields: [ + { + "label" : "User", + "fieldname": "user", + "fieldtype": "Link", + "options": "User", + "reqd": 1 + }, + { + "label" : "Points", + "fieldname": "points", + "fieldtype": "Int", + "reqd": 1 + } + ], + primary_action: function(values) { + frappe.xcall("frappe.social.doctype.energy_point_log.energy_point_log.add_review_points", { + user: values.user, + points: values.points, + }).then(() => { + frappe.show_alert({ + message: __('Successfully Done'), + indicator: 'green' + }); + }).finally(() => dialog.hide()); + }, + primary_action_label: __('Submit') + }); + dialog.show(); +} \ No newline at end of file