* fetchmail, google_gmail, fetchmail_gmail Purpose ======= Improve the usability of the outlook modules. Specifications ============== Remove the checkbox "Use Outlook" and instead use the smtp_authentication and the server_type, to be consistent with Gmail. Hide the password field for Outlook / Gmail mail servers. Add constraints on the outgoing mail server to force the user to use the right configuration (e.g. the from_filter, so the sending does not fail). Add an option in the mail module to install Outlook. Show a message for the outgoing mail servers to explain each authentication methods. Task-2811567 Part-of: odoo/odoo#88215
46 lines
1.8 KiB
Python
46 lines
1.8 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.")
|
|
module_google_gmail = fields.Boolean('Support Gmail Authentication')
|
|
module_microsoft_outlook = fields.Boolean('Support Outlook Authentication')
|
|
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'),
|
|
])
|