refactor: convert get email count query to ORM

- also fix capitalization of column names on postgres
This commit is contained in:
Ankush Menat 2022-08-16 10:22:01 +05:30 committed by Ankush Menat
parent 4391f8d0f1
commit b7a7f97a7a
2 changed files with 11 additions and 21 deletions

View file

@ -3,9 +3,8 @@
import frappe
from frappe import _, msgprint
from frappe.query_builder import DocType, Interval
from frappe.query_builder.functions import Now
from frappe.utils import cint, get_url, now_datetime
from frappe.utils.data import getdate
from frappe.utils.verified_command import get_signed_params, verify_request
@ -16,26 +15,17 @@ def get_emails_sent_this_month(email_account=None):
if email_account=None, email account filter is not applied while counting
"""
q = """
SELECT
COUNT(*)
FROM
`tabEmail Queue`
WHERE
`status`='Sent'
AND
EXTRACT(YEAR_MONTH FROM `creation`) = EXTRACT(YEAR_MONTH FROM NOW())
"""
today = getdate()
month_start = today.replace(day=1)
q_args = {}
if email_account is not None:
if email_account:
q += " AND email_account = %(email_account)s"
q_args["email_account"] = email_account
else:
q += " AND (email_account is null OR email_account='')"
filters = {
"status": "Sent",
"creation": [">=", str(month_start)],
}
if email_account:
filters["email_account"] = email_account
return frappe.db.sql(q, q_args)[0][0]
return frappe.db.count("Email Queue", filters=filters)
def get_emails_sent_today(email_account=None):

View file

@ -748,7 +748,7 @@ def get_site_info():
kwargs = {
"fields": ["user", "creation", "full_name"],
"filters": {"Operation": "Login", "Status": "Success"},
"filters": {"operation": "Login", "status": "Success"},
"limit": "10",
}