33 lines
1.1 KiB
Python
33 lines
1.1 KiB
Python
from odoo import http
|
|
from odoo.http import request
|
|
|
|
class User(http.Controller):
|
|
@http.route("/openems_backend/sendRegistrationEmail", type="json", auth="user")
|
|
def index(self, userId, password=None, oem: str = ''):
|
|
user_model = request.env["res.users"]
|
|
user_record = user_model.search_read([("id", "=", userId)], ["partner_id"])
|
|
if len(user_record) != 1:
|
|
raise ValueError("User not found for id [" + userId + "]")
|
|
|
|
partner = user_record[0]
|
|
partner_id = partner.get("partner_id")
|
|
if partner_id is None:
|
|
raise ValueError("User has no partner")
|
|
|
|
if password is None:
|
|
password = "*****"
|
|
# load template
|
|
template = self.getTemplate(oem)
|
|
# set mail values
|
|
email_values = {
|
|
'password': password
|
|
}
|
|
# send mail
|
|
template.with_context(email_values).send_mail(
|
|
res_id=partner_id[0], force_send=True)
|
|
return {}
|
|
|
|
def getTemplate(self, oem: str):
|
|
template = request.env.ref("openems.registration_email")
|
|
return template
|