Files
event-tools/event_sequence/models/event_track.py
2025-09-15 14:13:26 +02:00

31 lines
927 B
Python

from odoo import api, fields, models
class EventTrack(models.Model):
_inherit = "event.track"
sequence_id = fields.Many2one(
"event.sequence", "Sequence", group_expand="_read_group_stage_ids"
)
sequence = fields.Integer() # for sorting
@api.model_create_multi
def create(self, vals_list):
if vals_list and "sequence" not in vals_list[0]:
vals_list[0]["sequence"] = 999
tracks = super().create(vals_list)
return tracks
@api.model
def _read_group_stage_ids(self, stages, domain, order):
event_id = None
for d in domain:
if d[0] == "event_id" and d[1] == "=" and d[2]:
event_id = d[2]
if event_id:
event = self.env["event.event"].browse(event_id)
return stages.search([], order="sequence", limit=event.sequence_number)
return stages.search([], order="sequence")