feat: added email template customization option for welcome and password reset emails
This commit is contained in:
parent
c5e62cac26
commit
76d7e6e379
2 changed files with 32 additions and 5 deletions
|
|
@ -72,6 +72,8 @@
|
|||
"disable_standard_email_footer",
|
||||
"hide_footer_in_auto_email_reports",
|
||||
"attach_view_link",
|
||||
"welcome_email_template",
|
||||
"reset_password_template",
|
||||
"prepared_report_section",
|
||||
"max_auto_email_report_per_user",
|
||||
"system_updates_section",
|
||||
|
|
@ -549,12 +551,24 @@
|
|||
"fieldname": "enable_telemetry",
|
||||
"fieldtype": "Check",
|
||||
"label": "Allow Sending Usage Data for Improving Applications"
|
||||
},
|
||||
{
|
||||
"fieldname": "welcome_email_template",
|
||||
"fieldtype": "Link",
|
||||
"label": "Welcome Email Template",
|
||||
"options": "Email Template"
|
||||
},
|
||||
{
|
||||
"fieldname": "reset_password_template",
|
||||
"fieldtype": "Link",
|
||||
"label": "Reset Password Template",
|
||||
"options": "Email Template"
|
||||
}
|
||||
],
|
||||
"icon": "fa fa-cog",
|
||||
"issingle": 1,
|
||||
"links": [],
|
||||
"modified": "2023-04-23 11:14:59.302851",
|
||||
"modified": "2023-05-25 13:02:54.808773",
|
||||
"modified_by": "Administrator",
|
||||
"module": "Core",
|
||||
"name": "System Settings",
|
||||
|
|
|
|||
|
|
@ -325,7 +325,10 @@ class User(Document):
|
|||
return (self.first_name or "") + (self.first_name and " " or "") + (self.last_name or "")
|
||||
|
||||
def password_reset_mail(self, link):
|
||||
self.send_login_mail(_("Password Reset"), "password_reset", {"link": link}, now=True)
|
||||
|
||||
reset_password_template = frappe.db.get_system_setting("reset_password_template")
|
||||
|
||||
self.send_login_mail(_("Password Reset"), "password_reset", {"link": link}, now=True, custom_template=reset_password_template)
|
||||
|
||||
def send_welcome_mail_to_user(self):
|
||||
from frappe.utils import get_url
|
||||
|
|
@ -342,16 +345,19 @@ class User(Document):
|
|||
else:
|
||||
subject = _("Complete Registration")
|
||||
|
||||
welcome_email_template = frappe.db.get_system_setting("welcome_email_template")
|
||||
|
||||
self.send_login_mail(
|
||||
subject,
|
||||
"new_user",
|
||||
dict(
|
||||
dict(
|
||||
link=link,
|
||||
site_url=get_url(),
|
||||
),
|
||||
custom_template=welcome_email_template,
|
||||
)
|
||||
|
||||
def send_login_mail(self, subject, template, add_args, now=None):
|
||||
def send_login_mail(self, subject, template, add_args, now=None, custom_template=None):
|
||||
"""send mail with login details"""
|
||||
from frappe.utils import get_url
|
||||
from frappe.utils.user import get_user_fullname
|
||||
|
|
@ -374,11 +380,18 @@ class User(Document):
|
|||
frappe.session.user not in STANDARD_USERS and get_formatted_email(frappe.session.user) or None
|
||||
)
|
||||
|
||||
if custom_template:
|
||||
from frappe.email.doctype.email_template.email_template import get_email_template
|
||||
email_template = get_email_template(custom_template, args)
|
||||
subject = email_template.get("subject")
|
||||
content = email_template.get("message")
|
||||
|
||||
frappe.sendmail(
|
||||
recipients=self.email,
|
||||
sender=sender,
|
||||
subject=subject,
|
||||
template=template,
|
||||
template=template if not custom_template else None,
|
||||
content=content if custom_template else None,
|
||||
args=args,
|
||||
header=[subject, "green"],
|
||||
delayed=(not now) if now is not None else self.flags.delay_emails,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue