From 96ec88d4d925aa2e5203b875762cdce3c14874c7 Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Tue, 26 Mar 2019 09:15:13 +0530 Subject: [PATCH] feat: Attach popover to review pills for more info --- frappe/public/js/frappe/form/review.js | 28 ++++++++++++++++--- frappe/public/less/sidebar.less | 4 +-- .../energy_point_log/energy_point_log.py | 3 +- 3 files changed, 28 insertions(+), 7 deletions(-) diff --git a/frappe/public/js/frappe/form/review.js b/frappe/public/js/frappe/form/review.js index 3b1ec9a434..537759d148 100644 --- a/frappe/public/js/frappe/form/review.js +++ b/frappe/public/js/frappe/form/review.js @@ -61,7 +61,7 @@ frappe.ui.form.Review = class Review { options: this.get_involved_users(), default: this.frm.doc.owner }, { - fieldname: 'action', + fieldname: 'review_type', fieldtype: 'Select', label: __('Action'), options: [{ @@ -96,6 +96,7 @@ frappe.ui.form.Review = class Review { }, to_user: values.to_user, points: values.points, + review_type: values.review_type, reason: values.reason }).then(() => { review_dialog.hide(); @@ -114,15 +115,34 @@ frappe.ui.form.Review = class Review { 'docname': this.frm.doc.name, }).then(review_logs => { review_logs.forEach(review_log => { - this.review_list_wrapper.prepend(` + let review_pill = $(` ${frappe.avatar(review_log.owner)} - - ${review_log.points} + + ${review_log.type === 'Appreciation' ? '+': ''}${review_log.points} `); + this.review_list_wrapper.prepend(review_pill); + this.setup_detail_popover(review_pill, review_log); }); }); } + setup_detail_popover(el, data) { + el.popover({ + animation: true, + trigger: 'hover', + delay: 500, + placement: 'top', + content: () => { + return `
+ For ${frappe.user_info(data.user).fullname} +

${data.reason}

+
`; + }, + html: true, + container: 'body' + }); + return el; + } }; diff --git a/frappe/public/less/sidebar.less b/frappe/public/less/sidebar.less index 6ed1e49370..6cf1ac86a2 100644 --- a/frappe/public/less/sidebar.less +++ b/frappe/public/less/sidebar.less @@ -385,8 +385,7 @@ body[data-route^="Module"] .main-menu { border: 1px solid #d2d8dd; border-radius: 4px; display: flex; - margin-right: 5px; - margin-bottom: 10px; + margin: 0 10px 10px 0; .avatar { padding: 0px; margin: 0px; @@ -400,5 +399,6 @@ body[data-route^="Module"] .main-menu { align-self: center; font-size: @text-small; } + cursor: pointer; } } \ 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 325f3588d1..7f53188216 100644 --- a/frappe/social/doctype/energy_point_log/energy_point_log.py +++ b/frappe/social/doctype/energy_point_log/energy_point_log.py @@ -11,6 +11,7 @@ from frappe.utils import cint class EnergyPointLog(Document): def after_insert(self): + message = '' if self.type == 'Auto': message=_('You gained {} points').format(self.points) elif self.type == 'Appreciation': @@ -113,4 +114,4 @@ def get_reviews(doctype, docname): 'reference_doctype': doctype, 'reference_name': docname, 'type': ['in', ('Appreciation', 'Criticism')], - }, fields=['points', 'owner', 'type', 'user']) \ No newline at end of file + }, fields=['points', 'owner', 'type', 'user', 'reason']) \ No newline at end of file