* Avoid computing logic in get_values, use a clean compute instead * Leave the management of config parameters to the generic behavior in base, no need to override set_values to do it "manually". Furthermore, in the mail case, the set_values override enforced the creation of a falsy parameter, which goes against the generic parameter logic to avoid having falsy values for nothing in database. Part-of: odoo/odoo#62249
44 lines
1.7 KiB
Python
44 lines
1.7 KiB
Python
# -*- coding: utf-8 -*-
|
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
|
|
import datetime
|
|
|
|
from odoo import api, fields, models, tools
|
|
|
|
|
|
class ResConfigSettings(models.TransientModel):
|
|
""" Inherit the base settings to add a counter of failed email + configure
|
|
the alias domain. """
|
|
_inherit = 'res.config.settings'
|
|
|
|
fail_counter = fields.Integer('Fail Mail', compute="_compute_fail_counter")
|
|
alias_domain = fields.Char(
|
|
'Alias Domain', config_parameter='mail.catchall.domain',
|
|
help="If you have setup a catch-all email domain redirected to the Odoo server, enter the domain name here.")
|
|
restrict_template_rendering = fields.Boolean(
|
|
'Restrict Template Rendering',
|
|
config_parameter='mail.restrict.template.rendering',
|
|
help='Users will still be able to render templates.\n'
|
|
'However only Mail Template Editors will be able to create new dynamic templates or modify existing ones.')
|
|
use_twilio_rtc_servers = fields.Boolean(
|
|
'Use Twilio ICE servers',
|
|
help="If you want to use twilio as TURN/STUN server provider",
|
|
config_parameter='mail.use_twilio_rtc_servers',
|
|
)
|
|
twilio_account_sid = fields.Char(
|
|
'Twilio Account SID',
|
|
config_parameter='mail.twilio_account_sid',
|
|
)
|
|
twilio_account_token = fields.Char(
|
|
'Twilio Account Auth Token',
|
|
config_parameter='mail.twilio_account_token',
|
|
)
|
|
|
|
def _compute_fail_counter(self):
|
|
previous_date = fields.Datetime.now() - datetime.timedelta(days=30)
|
|
|
|
self.fail_counter = self.env['mail.mail'].sudo().search_count([
|
|
('date', '>=', previous_date),
|
|
('state', '=', 'exception'),
|
|
])
|