Skip to content
Extraits de code Groupes Projets
Valider 9d906da5 rédigé par Benjamin - Le Filament's avatar Benjamin - Le Filament Validation de Rémi - Le Filament
Parcourir les fichiers

[fix] fix erreur transformation en ligne de temps pour evt recurrents

parent bf4bfbed
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -11,10 +11,10 @@ from odoo.exceptions import UserError, ValidationError ...@@ -11,10 +11,10 @@ from odoo.exceptions import UserError, ValidationError
class CGScopAttendee(models.Model): class CGScopAttendee(models.Model):
_inherit = 'calendar.attendee' _inherit = 'calendar.attendee'
timesheet_id = fields.Many2one( timesheet_ids = fields.One2many(
comodel_name='account.analytic.line', comodel_name='account.analytic.line',
inverse_name='attendee_id',
string='Timesheet linked', string='Timesheet linked',
ondelete='set null',
copy=False) copy=False)
...@@ -133,10 +133,14 @@ class CGScopCalendar(models.Model): ...@@ -133,10 +133,14 @@ class CGScopCalendar(models.Model):
def _compute_is_transfered(self): def _compute_is_transfered(self):
for event in self: for event in self:
event_id = event.get_metadata()[0].get('id')
attendee = self.env['calendar.attendee'].search([ attendee = self.env['calendar.attendee'].search([
('event_id', '=', event.id), ('event_id', '=', event_id),
('partner_id', '=', self.env.user.partner_id.id)]) ('partner_id', '=', self.env.user.partner_id.id)])
if attendee.timesheet_id: # l'attendee a des feuilles de temps liées à la même date
if (attendee.timesheet_ids
and attendee.timesheet_ids.filtered(
lambda t: t.date == event.start.date())):
event.is_transfered = True event.is_transfered = True
else: else:
event.is_transfered = False event.is_transfered = False
...@@ -234,7 +238,8 @@ class CGScopCalendar(models.Model): ...@@ -234,7 +238,8 @@ class CGScopCalendar(models.Model):
""" """
partner = self.env.user.partner_id partner = self.env.user.partner_id
for event in self: for event in self:
if not partner in event.partner_ids: event_id = event.get_metadata()[0].get('id')
if partner not in event.partner_ids:
raise UserError("Vous ne faites pas partie des participants, \ raise UserError("Vous ne faites pas partie des participants, \
vous ne pouvez donc pas transformer cette entrée d'agenda \ vous ne pouvez donc pas transformer cette entrée d'agenda \
en ligne de temps.") en ligne de temps.")
...@@ -243,9 +248,12 @@ class CGScopCalendar(models.Model): ...@@ -243,9 +248,12 @@ class CGScopCalendar(models.Model):
renseigné sur chaque entrée d'agenda") renseigné sur chaque entrée d'agenda")
else: else:
attendee = self.env['calendar.attendee'].search([ attendee = self.env['calendar.attendee'].search([
('event_id', '=', event.id), ('event_id', '=', event_id),
('partner_id', '=', partner.id)]) ('partner_id', '=', partner.id)])
if attendee.timesheet_id: # l'attendee a des feuilles de temps liées à la même date
if (attendee.timesheet_ids
and attendee.timesheet_ids.filtered(
lambda t: t.date == event.start.date())):
raise UserError("Vous avez déjà transféré cette entrée \ raise UserError("Vous avez déjà transféré cette entrée \
d'agenda : %s" % event.name) d'agenda : %s" % event.name)
else: else:
...@@ -258,7 +266,7 @@ class CGScopCalendar(models.Model): ...@@ -258,7 +266,7 @@ class CGScopCalendar(models.Model):
'name': event.name, 'name': event.name,
'company_id': self.env.user.company_id.id, 'company_id': self.env.user.company_id.id,
'partner_id': event.coop_id.id, 'partner_id': event.coop_id.id,
'event_id': event.id, 'event_id': event_id,
'attendee_id': attendee.id, 'attendee_id': attendee.id,
} }
# Gestion des évènements sur toute la journée # Gestion des évènements sur toute la journée
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter