[IMP]GOLEM Resource : computes day and hour start for better model sorting

This commit is contained in:
Fabien BOURGEOIS 2018-03-17 07:58:04 +01:00
parent ff70e46612
commit d5cc394967
1 changed files with 12 additions and 1 deletions

View File

@ -29,7 +29,7 @@ class GolemResourceReservation(models.Model):
_name = 'golem.resource.reservation'
_description = 'GOLEM Reservation Model'
_inherit = 'mail.thread'
_order = 'date_start desc'
_order = 'day_start desc, hour_start asc'
name = fields.Char(compute='_compute_name', store=True)
# TODO: handle multiple days reservation
@ -39,6 +39,8 @@ class GolemResourceReservation(models.Model):
date_stop = fields.Datetime('Stop date', required=True,
index=True, readonly=True,
states={'draft': [('readonly', False)]})
day_start = fields.Date(compute='_compute_day_hour_start', store=True)
hour_start = fields.Float(compute='_compute_day_hour_start', store=True)
resource_id = fields.Many2one('golem.resource', required=True, index=True,
string='Resource', readonly=True,
track_visibility='onchange',
@ -73,6 +75,15 @@ class GolemResourceReservation(models.Model):
reservation.name = u'{}/{}'.format(reservation.resource_id.name,
reservation.date_start)
@api.depends('date_start')
def _compute_day_hour_start(self):
""" Computes Day and Hour Start : for better sorting """
for reservation in self:
if reservation.date_start:
date_start = fields.Datetime.from_string(reservation.date_start)
reservation.day_start = date_start.date().isoformat()
reservation.hour_start = date_start.hour + date_start.minute / 60.0
@api.onchange('date_start')
def onchange_date_start(self):
""" Propose automatically stop hour after start hour had been filled """