forked from michel/Coworking
/
This commit is contained in:
parent
5d650a71cb
commit
0ae67777a6
@ -13,27 +13,31 @@ class Event(models.Model):
|
||||
|
||||
title = fields.Char(required=True)
|
||||
# manager = fields.Many2one('coworker.users','Manager', required=True, index=True)
|
||||
|
||||
date_start = fields.Datetime(default=fields.Date.context_today, required=True)
|
||||
date_end = fields.Datetime(required=True)
|
||||
|
||||
duration = fields.Float(compute='_compute_duration')
|
||||
description = fields.Text()
|
||||
# statut = fields.Selection([('draft', 'Draft'),
|
||||
# ('confirmed', 'Confirmed'),
|
||||
# ('canceled', 'Canceled')])
|
||||
|
||||
|
||||
@api.constrains('date_end')
|
||||
def _check_date_end(self):
|
||||
"""Test si la modification de la date n'est pas postérieur à la date de début"""
|
||||
if self.date_start > self.date_end:
|
||||
raise ValidationError(_('Date most be supperior to to start date'))
|
||||
raise ValidationError(
|
||||
_('Date most be supperior to to start date'))
|
||||
|
||||
|
||||
@api.depends('date_start', 'date_end')
|
||||
def _compute_duration(self):
|
||||
for event in self:
|
||||
if event.date_start and event.date_end:
|
||||
t1 = fields.Datetime.from_string(event.date_end)
|
||||
t2 = fields.Datetime.from_string(event.date_start)
|
||||
delta = t1 - t2
|
||||
date_end_py = fields.Datetime.from_string(event.date_end)
|
||||
date_start_py = fields.Datetime.from_string(event.date_start)
|
||||
delta = date_end_py - date_start_py
|
||||
event.duration = delta.days * 24.0 + round(float(delta.seconds) / 3600.0)
|
||||
else:
|
||||
event.duration = 0.0
|
||||
|
@ -15,6 +15,7 @@
|
||||
<field name="date_start" />
|
||||
<field name="date_end" />
|
||||
<field name="duration" />
|
||||
<filed name="description" />
|
||||
</group>
|
||||
</group>
|
||||
</sheet>
|
||||
|
Loading…
Reference in New Issue
Block a user