[CLN] global : full pre-commit & ruff lint

This commit is contained in:
jscampucci
2025-09-15 12:58:03 +02:00
parent b63c4b5335
commit 174aabfbbb
71 changed files with 673 additions and 429 deletions

View File

@@ -1 +1 @@
from . import models
from . import models

View File

@@ -5,19 +5,17 @@
"version": "16.0.1.0.0",
"license": "AGPL-3",
"author": "Elabore",
"website": "https://www.elabore.coop",
"website": "https://github.com/elabore-coop/event-tools",
"category": "",
'summary': 'Replace date of event track with list of calendar events',
'description': """
"summary": "Replace date of event track with list of calendar events",
"description": """
Replace date of event track with list of calendar events
----------------------------------------------------
* Create calendar events on event track form
* Sync calendar event attendees with event track registration
""",
"depends": ["website_event_track","calendar"],
"data": [
"views/event_track_views.xml"
],
"depends": ["website_event_track", "calendar"],
"data": ["views/event_track_views.xml"],
"installable": True,
}

View File

@@ -1,4 +1,4 @@
from . import calendar_event
from . import event_track
from . import event_registration
from . import event_event
from . import event_event

View File

@@ -1,18 +1,16 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from odoo import fields, models, api, Command
from odoo import api, fields, models
class CalendarEvent(models.Model):
_inherit = 'calendar.event'
_inherit = "calendar.event"
event_track_id = fields.Many2one('event.track', "Event track")
event_track_id = fields.Many2one("event.track", "Event track")
@api.model_create_multi
def create(self, vals_list):
res = super(CalendarEvent,self).create(vals_list)
def create(self, vals_list):
res = super().create(vals_list)
for event in res:
if event.event_track_id:
event.event_track_id.sync_calendar_event()
return res

View File

@@ -1,14 +1,17 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from odoo import fields, models, api, Command
import logging
from odoo import models
_logger = logging.getLogger(__name__)
class EventEvent(models.Model):
_inherit = "event.event"
def write(self, vals):
res = super().write(vals)
def write(self, vals):
res = super().write(vals)
for event in self:
for track in event.track_ids:
track.sync_calendar_event()
track.sync_calendar_event()
return res

View File

@@ -1,22 +1,25 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from odoo import fields, models, api, Command
import logging
from odoo import api, models
_logger = logging.getLogger(__name__)
class EventRegistration(models.Model):
_inherit = "event.registration"
def write(self, vals):
res = super(EventRegistration,self).write(vals)
def write(self, vals):
res = super().write(vals)
for registration in self:
for track in registration.event_id.track_ids:
track.sync_calendar_event()
track.sync_calendar_event()
return res
@api.model_create_multi
def create(self, vals_list):
res = super(EventRegistration, self).create(vals_list)
res = super().create(vals_list)
for registration in res:
for track in registration.event_id.track_ids:
track.sync_calendar_event()
return res
return res

View File

@@ -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()

View File

@@ -2,7 +2,7 @@
<odoo>
<record model="ir.ui.view" id="view_event_track_form_event_track_calendar_event">
<field name="name">event.track.form.event.track.calendar.event</field>
<field name="inherit_id" ref="website_event_track.view_event_track_form" />
<field name="inherit_id" ref="website_event_track.view_event_track_form" />
<field name="model">event.track</field>
<field name="arch" type="xml">
<!--
@@ -11,7 +11,11 @@
<!-- <field name="date" position="replace" /> -->
<page name="speaker" position="before">
<page name="calendar_events" string="Plages horaires">
<field name="calendar_event_ids" context="{'default_name':name}" colspan="2">
<field
name="calendar_event_ids"
context="{'default_name':name}"
colspan="2"
>
<tree default_order="start,stop" editable="bottom">
<field name="name" string="Name" invisible="1" />
<field name="start" string="From" />