From 8e1458af7ca0d2a15e8021c67ce6cf6dfb4b3b6d Mon Sep 17 00:00:00 2001 From: root Date: Mon, 4 Dec 2023 20:57:46 +0100 Subject: [PATCH] fix bug generate events --- models/event.py | 35 ++++++++++++++++++++++++----------- 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/models/event.py b/models/event.py index 6346e1b..28c3a8b 100755 --- a/models/event.py +++ b/models/event.py @@ -178,9 +178,19 @@ class KalachakraEvent(models.Model): hour_date_end=rec.date_end.hour minute_date_end=rec.date_end.minute + + _logger.error('hour_date_begin '+str(hour_date_begin)) + _logger.error('hour_date_end '+str(hour_date_end)) + + + evt=self.env['event.event'].search([('parent_event_id','=', rec.id)]) if evt: for child_event in evt: + + + + #suppression des mails child_event.write({'event_mail_ids':[(5)]}) for mail_id in rec.event_mail_ids: @@ -199,19 +209,16 @@ class KalachakraEvent(models.Model): child_event.name=rec.name - #_logger.error(str(child_event.event_mail_ids)) - #child_event.event_type_id=rec.event_type_id - - child_event.date_begin=child_event.date_begin.replace(hour=hour_date_begin, minute=minute_date_begin) - - diff_start=int(child_event.date_begin.astimezone(client_tz).hour)-int(rec.date_begin.astimezone(client_tz).hour) - diff_end=int(child_event.date_end.astimezone(client_tz).hour)-int(rec.date_end.astimezone(client_tz).hour) + + c=child_event.date_begin.astimezone(client_tz).hour-child_event.date_begin.hour-1 + c_date_begin=datetime(child_event.date_begin.year,child_event.date_begin.month, child_event.date_begin.day,hour_date_begin-c,minute_date_begin) + c_date_end= datetime(child_event.date_end.year,child_event.date_end.month, child_event.date_end.day,hour_date_end-c,minute_date_end) + self.env.cr.execute("""UPDATE event_event SET date_begin=%s WHERE id=%s""",(c_date_begin,child_event.id)) + self.env.cr.execute("""UPDATE event_event SET date_end=%s WHERE id=%s""", (c_date_end,child_event.id)) + + - child_event.date_begin=child_event.date_begin.replace(hour=hour_date_begin-diff_start, minute=minute_date_begin) - - child_event.date_end=child_event.date_end.replace(hour=hour_date_end-diff_end, minute=minute_date_end) - child_event.recurring_event_newsletter_id=rec.recurring_event_newsletter_id child_event.find_out_more_link=rec.find_out_more_link @@ -293,6 +300,11 @@ class KalachakraEvent(models.Model): while start_date_event<=end_generation_date: #if not start_date_event.weekday() in (5,6): + if start_date_event.weekday() in (5,6) and d==1: + end_date_event=end_date_event+timedelta(days=d) + start_date_event=start_date_event+timedelta(days=d) + i=i+1 + continue #avant de dupliquer l'événement on regarde si celui-ci n'a pas déjà été crée ! evt=self.env['event.event'].search([('date_begin','=',start_date_event),('parent_event_id','=', int(self.id))]) if evt: raise Warning('action cancelled: event already generated with this date :'+ str(start_date_event)) @@ -354,6 +366,7 @@ class KalachakraEvent(models.Model): vals['recurring_event']=self.recurring_event vals['recurring_event_newsletter_id']=int(self.recurring_event_newsletter_id) vals['online_event']=self.online_event + vals['online_only']=self.online_only vals['online_link']=self.online_link vals['online_id']=self.online_id vals['no_online_payment']=self.no_online_payment