[IMP] improve the wizard for testing email, allow to search on object and to send email for real check
This commit is contained in:
@@ -41,3 +41,41 @@ class ResPartner(models.Model):
|
|||||||
message, force_send=force_send,
|
message, force_send=force_send,
|
||||||
send_after_commit=send_after_commit,
|
send_after_commit=send_after_commit,
|
||||||
user_signature=user_signature)
|
user_signature=user_signature)
|
||||||
|
|
||||||
|
|
||||||
|
class TemplatePreview(models.TransientModel):
|
||||||
|
_inherit = "email_template.preview"
|
||||||
|
|
||||||
|
res_id = fields.Integer(compute='_compute_res_id')
|
||||||
|
object_id = fields.Reference(selection='_reference_models')
|
||||||
|
|
||||||
|
@api.model
|
||||||
|
def default_get(self, fields):
|
||||||
|
result = super(TemplatePreview, self).default_get(fields)
|
||||||
|
if result.get('model_id'):
|
||||||
|
model = self.env['ir.model'].browse(result['model_id'])
|
||||||
|
result['object_id'] = model.model
|
||||||
|
return result
|
||||||
|
|
||||||
|
def _reference_models(self):
|
||||||
|
result = self.default_get(['model_id'])
|
||||||
|
if result.get('model_id'):
|
||||||
|
model = self.env['ir.model'].browse(result['model_id'])
|
||||||
|
return [(model.model, model.name)]
|
||||||
|
else:
|
||||||
|
models = self.env['ir.model'].search([('state', '!=', 'manual')])
|
||||||
|
return [(model.model, model.name)
|
||||||
|
for model in models
|
||||||
|
if not model.model.startswith('ir.')]
|
||||||
|
|
||||||
|
@api.depends('object_id')
|
||||||
|
def _compute_res_id(self):
|
||||||
|
for record in self:
|
||||||
|
if self.object_id:
|
||||||
|
record.res_id = self.object_id.id
|
||||||
|
|
||||||
|
def send(self):
|
||||||
|
template = self.env['mail.template'].browse(
|
||||||
|
self._context['template_id'])
|
||||||
|
template.send_mail(
|
||||||
|
self.res_id, force_send=True, raise_exception=True)
|
||||||
|
|||||||
@@ -19,4 +19,23 @@
|
|||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
|
<record id="email_template_preview_form" model="ir.ui.view">
|
||||||
|
<field name="model">email_template.preview</field>
|
||||||
|
<field name="inherit_id" ref="mail.email_template_preview_form"/>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<field name="res_id" position="attributes">
|
||||||
|
<attribute name="invisible">True</attribute>
|
||||||
|
</field>
|
||||||
|
<field name="res_id" position="after">
|
||||||
|
<field name="object_id"/>
|
||||||
|
</field>
|
||||||
|
<footer position="inside">
|
||||||
|
<button
|
||||||
|
string="Send"
|
||||||
|
name="send"
|
||||||
|
class="btn-primary"
|
||||||
|
type='object'/>
|
||||||
|
</footer>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
</odoo>
|
</odoo>
|
||||||
|
|||||||
Reference in New Issue
Block a user