[CLN] global : full pre-commit & ruff lint
This commit is contained in:
@@ -1,84 +1,97 @@
|
||||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
|
||||
from odoo import fields, models, api, Command
|
||||
from datetime import timedelta
|
||||
import logging
|
||||
|
||||
from odoo import Command, api, fields, models
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class EventTrack(models.Model):
|
||||
_inherit = "event.track"
|
||||
|
||||
calendar_event_ids = fields.One2many('calendar.event', 'event_track_id', 'Time slot', copy=True)
|
||||
calendar_event_ids = fields.One2many(
|
||||
"calendar.event", "event_track_id", "Time slot", copy=True
|
||||
)
|
||||
date = fields.Datetime(compute="_compute_date")
|
||||
|
||||
def _compute_date(self):
|
||||
"""Date become a field computed from first calendar event date
|
||||
"""
|
||||
Date become a field computed from first calendar event date.
|
||||
"""
|
||||
for event_track in self:
|
||||
if event_track.calendar_event_ids:
|
||||
event_track.date = event_track.calendar_event_ids.sorted(key=lambda r: r.start)[0].start
|
||||
event_track.date = event_track.calendar_event_ids.sorted(
|
||||
key=lambda r: r.start
|
||||
)[0].start
|
||||
else:
|
||||
event_track.date = None
|
||||
|
||||
def get_calendar_event_values(self):
|
||||
"""return default values of calendar events
|
||||
"""
|
||||
Return default values of calendar events.
|
||||
"""
|
||||
return {
|
||||
# due to google calendar unexpected notifications, for the moment we disable attendees of calendar event
|
||||
# due to google calendar unexpected notifications, for the moment we disable attendees of calendar event
|
||||
# uncomment following line to re-enable
|
||||
#'partner_ids':[Command.set(self.get_calendar_event_partner_value())],
|
||||
'partner_ids':[Command.set([])],
|
||||
'location':self.location_id.name if self.location_id else '',
|
||||
#'user_id':self.user_id.id,
|
||||
'privacy':"confidential"
|
||||
#'partner_ids':[Command.set(self.get_calendar_event_partner_value())],
|
||||
"partner_ids": [Command.set([])],
|
||||
"location": self.location_id.name if self.location_id else "",
|
||||
#'user_id':self.user_id.id,
|
||||
"privacy": "confidential",
|
||||
}
|
||||
|
||||
def get_calendar_event_partner_value(self):
|
||||
"""Compute list of partner ids for calendar event
|
||||
"""
|
||||
Compute list of partner ids for calendar event.
|
||||
"""
|
||||
# compute list of attendees
|
||||
partner_ids = []
|
||||
partner_ids = []
|
||||
|
||||
# add event track contact
|
||||
if self.partner_id:
|
||||
partner_ids.append(self.partner_id.id)
|
||||
|
||||
|
||||
# add event registration attendees
|
||||
partner_ids.extend([registration.partner_id.id for registration in self.event_id.registration_ids if registration.partner_id])
|
||||
partner_ids.extend(
|
||||
[
|
||||
registration.partner_id.id
|
||||
for registration in self.event_id.registration_ids
|
||||
if registration.partner_id
|
||||
]
|
||||
)
|
||||
|
||||
return partner_ids
|
||||
|
||||
|
||||
|
||||
def sync_calendar_event(self):
|
||||
"""synchronize calendar event values with event track data
|
||||
"""
|
||||
Synchronize calendar event values with event track data.
|
||||
"""
|
||||
_logger.warning("sync_calendar_event...")
|
||||
for track in self:
|
||||
track.calendar_event_ids.with_context(no_mail_to_attendees=True).write(track.get_calendar_event_values())
|
||||
track.calendar_event_ids.with_context(no_mail_to_attendees=True).write(
|
||||
track.get_calendar_event_values()
|
||||
)
|
||||
_logger.warning("sync_calendar_event done !")
|
||||
|
||||
|
||||
@api.model_create_multi
|
||||
def create(self, vals_list):
|
||||
"""
|
||||
after creation of event track synchronise calendar event values
|
||||
"""
|
||||
res = super(EventTrack, self).create(vals_list)
|
||||
After creation of event track synchronise calendar event values.
|
||||
"""
|
||||
res = super().create(vals_list)
|
||||
res.sync_calendar_event()
|
||||
return res
|
||||
|
||||
|
||||
def write(self, vals):
|
||||
"""
|
||||
after modification of event track synchronise calendar event values
|
||||
"""
|
||||
After modification of event track synchronise calendar event values.
|
||||
"""
|
||||
res = super().write(vals)
|
||||
self.sync_calendar_event()
|
||||
return res
|
||||
|
||||
|
||||
def unlink(self):
|
||||
for track in self:
|
||||
for calendar_event in track.calendar_event_ids:
|
||||
calendar_event.unlink()
|
||||
return super(EventTrack, self).unlink()
|
||||
return super().unlink()
|
||||
|
Reference in New Issue
Block a user