From b61a0cceee0dc33cec54771ce3c84efc6acc677b Mon Sep 17 00:00:00 2001 From: Sergio Teruel Date: Mon, 27 Apr 2020 17:46:58 +0200 Subject: [PATCH] [IMP] agreement: Minor improvements --- agreement/models/agreement.py | 13 +++++++++++-- agreement/security/ir.model.access.csv | 4 +++- agreement/views/agreement.xml | 15 +++++++++++++-- 3 files changed, 27 insertions(+), 5 deletions(-) diff --git a/agreement/models/agreement.py b/agreement/models/agreement.py index 6ea9e0f53..6df4e1588 100644 --- a/agreement/models/agreement.py +++ b/agreement/models/agreement.py @@ -2,7 +2,7 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -from odoo import models, fields +from odoo import _, api, models, fields class Agreement(models.Model): @@ -10,7 +10,7 @@ class Agreement(models.Model): _description = 'Agreement' _inherit = ["mail.thread", "mail.activity.mixin"] - code = fields.Char(required=True, copy=False) + code = fields.Char(required=True) name = fields.Char(required=True) partner_id = fields.Many2one( 'res.partner', string='Partner', ondelete='restrict', @@ -49,3 +49,12 @@ class Agreement(models.Model): 'unique(code, partner_id, company_id)', 'This agreement code already exists for this partner!' )] + + @api.returns('self', lambda value: value.id) + def copy(self, default=None): + """Always assign a value for code because is required""" + default = dict(default or {}) + if default.get('code', False): + return super().copy(default) + default.setdefault('code', _("%s (copy)") % (self.code)) + return super().copy(default) diff --git a/agreement/security/ir.model.access.csv b/agreement/security/ir.model.access.csv index 3184640e5..cca0edf2a 100644 --- a/agreement/security/ir.model.access.csv +++ b/agreement/security/ir.model.access.csv @@ -1,3 +1,5 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink access_agreement_read,Read access on agreement to Employees,model_agreement,base.group_user,1,0,0,0 -access_agreement_full,Full access on agreement grp,model_agreement,base.group_no_one,1,1,1,1 +access_agreement_full,Full access on agreement grp,model_agreement,base.group_system,1,1,1,1 +access_agreement_type_read,Read access on agreement type to Employees,model_agreement_type,base.group_user,1,0,0,0 +access_agreement_type_full,Full access on agreement type grp,model_agreement_type,base.group_system,1,1,1,1 diff --git a/agreement/views/agreement.xml b/agreement/views/agreement.xml index 4acd404d5..1c110ee5a 100644 --- a/agreement/views/agreement.xml +++ b/agreement/views/agreement.xml @@ -91,7 +91,18 @@ tree,form - + + + + +