[minor] delete feedback and open feedback request if document is deleted
This commit is contained in:
parent
82d01c1b83
commit
e5f296b78d
5 changed files with 60 additions and 29 deletions
|
|
@ -39,7 +39,7 @@ def send_feedback_request(reference_doctype, reference_name, trigger=None, detai
|
|||
feedback_url = frappe.render_template("templates/emails/feedback_request_url.html", { "url": url })
|
||||
|
||||
# appending feedback url to message body
|
||||
details.update({ "message": "{message}<br>{feedback_url}".format(
|
||||
details.update({ "message": "{message}{feedback_url}".format(
|
||||
message=details.get("message"),
|
||||
feedback_url=feedback_url)
|
||||
})
|
||||
|
|
@ -51,10 +51,14 @@ def send_feedback_request(reference_doctype, reference_name, trigger=None, detai
|
|||
def trigger_feedback_request(doc, method):
|
||||
""" trigger the feedback alert"""
|
||||
|
||||
feedback_trigger = frappe.db.get_value("Feedback Trigger", { "enabled": 1, "document_type": doc.doctype })
|
||||
if feedback_trigger:
|
||||
frappe.enqueue('frappe.core.doctype.feedback_trigger.feedback_trigger.send_feedback_request',
|
||||
trigger=feedback_trigger, reference_doctype=doc.doctype, reference_name=doc.name, now=frappe.flags.in_test)
|
||||
if doc.flags.in_delete:
|
||||
frappe.enqueue('frappe.core.doctype.feedback_trigger.feedback_trigger.delete_feedback_request_and_feedback',
|
||||
reference_doctype=doc.doctype, reference_name=doc.name, now=frappe.flags.in_test)
|
||||
else:
|
||||
feedback_trigger = frappe.db.get_value("Feedback Trigger", { "enabled": 1, "document_type": doc.doctype })
|
||||
if feedback_trigger:
|
||||
frappe.enqueue('frappe.core.doctype.feedback_trigger.feedback_trigger.send_feedback_request',
|
||||
trigger=feedback_trigger, reference_doctype=doc.doctype, reference_name=doc.name, now=frappe.flags.in_test)
|
||||
|
||||
@frappe.whitelist()
|
||||
def get_feedback_request_details(reference_doctype, reference_name, trigger=None, request=None):
|
||||
|
|
@ -149,3 +153,26 @@ def get_enabled_feedback_trigger():
|
|||
|
||||
def get_context(doc):
|
||||
return { "doc": doc }
|
||||
|
||||
def delete_feedback_request_and_feedback(reference_doctype, reference_name):
|
||||
""" delete all the feedback request and feedback communication """
|
||||
if not all([reference_doctype, reference_name]):
|
||||
return
|
||||
|
||||
feedback_requests = frappe.get_all("Feedback Request", filters={
|
||||
"is_feedback_submitted": 0,
|
||||
"reference_doctype": reference_doctype,
|
||||
"reference_name": reference_name
|
||||
})
|
||||
|
||||
communications = frappe.get_all("Communication", {
|
||||
"communication_type": "Feedback",
|
||||
"reference_doctype": reference_doctype,
|
||||
"reference_name": reference_name
|
||||
})
|
||||
|
||||
for request in feedback_requests:
|
||||
frappe.delete_doc("Feedback Request", request.get("name"), ignore_permissions=True)
|
||||
|
||||
for communication in communications:
|
||||
frappe.delete_doc("Communication", communication.get("name"), ignore_permissions=True)
|
||||
|
|
@ -111,3 +111,19 @@ class TestFeedbackTrigger(unittest.TestCase):
|
|||
reference_doctype="ToDo", reference_name=todo.name, feedback="Thank You !!", rating=4)
|
||||
|
||||
frappe.delete_doc("ToDo", todo.name)
|
||||
|
||||
# test if feedback requests and feedback communications are deleted?
|
||||
communications = frappe.get_all("Communication", {
|
||||
"reference_doctype": "ToDo",
|
||||
"reference_name": todo.name,
|
||||
"communication_type": "Feedback"
|
||||
})
|
||||
self.assertFalse(communications)
|
||||
|
||||
feedback_requests = frappe.get_all("Feedback Request", {
|
||||
"reference_doctype": "ToDo",
|
||||
"reference_name": todo.name,
|
||||
"is_feedback_submitted": 0
|
||||
})
|
||||
self.assertFalse(feedback_requests)
|
||||
|
||||
|
|
@ -71,6 +71,7 @@ def delete_doc(doctype=None, name=None, force=0, ignore_doctypes=None, for_reloa
|
|||
|
||||
if not ignore_on_trash:
|
||||
doc.run_method("on_trash")
|
||||
doc.flags.in_delete = True
|
||||
doc.run_method('on_change')
|
||||
|
||||
frappe.enqueue('frappe.model.delete_doc.delete_dynamic_links', doctype=doc.doctype, name=doc.name,
|
||||
|
|
|
|||
Binary file not shown.
|
Before Width: | Height: | Size: 462 B |
|
|
@ -1,25 +1,12 @@
|
|||
<html>
|
||||
<body>
|
||||
<div align="center">
|
||||
Please take a few minute to leave a feedback - we would really appreciate it!<br>
|
||||
Rating (select a star)
|
||||
<div class="user-ratings">
|
||||
<a class="rating" style="text-decoration: none; color: black" href="{{url}}&rating=1">
|
||||
<img src="/assets/frappe/images/star.png">
|
||||
</a>
|
||||
<a class="rating" style="text-decoration: none; color: black" href="{{url}}&rating=2">
|
||||
<img src="/assets/frappe/images/star.png">
|
||||
</a>
|
||||
<a class="rating" style="text-decoration: none; color: black" href="{{url}}&rating=3">
|
||||
<img src="/assets/frappe/images/star.png">
|
||||
</a>
|
||||
<a class="rating" style="text-decoration: none; color: black" href="{{url}}&rating=4">
|
||||
<img src="/assets/frappe/images/star.png">
|
||||
</a>
|
||||
<a class="rating" style="text-decoration: none; color: black" href="{{url}}&rating=5">
|
||||
<img src="/assets/frappe/images/star.png">
|
||||
</a>
|
||||
</div>
|
||||
<div align="center">
|
||||
<p>Please take a few minute to leave a feedback - we would really appreciate it!<br>
|
||||
Rating (select a star)</p>
|
||||
|
||||
<div class="user-ratings">
|
||||
<a class="rating" style="text-decoration: none; color: black" href="{{url}}&rating=1">★</a>
|
||||
<a class="rating" style="text-decoration: none; color: black" href="{{url}}&rating=2">★</a>
|
||||
<a class="rating" style="text-decoration: none; color: black" href="{{url}}&rating=3">★</a>
|
||||
<a class="rating" style="text-decoration: none; color: black" href="{{url}}&rating=4">★</a>
|
||||
<a class="rating" style="text-decoration: none; color: black" href="{{url}}&rating=5">★</a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue