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
-
+
+
+
+
+