From f2f7d43811d3c90176594790b425cefdf8a429fd Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Thu, 16 Mar 2023 20:07:43 +0530 Subject: [PATCH] fix: tolerant newsletter view logging (#20369) * fix: tolerant newsletter view logging * Revert "fix: tolerant newsletter view logging" This reverts commit 5a8567a9405f336c3dc8a481c27af70860334b2b. * fix: use raw query for updating count --- frappe/email/doctype/newsletter/newsletter.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/frappe/email/doctype/newsletter/newsletter.py b/frappe/email/doctype/newsletter/newsletter.py index b5f07aa59c..43f767133c 100644 --- a/frappe/email/doctype/newsletter/newsletter.py +++ b/frappe/email/doctype/newsletter/newsletter.py @@ -377,14 +377,17 @@ def send_scheduled_email(): def newsletter_email_read(recipient_email, reference_doctype, reference_name): verify_request() try: - doc = frappe.get_doc(reference_doctype, reference_name) + doc = frappe.get_cached_doc("Newsletter", reference_name) if doc.add_viewed(recipient_email, force=True, unique_views=True): - doc.db_set("total_views", frappe.utils.cint(doc.total_views) + 1, update_modified=False) + newsletter = frappe.qb.DocType("Newsletter") + ( + frappe.qb.update(newsletter) + .set(newsletter.total_views, newsletter.total_views + 1) + .where(newsletter.name == doc.name) + ).run() except Exception: - frappe.log_error( - f"Unable to mark as viewed for {recipient_email}", None, reference_doctype, reference_name - ) + doc.log_error(f"Unable to mark as viewed for {recipient_email}") finally: frappe.response.update(frappe.utils.get_imaginary_pixel_response())