From 45006663cd8a490601aff75270feec2428996fb3 Mon Sep 17 00:00:00 2001 From: Yves Goldberg Date: Tue, 2 Apr 2019 17:12:33 +0200 Subject: [PATCH 1/2] [FIX] handling code field + partner_id --- agreement_legal/models/agreement.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/agreement_legal/models/agreement.py b/agreement_legal/models/agreement.py index 4539024e..1784ea74 100644 --- a/agreement_legal/models/agreement.py +++ b/agreement_legal/models/agreement.py @@ -104,6 +104,10 @@ class Agreement(models.Model): track_visibility="onchange", help="ID used for internal contract tracking.", ) + code = fields.Char( + required=True, + default=lambda self: _("New"), + copy=False) increase_type_id = fields.Many2one( "agreement.increasetype", string="Increase Type", @@ -136,6 +140,7 @@ class Agreement(models.Model): partner_id = fields.Many2one( "res.partner", string="Partner", + required=False, copy=True, help="The customer or vendor this agreement is related to.", ) @@ -367,11 +372,13 @@ class Agreement(models.Model): "name": "{} - OLD VERSION".format(rec.name), "active": False, "parent_agreement_id": rec.id, + "code": "{} - OLD VERSION".format(rec.code), } # Make a current copy and mark it as old rec.copy(default=default_vals) # Increment the Version rec.version = rec.version + 1 + rec.code = rec.code + "v" + str(rec.version) # Reset revision to 0 since it's a new version vals["revision"] = 0 return super(Agreement, self).write(vals) @@ -379,6 +386,7 @@ class Agreement(models.Model): def create_new_agreement(self): default_vals = { "name": "NEW", + "code": "NEW", "active": True, "version": 1, "revision": 0, @@ -399,6 +407,8 @@ class Agreement(models.Model): vals["reference"] = self.env["ir.sequence"].next_by_code( "agreement" ) or _("New") + if vals.get("code", _("New")) == _("New"): + vals["code"] = vals["reference"] return super(Agreement, self).create(vals) # Increments the revision on each save action From 0d63ca642cecec7fcd32bdcc58ebbe507b694df8 Mon Sep 17 00:00:00 2001 From: Yves Goldberg Date: Tue, 2 Apr 2019 18:42:13 +0200 Subject: [PATCH 2/2] [UPD] remove field reference and use field code --- agreement_legal/models/agreement.py | 17 ++++------------- agreement_legal/views/agreement.xml | 3 +-- 2 files changed, 5 insertions(+), 15 deletions(-) diff --git a/agreement_legal/models/agreement.py b/agreement_legal/models/agreement.py index 1784ea74..32147ddb 100644 --- a/agreement_legal/models/agreement.py +++ b/agreement_legal/models/agreement.py @@ -96,18 +96,14 @@ class Agreement(models.Model): string="Dynamic Special Terms", help="Compute dynamic special terms", ) - reference = fields.Char( + code = fields.Char( string="Reference", - copy=False, required=True, default=lambda self: _("New"), track_visibility="onchange", + copy=False, help="ID used for internal contract tracking.", ) - code = fields.Char( - required=True, - default=lambda self: _("New"), - copy=False) increase_type_id = fields.Many2one( "agreement.increasetype", string="Increase Type", @@ -372,13 +368,11 @@ class Agreement(models.Model): "name": "{} - OLD VERSION".format(rec.name), "active": False, "parent_agreement_id": rec.id, - "code": "{} - OLD VERSION".format(rec.code), } # Make a current copy and mark it as old rec.copy(default=default_vals) # Increment the Version rec.version = rec.version + 1 - rec.code = rec.code + "v" + str(rec.version) # Reset revision to 0 since it's a new version vals["revision"] = 0 return super(Agreement, self).write(vals) @@ -386,7 +380,6 @@ class Agreement(models.Model): def create_new_agreement(self): default_vals = { "name": "NEW", - "code": "NEW", "active": True, "version": 1, "revision": 0, @@ -403,12 +396,10 @@ class Agreement(models.Model): @api.model def create(self, vals): - if vals.get("reference", _("New")) == _("New"): - vals["reference"] = self.env["ir.sequence"].next_by_code( + if vals.get("code", _("New")) == _("New"): + vals["code"] = self.env["ir.sequence"].next_by_code( "agreement" ) or _("New") - if vals.get("code", _("New")) == _("New"): - vals["code"] = vals["reference"] return super(Agreement, self).create(vals) # Increments the revision on each save action diff --git a/agreement_legal/views/agreement.xml b/agreement_legal/views/agreement.xml index 86830848..e9d56129 100644 --- a/agreement_legal/views/agreement.xml +++ b/agreement_legal/views/agreement.xml @@ -40,8 +40,7 @@ - - +