From ebadc3f0732d41bcb25fc8f7edfcb54e34d53f81 Mon Sep 17 00:00:00 2001 From: mbauskar Date: Mon, 20 Feb 2017 11:18:25 +0530 Subject: [PATCH] [minor] minor fixes, feedback request url template --- .../feedback_request/feedback_request.py | 2 +- .../feedback_trigger/feedback_trigger.json | 62 +++++++++++++++++- .../feedback_trigger/feedback_trigger.py | 20 +++--- frappe/public/images/star.png | Bin 0 -> 462 bytes .../frappe/form/templates/form_sidebar.html | 2 +- .../emails/feedback_request_url.html | 25 +++++++ frappe/www/feedback.html | 24 +++++-- frappe/www/feedback.py | 51 +++++++------- 8 files changed, 146 insertions(+), 40 deletions(-) create mode 100644 frappe/public/images/star.png create mode 100644 frappe/templates/emails/feedback_request_url.html diff --git a/frappe/core/doctype/feedback_request/feedback_request.py b/frappe/core/doctype/feedback_request/feedback_request.py index dd590a97ea..6dcf84caae 100644 --- a/frappe/core/doctype/feedback_request/feedback_request.py +++ b/frappe/core/doctype/feedback_request/feedback_request.py @@ -27,7 +27,7 @@ def is_valid_feedback_request(key=None): if not key: return False - is_feedback_submitted = frappe.db.get_value("Feedback Request", {"key": key}, "is_feedback_submitted") + is_feedback_submitted = frappe.db.get_value("Feedback Request", { "key": key }, "is_feedback_submitted") if is_feedback_submitted: return False else: diff --git a/frappe/core/doctype/feedback_trigger/feedback_trigger.json b/frappe/core/doctype/feedback_trigger/feedback_trigger.json index ef9075844c..ca6a81e359 100644 --- a/frappe/core/doctype/feedback_trigger/feedback_trigger.json +++ b/frappe/core/doctype/feedback_trigger/feedback_trigger.json @@ -22,6 +22,8 @@ "hidden": 0, "ignore_user_permissions": 0, "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, "in_list_view": 0, "in_standard_filter": 0, "label": "Enabled", @@ -49,6 +51,8 @@ "hidden": 0, "ignore_user_permissions": 0, "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, "in_list_view": 0, "in_standard_filter": 0, "length": 0, @@ -75,6 +79,8 @@ "hidden": 0, "ignore_user_permissions": 0, "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, "in_list_view": 0, "in_standard_filter": 0, "label": "Document Type", @@ -104,6 +110,8 @@ "hidden": 0, "ignore_user_permissions": 0, "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, "in_list_view": 0, "in_standard_filter": 0, "label": "Email Field", @@ -131,6 +139,8 @@ "hidden": 0, "ignore_user_permissions": 0, "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, "in_list_view": 0, "in_standard_filter": 0, "label": "Email Fieldname", @@ -158,6 +168,8 @@ "hidden": 0, "ignore_user_permissions": 0, "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, "in_list_view": 0, "in_standard_filter": 0, "length": 0, @@ -185,6 +197,8 @@ "hidden": 0, "ignore_user_permissions": 0, "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, "in_list_view": 0, "in_standard_filter": 0, "label": "Subject", @@ -212,6 +226,8 @@ "hidden": 0, "ignore_user_permissions": 0, "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, "in_list_view": 0, "in_standard_filter": 0, "length": 0, @@ -228,6 +244,37 @@ "set_only_once": 0, "unique": 0 }, + { + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "default": "1", + "description": "Send Feedback Request only if there is at least one communication is available for the document.", + "fieldname": "check_communication", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Check Communication", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "unique": 0 + }, { "allow_on_submit": 0, "bold": 0, @@ -239,6 +286,8 @@ "hidden": 0, "ignore_user_permissions": 0, "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, "in_list_view": 0, "in_standard_filter": 0, "label": "Condition", @@ -266,6 +315,8 @@ "hidden": 0, "ignore_user_permissions": 0, "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, "in_list_view": 0, "in_standard_filter": 0, "length": 0, @@ -292,6 +343,8 @@ "hidden": 0, "ignore_user_permissions": 0, "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, "in_list_view": 0, "in_standard_filter": 0, "length": 0, @@ -319,6 +372,8 @@ "hidden": 0, "ignore_user_permissions": 0, "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, "in_list_view": 0, "in_standard_filter": 0, "label": "Message", @@ -346,6 +401,8 @@ "hidden": 0, "ignore_user_permissions": 0, "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, "in_list_view": 0, "in_standard_filter": 0, "label": "Message", @@ -373,6 +430,8 @@ "hidden": 0, "ignore_user_permissions": 0, "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, "in_list_view": 0, "in_standard_filter": 0, "label": "Example", @@ -402,7 +461,7 @@ "issingle": 0, "istable": 0, "max_attachments": 0, - "modified": "2017-02-10 11:25:41.643832", + "modified": "2017-02-17 05:19:08.819230", "modified_by": "Administrator", "module": "Core", "name": "Feedback Trigger", @@ -433,6 +492,7 @@ "quick_entry": 0, "read_only": 0, "read_only_onload": 0, + "show_name_in_global_search": 0, "sort_field": "modified", "sort_order": "DESC", "title_field": "document_type", diff --git a/frappe/core/doctype/feedback_trigger/feedback_trigger.py b/frappe/core/doctype/feedback_trigger/feedback_trigger.py index fd8cbb87ec..55ed2f801b 100644 --- a/frappe/core/doctype/feedback_trigger/feedback_trigger.py +++ b/frappe/core/doctype/feedback_trigger/feedback_trigger.py @@ -36,7 +36,7 @@ def send_feedback_request(reference_doctype, reference_name, trigger=None, detai feedback_request, url = get_feedback_request_url(reference_doctype, reference_name, details.get("recipients"), trigger) - feedback_url = "Please click here to submit your feedback.".format(url=url) + feedback_url = frappe.render_template("templates/emails/feedback_request_url.html", { "url": url }) # appending feedback url to message body details.update({ "message": "{message}
{feedback_url}".format( @@ -80,13 +80,17 @@ def get_feedback_request_details(reference_doctype, reference_name, trigger=None context = get_context(doc) recipients = doc.get(feedback_trigger.email_fieldname, None) - communications = frappe.get_all("Communication", filters={ - "reference_doctype": reference_doctype, - "reference_name": reference_name, - "communication_type": "Communication" - }, fields=["name"]) + if feedback_trigger.check_communication: + communications = frappe.get_all("Communication", filters={ + "reference_doctype": reference_doctype, + "reference_name": reference_name, + "communication_type": "Communication" + }, fields=["name"]) + + if len(communications) < 1: + frappe.throw(_("No communication found for the document")) - if recipients and eval(feedback_trigger.condition, context) and len(communications) >= 1: + if recipients and eval(feedback_trigger.condition, context): subject = feedback_trigger.subject context.update({ "feedback_trigger": feedback_trigger }) @@ -118,7 +122,7 @@ def get_feedback_request_url(reference_doctype, reference_name, recipients, trig doctype=reference_doctype, docname=reference_name, email_id=recipients, - nonce=feedback_request.name + nonce=feedback_request.key ) return [ feedback_request.name, feedback_url ] diff --git a/frappe/public/images/star.png b/frappe/public/images/star.png new file mode 100644 index 0000000000000000000000000000000000000000..3f2c6a53659fd052dd9b8153195f4207bf266942 GIT binary patch literal 462 zcmV;<0WtoGP)u;U6bA4x1CF`YWe$nlpU}C^MKXs(f}EqS5=mWU=Q>9nGLpHrYPi%TQ*WZTLCZ^d zQ;W>K`yJ%_E^z>W5tca_@7|+K-cg1aJMFS;XK1rPS!y%$eNk!3EJ;+`xyu-lq=;vb zN)p5$kTE|ZkmF(p(#TO!ZH3?ENFc{VRrNu}CQ&^?Ism}T;VpZ4eQ$?_Gv;tSeqC(& zJeVR?_a2@XtHsl_>!Ygj*@RZ%;hM~swZi^d)yw&xRW1stddT1$l`I6OYJn)_^|7MK zXjzJ2REyRP7Lqkq=k5*Y#h;Z|MVSOq$Ml=l}o!07*qoM6N<$ Ef)xbLDF6Tf literal 0 HcmV?d00001 diff --git a/frappe/public/js/frappe/form/templates/form_sidebar.html b/frappe/public/js/frappe/form/templates/form_sidebar.html index b546bba820..08c297af8a 100644 --- a/frappe/public/js/frappe/form/templates/form_sidebar.html +++ b/frappe/public/js/frappe/form/templates/form_sidebar.html @@ -16,7 +16,7 @@
  • - {%= __("Feedback Rating") %} + {%= __("Feedback") %}
  • diff --git a/frappe/templates/emails/feedback_request_url.html b/frappe/templates/emails/feedback_request_url.html new file mode 100644 index 0000000000..87988171e1 --- /dev/null +++ b/frappe/templates/emails/feedback_request_url.html @@ -0,0 +1,25 @@ + + +
    + Please take a few minute to leave a feedback - we would really appreciate it!
    + Rating (select a star) + +
    + + \ No newline at end of file diff --git a/frappe/www/feedback.html b/frappe/www/feedback.html index e96a33a8d4..01a37dbd63 100644 --- a/frappe/www/feedback.html +++ b/frappe/www/feedback.html @@ -49,22 +49,31 @@ this.key = get_url_arg("key"); this.reference_name = get_url_arg("reference_name"); this.reference_doctype = get_url_arg("reference_doctype"); - this.sender = get_url_arg("email") + this.sender = get_url_arg("email"); + this.rating = get_url_arg("rating") || 0; - me.bind_events(); + // set ratings + console.log(this.rating) + this.set_ratings_icon(this.rating) + + this.bind_events(); $("#feedback-msg").empty().html(__("Please share your feedback for {0}", [me.reference_name])); }, + set_ratings_icon: function(idx) { + $('.star-icon.fa-star').removeClass('fa-star').addClass('fa-star-o'); + for(var i=0; i