From c68ddce1b936a23da8abef0ece6e81d1daab5c46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Fri, 22 Oct 2021 16:48:00 +0200 Subject: [PATCH] [IMP] various: update alias management in views PURPOSE Allow alias domains to be multiple, notably to be used in a multi company environment where each company has its own alias domain. SPECIFICATIONS Update fields used in form views. Use 'alias_domain_id' instead of domain that is now simply a related on 'alias_domain_id.name'. To ease UI we add a placeholder on this field as it is now writable e.g. in multi domains environment. Avoid unwanted configuration change by making it generally no_open / no_create_edit. In project, remove an unnecessary field adding complexity for few real use case now that aliases are more open to configuration. Task-36879 (Mail: Support Multi Domains Aliases) Part-of: odoo/odoo#76734 --- .../views/account_journal_dashboard_view.xml | 4 +-- .../account/views/account_journal_views.xml | 17 +++++++++---- addons/crm/views/crm_team_views.xml | 19 ++++++-------- addons/hr_recruitment/views/hr_job_views.xml | 25 +++++++++++-------- addons/mail_group/views/mail_group_views.xml | 19 +++++++------- .../maintenance/views/maintenance_views.xml | 6 +++-- addons/project/data/digest_data.xml | 2 +- addons/project/models/project_project.py | 10 -------- .../project/views/project_project_views.xml | 18 ++++++------- 9 files changed, 60 insertions(+), 60 deletions(-) diff --git a/addons/account/views/account_journal_dashboard_view.xml b/addons/account/views/account_journal_dashboard_view.xml index 96111a366f9..75a31af4c4a 100644 --- a/addons/account/views/account_journal_dashboard_view.xml +++ b/addons/account/views/account_journal_dashboard_view.xml @@ -12,7 +12,7 @@ - +
@@ -45,7 +45,7 @@ -
-
+
diff --git a/addons/account/views/account_journal_views.xml b/addons/account/views/account_journal_views.xml index f446d3490f7..926c055f575 100644 --- a/addons/account/views/account_journal_views.xml +++ b/addons/account/views/account_journal_views.xml @@ -143,18 +143,25 @@ - + - + - + diff --git a/addons/crm/views/crm_team_views.xml b/addons/crm/views/crm_team_views.xml index 08620447bfd..2645aad2e09 100644 --- a/addons/crm/views/crm_team_views.xml +++ b/addons/crm/views/crm_team_views.xml @@ -159,18 +159,13 @@ - + diff --git a/addons/project/data/digest_data.xml b/addons/project/data/digest_data.xml index 8be2e75226c..9908e34cb53 100644 --- a/addons/project/data/digest_data.xml +++ b/addons/project/data/digest_data.xml @@ -28,7 +28,7 @@
- +

Tip: Create tasks from incoming emails

Emails sent to will generate tasks in your project.

diff --git a/addons/project/models/project_project.py b/addons/project/models/project_project.py index 170e7de20f8..3d664bafc05 100644 --- a/addons/project/models/project_project.py +++ b/addons/project/models/project_project.py @@ -136,7 +136,6 @@ class Project(models.Model): domain=[('state', 'not in', list(CLOSED_STATES))]) color = fields.Integer(string='Color Index') user_id = fields.Many2one('res.users', string='Project Manager', default=lambda self: self.env.user, tracking=True) - alias_enabled = fields.Boolean(string='Use Email Alias', compute='_compute_alias_enabled', readonly=False) alias_id = fields.Many2one(help="Internal email associated with this project. Incoming emails are automatically synchronized " "with Tasks (or optionally Issues if the Issue Tracker module is installed).") privacy_visibility = fields.Selection([ @@ -215,11 +214,6 @@ class Project(models.Model): ('project_date_greater', 'check(date >= date_start)', "The project's start date must be before its end date.") ] - @api.onchange('alias_enabled') - def _onchange_alias_name(self): - if not self.alias_enabled: - self.alias_name = False - @api.onchange('company_id') def _onchange_company_id(self): if (self.env.user.has_group('project.group_project_stages') and self.stage_id.company_id @@ -230,10 +224,6 @@ class Project(models.Model): limit=1, ).id - def _compute_alias_enabled(self): - for project in self: - project.alias_enabled = bool(project.alias_email) - def _compute_access_url(self): super(Project, self)._compute_access_url() for project in self: diff --git a/addons/project/views/project_project_views.xml b/addons/project/views/project_project_views.xml index 81aed92a234..31b8f7fa3be 100644 --- a/addons/project/views/project_project_views.xml +++ b/addons/project/views/project_project_views.xml @@ -108,19 +108,20 @@ -
+
-
+ invisible="not alias_email"/> @@ -335,11 +336,12 @@
-
+
@@ -392,8 +394,6 @@ - -