Settings
diff --git a/addons/project/models/project.py b/addons/project/models/project.py
index 7d46b94393d..49014a07481 100644
--- a/addons/project/models/project.py
+++ b/addons/project/models/project.py
@@ -151,6 +151,18 @@ class Project(models.Model):
for project in self:
project.is_favorite = self.env.user in project.favorite_user_ids
+ def _inverse_is_favorite(self):
+ favorite_projects = not_fav_projects = self.env['project.project'].sudo()
+ for project in self:
+ if self.env.user in project.favorite_user_ids:
+ favorite_projects |= project
+ else:
+ not_fav_projects |= project
+
+ # Project User has no write access for project.
+ not_fav_projects.write({'favorite_user_ids': [(4, self.env.uid)]})
+ favorite_projects.write({'favorite_user_ids': [(3, self.env.uid)]})
+
def _get_default_favorite_user_ids(self):
return [(6, 0, [self.env.uid])]
@@ -172,7 +184,7 @@ class Project(models.Model):
'res.users', 'project_favorite_user_rel', 'project_id', 'user_id',
default=_get_default_favorite_user_ids,
string='Members')
- is_favorite = fields.Boolean(compute='_compute_is_favorite', string='Show Project on dashboard',
+ is_favorite = fields.Boolean(compute='_compute_is_favorite', inverse='_inverse_is_favorite', string='Show Project on dashboard',
help="Whether this project should be displayed on the dashboard or not")
label_tasks = fields.Char(string='Use Tasks as', default='Tasks', help="Gives label to tasks on project's kanban view.")
tasks = fields.One2many('project.task', 'project_id', string="Task Activities")
@@ -278,19 +290,6 @@ class Project(models.Model):
self.mapped('tasks').message_unsubscribe(partner_ids=partner_ids, channel_ids=channel_ids)
return super(Project, self).message_unsubscribe(partner_ids=partner_ids, channel_ids=channel_ids)
- @api.multi
- def toggle_favorite(self):
- favorite_projects = not_fav_projects = self.env['project.project'].sudo()
- for project in self:
- if self.env.user in project.favorite_user_ids:
- favorite_projects |= project
- else:
- not_fav_projects |= project
-
- # Project User has no write access for project.
- not_fav_projects.write({'favorite_user_ids': [(4, self.env.uid)]})
- favorite_projects.write({'favorite_user_ids': [(3, self.env.uid)]})
-
@api.multi
def close_dialog(self):
return {'type': 'ir.actions.act_window_close'}
diff --git a/addons/project/static/src/less/project_dashboard.less b/addons/project/static/src/less/project_dashboard.less
index b1e966c8f87..54851046a27 100644
--- a/addons/project/static/src/less/project_dashboard.less
+++ b/addons/project/static/src/less/project_dashboard.less
@@ -38,20 +38,6 @@
}
}
- .o_dashboard_star {
- font-size: 16px;
-
- &.fa-star-o {
- color: @odoo-main-color-muted;
- &:hover {
- color: gold;
- }
- }
- &.fa-star {
- color: gold;
- }
- }
-
.o_project_kanban_boxes {
width: 30%;
.o-flex(0, 0, auto);
diff --git a/addons/project/views/project_views.xml b/addons/project/views/project_views.xml
index 23397729a79..84bfe4b4338 100644
--- a/addons/project/views/project_views.xml
+++ b/addons/project/views/project_views.xml
@@ -263,7 +263,6 @@
-
@@ -296,7 +295,7 @@
diff --git a/addons/sales_team/models/crm_team.py b/addons/sales_team/models/crm_team.py
index 99333bc52c5..5aeaba6aeec 100644
--- a/addons/sales_team/models/crm_team.py
+++ b/addons/sales_team/models/crm_team.py
@@ -55,7 +55,7 @@ class CrmTeam(models.Model):
default=_get_default_favorite_user_ids)
is_favorite = fields.Boolean(
string='Show on dashboard',
- compute='_compute_is_favorite', inverse='_set_is_favorite',
+ compute='_compute_is_favorite', inverse='_inverse_is_favorite',
help="Favorite teams to display them in the dashboard and access them easily.")
reply_to = fields.Char(string='Reply-To',
help="The email address put in the 'Reply-To' of all emails sent by Odoo about cases in this sales channel")
@@ -95,6 +95,13 @@ class CrmTeam(models.Model):
for team in self:
team.is_favorite = self.env.user in team.favorite_user_ids
+ def _inverse_is_favorite(self):
+ sudoed_self = self.sudo()
+ to_fav = sudoed_self.filtered(lambda team: self.env.user not in team.favorite_user_ids)
+ to_fav.write({'favorite_user_ids': [(4, self.env.uid)]})
+ (sudoed_self - to_fav).write({'favorite_user_ids': [(3, self.env.uid)]})
+ return True
+
def _graph_get_dates(self, today):
""" return a coherent start and end date for the dashboard graph according to the graph settings.
"""
@@ -286,14 +293,6 @@ class CrmTeam(models.Model):
self._add_members_to_favorites()
return res
- @api.multi
- def toggle_favorite(self):
- sudoed_self = self.sudo()
- to_fav = sudoed_self.filtered(lambda team: self.env.user not in team.favorite_user_ids)
- to_fav.write({'favorite_user_ids': [(4, self.env.uid)]})
- (sudoed_self - to_fav).write({'favorite_user_ids': [(3, self.env.uid)]})
- return True
-
def _add_members_to_favorites(self):
for team in self:
team.favorite_user_ids = [(4, member.id) for member in team.member_ids]
diff --git a/addons/sales_team/views/sales_team_dashboard.xml b/addons/sales_team/views/sales_team_dashboard.xml
index 246029b70a1..a89c050dcaa 100644
--- a/addons/sales_team/views/sales_team_dashboard.xml
+++ b/addons/sales_team/views/sales_team_dashboard.xml
@@ -70,11 +70,7 @@