fix: contact us email reply
This commit is contained in:
parent
1c3cb63f79
commit
67de2a34ac
2 changed files with 11 additions and 37 deletions
|
|
@ -28,11 +28,8 @@ frappe.ready(function() {
|
|||
sender: email,
|
||||
message: message,
|
||||
callback: function(r) {
|
||||
if(r.message==="okay") {
|
||||
if (!r.exc) {
|
||||
frappe.msgprint('{{ _("Thank you for your message") }}');
|
||||
} else {
|
||||
frappe.msgprint('{{ _("There were errors") }}');
|
||||
console.log(r.exc);
|
||||
}
|
||||
$(':input').val('');
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
import frappe
|
||||
from frappe import _
|
||||
from frappe.utils import now
|
||||
from frappe.rate_limiter import rate_limit
|
||||
|
||||
sitemap = 1
|
||||
|
||||
|
|
@ -22,38 +22,17 @@ def get_context(context):
|
|||
return out
|
||||
|
||||
|
||||
max_communications_per_hour = 1000
|
||||
|
||||
|
||||
@frappe.whitelist(allow_guest=True)
|
||||
def send_message(subject="Website Query", message="", sender=""):
|
||||
if not message:
|
||||
frappe.response["message"] = "Please write something"
|
||||
return
|
||||
@rate_limit(limit=1000, seconds=60 * 60, methods=["POST"])
|
||||
def send_message(sender, message, subject="Website Query"):
|
||||
if forward_to_email := frappe.db.get_single_value("Contact Us Settings", "forward_to_email"):
|
||||
frappe.sendmail(recipients=forward_to_email, reply_to=sender, content=message, subject=subject)
|
||||
|
||||
if not sender:
|
||||
frappe.response["message"] = "Email Address Required"
|
||||
return
|
||||
|
||||
# guest method, cap max writes per hour
|
||||
if (
|
||||
frappe.db.sql(
|
||||
"""select count(*) from `tabCommunication`
|
||||
where `sent_or_received`="Received"
|
||||
and TIMEDIFF(%s, modified) < '01:00:00'""",
|
||||
now(),
|
||||
)[0][0]
|
||||
> max_communications_per_hour
|
||||
):
|
||||
frappe.response[
|
||||
"message"
|
||||
] = "Sorry: we believe we have received an unreasonably high number of requests of this kind. Please try later"
|
||||
return
|
||||
|
||||
# send email
|
||||
forward_to_email = frappe.db.get_single_value("Contact Us Settings", "forward_to_email")
|
||||
if forward_to_email:
|
||||
frappe.sendmail(recipients=forward_to_email, sender=sender, content=message, subject=subject)
|
||||
frappe.sendmail(
|
||||
recipients=sender,
|
||||
content="Thank you for reaching out to us. We will get back to you at the earliest.",
|
||||
subject="We've received your query!",
|
||||
)
|
||||
|
||||
# add to to-do ?
|
||||
frappe.get_doc(
|
||||
|
|
@ -66,5 +45,3 @@ def send_message(subject="Website Query", message="", sender=""):
|
|||
status="Open",
|
||||
)
|
||||
).insert(ignore_permissions=True)
|
||||
|
||||
return "okay"
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue