From 56926a9a596dae492250ab38dc15fc24a8c09af0 Mon Sep 17 00:00:00 2001 From: Stepan Savelyev Date: Thu, 12 Dec 2019 19:03:09 +0500 Subject: [PATCH] [ADD] state and readonly by state --- models/res_partner_contract.py | 25 +++++++++++++++++++++++++ views/res_partner_contract.xml | 16 ++++++++++------ 2 files changed, 35 insertions(+), 6 deletions(-) diff --git a/models/res_partner_contract.py b/models/res_partner_contract.py index 1e110e8..a976bb6 100644 --- a/models/res_partner_contract.py +++ b/models/res_partner_contract.py @@ -28,6 +28,19 @@ class PartnerContract(models.Model): default=lambda self: self.env.context.get('active_id'), required=True ) + state = fields.Selection([ + ('draft', 'New'), + ('sign', 'Signed'), + ('close', 'Closed'), + ], + string='Status', + readonly=True, + copy=False, + index=True, + track_visibility='onchange', + track_sequence=3, + default='draft' + ) @api.onchange('date') def _change_contract_name(self): @@ -37,6 +50,18 @@ class PartnerContract(models.Model): """ self.name = self._calculate_contract_name(self.date) + @api.multi + def action_sign(self): + self.write({'state': 'sign'}) + + @api.multi + def action_close(self): + self.write({'state': 'close'}) + + @api.multi + def action_renew(self): + self.write({'state': 'draft'}) + @api.model def create(self, vals): diff --git a/views/res_partner_contract.xml b/views/res_partner_contract.xml index 0217c30..a01dd84 100644 --- a/views/res_partner_contract.xml +++ b/views/res_partner_contract.xml @@ -20,17 +20,21 @@ res.partner.contract
- +
+
- - + + - +