Salve a tutti e buona PasquaVi scrivo perché vorrei provare a capire come mandare una email personalizzata tramite codice python e impostando un template nuovo usando direttamente il linguaggio XML.
nel mio modulo custom chiamato anagraf_prodotto, creo una cartella data e inserisco il file email_template.xml in cui scrivo ciò:
<?xml version="1.0" ?>
<odoo>
<data noupdate="1">
<record id="email_template" model="mail.template">
<field name="name">Alert_Template</field>
<field name="model_id" ref="model_x_account_alert"/>
<field name="auto_delete" eval="True"/>
<!--<field name="email_from">${(object.res_user_id.email}</field>-->
<field name="email_from">davideodoo@gmail.com</field>
<field name="email_to">davideodoo@gmail.com</field>
<field name="subject">PROVA ALERT</field>
<field name="body_html"><![CDATA[
<p>Caro Davide,<br/><br/>
Spero che questa email sia mandata<br/>
]]></field>
</record>
</data>
</odoo>
aggiorno anche il file __manifest__.py in cui inserisco la riga di codice 'data/email_template.py'
Poi nella cartella models, inserisco un nuovo file x_account_alert.py (il nome lo scrivo anche nel file __init__.py) e scrivo il seguente codice:
from odoo import models, fields, api
class x_Alert(models.Model):
_name="account.x_alert"
prova=fields.Integer("ciao")
@api.model
def x_sendmessage(self):
print("STO MANDANDO L'EMAIL")
template=self.env.ref('anagraf_prodotto.email_template')
template_id= self.env.ref('anagraf_prodotto.email_template').id
print("il template è ", template, " mentre il tempalte ID è ",template_id, "mentr eil no me è ", template.name)
#fin qui tutto ok, leggo anche i vari print sul server
template.send_email(self.id,force_send=True)
il template esce nella sezione dei template, tuttavia quando provo a mandare l'email esce questo errore
Mi esce il seguente errore: ValueError: <class 'AttributeError'>: "'mail.template' object has no attribute 'send_email'" while evaluating
Cosa mi consigliate? Buona PAsqua