From 17e424707c5ca79df3554ec2e65a8175b67af032 Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Fri, 29 Mar 2019 11:04:14 +0530 Subject: [PATCH] feat: Ability to directly give review points from settings --- .../energy_point_log/energy_point_log.py | 5 +++ .../energy_point_settings.js | 40 +++++++++++++++++-- 2 files changed, 42 insertions(+), 3 deletions(-) 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