Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[patch][fix] handle enqueuing while deleting document when redis is not connected #2988

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
4 changes: 2 additions & 2 deletions frappe/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -627,7 +627,7 @@ def get_meta_module(doctype):
return frappe.modules.load_doctype_module(doctype)

def delete_doc(doctype=None, name=None, force=0, ignore_doctypes=None, for_reload=False,
ignore_permissions=False, flags=None):
ignore_permissions=False, flags=None, trigger_feedback_on_delete=True):
"""Delete a document. Calls `frappe.model.delete_doc.delete_doc`.

:param doctype: DocType of document to be delete.
Expand All @@ -638,7 +638,7 @@ def delete_doc(doctype=None, name=None, force=0, ignore_doctypes=None, for_reloa
:param ignore_permissions: Ignore user permissions."""
import frappe.model.delete_doc
frappe.model.delete_doc.delete_doc(doctype, name, force, ignore_doctypes, for_reload,
ignore_permissions, flags)
ignore_permissions, flags, trigger_feedback_on_delete)

def delete_doc_if_exists(doctype, name, force=0):
"""Delete document if exists."""
Expand Down
2 changes: 1 addition & 1 deletion frappe/core/doctype/feedback_trigger/feedback_trigger.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ def validate_condition(self):
def trigger_feedback_request(doc, method):
""" trigger the feedback alert"""

if doc.flags.in_delete:
if doc.flags.trigger_feedback_on_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:
Expand Down
6 changes: 3 additions & 3 deletions frappe/model/delete_doc.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
from frappe.utils.global_search import delete_for_document

def delete_doc(doctype=None, name=None, force=0, ignore_doctypes=None, for_reload=False,
ignore_permissions=False, flags=None, ignore_on_trash=False):
ignore_permissions=False, flags=None, ignore_on_trash=False, trigger_feedback_on_delete=True):
"""
Deletes a doc(dt, dn) and validates if it is not submitted and not linked in a live record
"""
Expand Down Expand Up @@ -71,11 +71,11 @@ 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.flags.trigger_feedback_on_delete = trigger_feedback_on_delete
doc.run_method('on_change')

frappe.enqueue('frappe.model.delete_doc.delete_dynamic_links', doctype=doc.doctype, name=doc.name,
async=False if frappe.flags.in_test else True)
async=False if frappe.flags.in_test else True, now=frappe.flags.in_test)

# check if links exist
if not force:
Expand Down
3 changes: 2 additions & 1 deletion frappe/patches/v8_0/deprecate_integration_broker.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ def execute():
frappe.delete_doc("DocType", doctype)

if not frappe.db.get_value("DocType", {"module": "Integration Broker"}, "name"):
frappe.delete_doc("Module Def", "Integration Broker")
frappe.flags.in_test = True
frappe.delete_doc("Module Def", "Integration Broker", trigger_feedback_on_delete=False)

def setup_enabled_integrations():
if not frappe.db.exists("DocType", "Integration Service"):
Expand Down