diff --git a/addons/hr_expense/models/hr_expense.py b/addons/hr_expense/models/hr_expense.py index 858c8da8348..bc34395bf75 100644 --- a/addons/hr_expense/models/hr_expense.py +++ b/addons/hr_expense/models/hr_expense.py @@ -309,7 +309,8 @@ class HrExpense(models.Model): @api.model def get_empty_list_help(self, help_message): if help_message: - alias_record = self.env.ref('hr_expense.mail_alias_expense') + use_mailgateway = self.env['ir.config_parameter'].sudo().get_param('hr_expense.use_mailgateway') + alias_record = use_mailgateway and self.env.ref('hr_expense.mail_alias_expense') or False if alias_record and alias_record.alias_domain and alias_record.alias_name: link = "%(email)s" % { 'email': '%s@%s' % (alias_record.alias_name, alias_record.alias_domain) diff --git a/addons/hr_expense/models/res_config.py b/addons/hr_expense/models/res_config.py index dad3deec031..21da58f7acc 100644 --- a/addons/hr_expense/models/res_config.py +++ b/addons/hr_expense/models/res_config.py @@ -2,26 +2,36 @@ from odoo import api, fields, models + class HrExpenseConfigSettings(models.TransientModel): _name = 'hr.expense.config.settings' _inherit = 'res.config.settings' alias_prefix = fields.Char('Default Alias Name for Expenses') alias_domain = fields.Char('Alias Domain', default=lambda self: self.env["ir.config_parameter"].sudo().get_param("mail.catchall.domain")) - group_analytic_accounting = fields.Boolean(string='Analytic Accounting', + group_analytic_accounting = fields.Boolean( + string='Analytic Accounting', implied_group='analytic.group_analytic_accounting') - group_uom = fields.Boolean("Units of Measure", + group_uom = fields.Boolean( + string="Units of Measure", implied_group='product.group_uom') - default_alias_email = fields.Boolean(string='Let your employees record expenses by email', default_model='hr.expense.config.settings') + use_mailgateway = fields.Boolean(string='Let your employees record expenses by email') module_project = fields.Boolean(string="Project") module_sale = fields.Boolean(string="Customer Billing") @api.model - def get_default_alias_prefix(self, fields): - alias_name = self.env.ref('hr_expense.mail_alias_expense').alias_name - return {'alias_prefix': alias_name} + def get_default_fields(self, fields): + return dict( + alias_prefix=self.env.ref('hr_expense.mail_alias_expense').alias_name, + use_mailgateway=self.env['ir.config_parameter'].sudo().get_param('hr_expense.use_mailgateway'), + ) @api.multi - def set_default_alias_prefix(self): - for record in self: - self.env.ref('hr_expense.mail_alias_expense').write({'alias_name': record.alias_prefix}) + def set_fields(self): + self.env.ref('hr_expense.mail_alias_expense').write({'alias_name': self.alias_prefix}) + self.env['ir.config_parameter'].sudo().set_param('hr_expense.use_mailgateway', self.use_mailgateway) + + @api.onchange('use_mailgateway') + def _onchange_use_mailgateway(self): + if not self.use_mailgateway: + self.alias_prefix = False diff --git a/addons/hr_expense/views/res_config_views.xml b/addons/hr_expense/views/res_config_views.xml index bb550bd7caf..19078d6071c 100644 --- a/addons/hr_expense/views/res_config_views.xml +++ b/addons/hr_expense/views/res_config_views.xml @@ -16,14 +16,14 @@
- +
-