diff --git a/odex25_helpdesk/odex25_helpdesk_assignation_method/models/helpdesk_team.py b/odex25_helpdesk/odex25_helpdesk_assignation_method/models/helpdesk_team.py index cb9f6ea11..dff8c4456 100644 --- a/odex25_helpdesk/odex25_helpdesk_assignation_method/models/helpdesk_team.py +++ b/odex25_helpdesk/odex25_helpdesk_assignation_method/models/helpdesk_team.py @@ -50,6 +50,25 @@ class HelpdeskTeam(models.Model): 'member_ids': addmember }) + def _assign_default_services(self): + """Assign all services to members who have no service selected.""" + all_services = self.env['helpdesk.service'].search([]).ids + for team in self: + for member in team.members_ids: + if not member.service_id: + member.service_id = [(6, 0, all_services)] + + @api.model + def create(self, vals): + record = super().create(vals) + record._assign_default_services() + return record + + def write(self, vals): + res = super().write(vals) + self._assign_default_services() + return res + @api.constrains('assign_method', 'members_ids') def _check_members_assignation(self): if not self.members_ids and self.assign_method != 'manual': @@ -90,10 +109,25 @@ class HelpdeskTeamMemebers(models.Model): _name = "helpdesk.team.member" team_id = fields.Many2one('odex25_helpdesk.team') - member_id = fields.Many2one('res.users',domain=lambda self: [('groups_id', 'in', self.env.ref('odex25_helpdesk.group_odex25_helpdesk_user').id)]) - # ticket_type_ids = fields.Many2many('odex25_helpdesk.ticket.type') + member_id = fields.Many2one( + 'res.users', + domain=lambda self: [('groups_id', 'in', self.env.ref('odex25_helpdesk.group_odex25_helpdesk_user').id)] + ) service_id = fields.Many2many('helpdesk.service') + @api.model + def create(self, vals): + if not vals.get('service_id'): + all_services = self.env['helpdesk.service'].search([]).ids + vals['service_id'] = [(6, 0, all_services)] + return super().create(vals) + + def write(self, vals): + if 'service_id' in vals and not vals['service_id']: + all_services = self.env['helpdesk.service'].search([]).ids + vals['service_id'] = [(6, 0, all_services)] + return super().write(vals) + # # # class InheritUser(models.Model):