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
This commit is contained in:
Ankush Menat 2023-03-16 20:07:43 +05:30 committed by GitHub
parent 4f2db72922
commit f2f7d43811
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -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())