diff --git a/addons/fleet/models/fleet_vehicle_log_contract.py b/addons/fleet/models/fleet_vehicle_log_contract.py index 6d601c5db97..d9ca28dcfa8 100644 --- a/addons/fleet/models/fleet_vehicle_log_contract.py +++ b/addons/fleet/models/fleet_vehicle_log_contract.py @@ -84,35 +84,33 @@ class FleetVehicleLogContract(models.Model): def write(self, vals): res = super(FleetVehicleLogContract, self).write(vals) if 'start_date' in vals or 'expiration_date' in vals: - date_today = fields.Date.from_string(fields.Date.today()) - futur_contracts = self.env[self._name] - running_contracts = self.env[self._name] - expired_contracts = self.env[self._name] + date_today = fields.Date.today() + future_contracts, running_contracts, expired_contracts = self.env[self._name], self.env[self._name], self.env[self._name] for contract in self.filtered(lambda c: c.start_date and c.state != 'closed'): if date_today < contract.start_date: - futur_contracts |= contract - elif not contract.expiration_date or contract.start_date < date_today < contract.expiration_date: + future_contracts |= contract + elif not contract.expiration_date or contract.start_date <= date_today < contract.expiration_date: running_contracts |= contract else: expired_contracts |= contract - futur_contracts.write({'state': 'futur'}) - running_contracts.write({'state': 'open'}) - expired_contracts.write({'state': 'expired'}) + future_contracts.action_draft() + running_contracts.action_open() + expired_contracts.action_expire() if vals.get('expiration_date') or vals.get('user_id'): self.activity_reschedule(['fleet.mail_act_fleet_contract_to_renew'], date_deadline=vals.get('expiration_date'), new_user_id=vals.get('user_id')) return res - def contract_close(self): - for record in self: - record.state = 'closed' + def action_close(self): + self.write({'state': 'closed'}) - def contract_draft(self): - for record in self: - record.state = 'futur' + def action_draft(self): + self.write({'state': 'futur'}) - def contract_open(self): - for record in self: - record.state = 'open' + def action_open(self): + self.write({'state': 'open'}) + + def action_expire(self): + self.write({'state': 'expired'}) @api.model def scheduler_manage_contract_expiration(self): diff --git a/addons/fleet/views/fleet_vehicle_cost_views.xml b/addons/fleet/views/fleet_vehicle_cost_views.xml index 36228b36e69..32178c2556e 100644 --- a/addons/fleet/views/fleet_vehicle_cost_views.xml +++ b/addons/fleet/views/fleet_vehicle_cost_views.xml @@ -6,10 +6,10 @@
-