31 lines
927 B
Python
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")
|