[FIX] project: fix customer rating issue in project
Before this commit, even if customer rating is disabled from setting user can get subscription of task rating. This commit ensures that only when the customer rating field is enabled, the user can get a subscription to task rating. task-323170 closes odoo/odoo#117577 Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
This commit is contained in:
@@ -70,6 +70,7 @@
|
||||
<field name="res_model">project.task</field>
|
||||
<field name="sequence" eval="108"/>
|
||||
<field name="default" eval="False"/>
|
||||
<field name="hidden" eval="True"/>
|
||||
</record>
|
||||
<!-- Update-related subtypes for messaging / Chatter -->
|
||||
<record id="mt_update_create" model="mail.message.subtype">
|
||||
@@ -107,9 +108,10 @@
|
||||
<field name="name">Task Rating</field>
|
||||
<field name="sequence">27</field>
|
||||
<field name="res_model">project.project</field>
|
||||
<field name="default" eval="True"/>
|
||||
<field name="default" eval="False"/>
|
||||
<field name="parent_id" ref="mt_task_rating"/>
|
||||
<field name="relation_field">project_id</field>
|
||||
<field name="hidden" eval="True"/>
|
||||
</record>
|
||||
<record id="mt_project_task_dependency_change" model="mail.message.subtype">
|
||||
<field name="name">Task Dependency Changes</field>
|
||||
|
||||
@@ -538,6 +538,8 @@ class Project(models.Model):
|
||||
|
||||
def _mail_get_message_subtypes(self):
|
||||
res = super()._mail_get_message_subtypes()
|
||||
if not self.rating_active:
|
||||
res -= self.env.ref('project.mt_project_task_rating')
|
||||
if len(self) == 1:
|
||||
dependency_subtype = self.env.ref('project.mt_project_task_dependency_change')
|
||||
waiting_subtype = self.env.ref('project.mt_project_task_waiting')
|
||||
|
||||
@@ -1246,6 +1246,8 @@ class Task(models.Model):
|
||||
|
||||
def _mail_get_message_subtypes(self):
|
||||
res = super()._mail_get_message_subtypes()
|
||||
if not self.project_id.rating_active:
|
||||
res -= self.env.ref('project.mt_task_rating')
|
||||
if len(self) == 1:
|
||||
dependency_subtype = self.env.ref('project.mt_task_dependency_change')
|
||||
waiting_subtype = self.env.ref('project.mt_task_waiting')
|
||||
|
||||
@@ -65,6 +65,10 @@ class ResConfigSettings(models.TransientModel):
|
||||
if project_stage_change_mail_type.hidden == self['group_project_stages']:
|
||||
project_stage_change_mail_type.hidden = not self['group_project_stages']
|
||||
# Hide task rating tempalate when customer rating is disbled
|
||||
task_rating_subtype_id = self.env.ref('project.mt_project_task_rating')
|
||||
task_rating_subtype_id.hidden = not self['group_project_rating']
|
||||
self.env.ref('project.mt_task_rating').hidden = not self['group_project_rating']
|
||||
task_rating_subtype_id.default = self['group_project_rating']
|
||||
rating_project_request_email_template = self.env.ref('project.rating_project_request_email_template')
|
||||
if rating_project_request_email_template.active != self['group_project_rating']:
|
||||
rating_project_request_email_template.active = self['group_project_rating']
|
||||
|
||||
Reference in New Issue
Block a user