I define stages of kanban view by selection field, like this:
state = fields.Selection([
('draft', 'Draft'),
('open', 'Open'),
('pending', 'Pending'),
('cancel', 'Cancelled'),
('done', 'Done')],
'State',
default='draft'
)
So I use default_group_by in xml to show this stages:
<kanban string="Kanban Sprint" default_group_by="state">
<field name="name"/>
<field name="state"/>
I want it sorts Draft>Open>Pending>Cancelled>Done.
But it sorts by alphabet: Cancelled>Done>Draft>Open>Pending. Image here
So is there a way to sort them?
you can use group_expand method to set the order:
state = fields.Selection([
('draft', 'Draft'),
('open', 'Open'),
('pending', 'Pending'),
('cancel', 'Cancelled'),
('done', 'Done')],
'State',
group_expand='_expand_groups',
default='draft'
)
@api.model
def _expand_groups(self, states, domain, order):
return ['draft', 'open', 'pending', 'cancel', 'done']