diff --git a/addons/account/models/partner.py b/addons/account/models/partner.py
index 69bd2e53c7f..eb92576d9f8 100644
--- a/addons/account/models/partner.py
+++ b/addons/account/models/partner.py
@@ -412,7 +412,7 @@ class ResPartner(models.Model):
'It is set either if there\'s not at least an unreconciled debit and an unreconciled credit '
'or if you click the "Done" button.')
invoice_ids = fields.One2many('account.invoice', 'partner_id', string='Invoices', readonly=True, copy=False)
- contract_ids = fields.One2many('account.analytic.account', 'partner_id', string='Contracts', readonly=True)
+ contract_ids = fields.One2many('account.analytic.account', 'partner_id', string='Partner Contracts', readonly=True)
bank_account_count = fields.Integer(compute='_compute_bank_count', string="Bank")
trust = fields.Selection([('good', 'Good Debtor'), ('normal', 'Normal Debtor'), ('bad', 'Bad Debtor')], string='Degree of trust you have in this debtor', default='normal', company_dependent=True)
invoice_warn = fields.Selection(WARNING_MESSAGE, 'Invoice', help=WARNING_HELP, default="no-message")
diff --git a/addons/hr_contract/__manifest__.py b/addons/hr_contract/__manifest__.py
index 47046f4c9e1..3a239b204d3 100644
--- a/addons/hr_contract/__manifest__.py
+++ b/addons/hr_contract/__manifest__.py
@@ -19,9 +19,11 @@ You can assign several contracts per employee.
'website': 'https://www.odoo.com/page/employees',
'depends': ['hr'],
'data': [
+ 'security/security.xml',
'security/ir.model.access.csv',
'data/hr_contract_data.xml',
'views/hr_contract_views.xml',
+ 'views/res_users_views.xml',
],
'demo': [],
'installable': True,
diff --git a/addons/hr_contract/models/__init__.py b/addons/hr_contract/models/__init__.py
index 855ff940d55..7e9d4a5f5eb 100644
--- a/addons/hr_contract/models/__init__.py
+++ b/addons/hr_contract/models/__init__.py
@@ -2,3 +2,4 @@
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from . import hr_contract
+from . import res_users
diff --git a/addons/hr_contract/models/hr_contract.py b/addons/hr_contract/models/hr_contract.py
index fe07a479041..f88d2b47795 100644
--- a/addons/hr_contract/models/hr_contract.py
+++ b/addons/hr_contract/models/hr_contract.py
@@ -19,7 +19,7 @@ class Employee(models.Model):
vehicle = fields.Char(string='Company Vehicle', groups="hr.group_hr_user")
vehicle_distance = fields.Integer(
string='Home-Work Dist.', help="In kilometers", groups="hr.group_hr_user")
- contract_ids = fields.One2many('hr.contract', 'employee_id', string='Contracts')
+ contract_ids = fields.One2many('hr.contract', 'employee_id', string='Employee Contracts')
contract_id = fields.Many2one('hr.contract', compute='_compute_contract_id', string='Current Contract', help='Latest contract of the employee')
contracts_count = fields.Integer(compute='_compute_contracts_count', string='Contract Count')
diff --git a/addons/hr_contract/models/res_users.py b/addons/hr_contract/models/res_users.py
new file mode 100644
index 00000000000..de1a824cf0f
--- /dev/null
+++ b/addons/hr_contract/models/res_users.py
@@ -0,0 +1,13 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from odoo import fields, models
+
+
+class ResUsers(models.Model):
+ _inherit = 'res.users'
+
+ group_hr_contract_user = fields.Selection(
+ selection=lambda self: self._get_group_selection('base.module_category_hr_contract'),
+ string='Contracts', compute='_compute_groups_id', inverse='_inverse_groups_id',
+ category_xml_id='base.module_category_hr_contract')
diff --git a/addons/hr_contract/security/ir.model.access.csv b/addons/hr_contract/security/ir.model.access.csv
index 4ef9315bc71..69719db666f 100644
--- a/addons/hr_contract/security/ir.model.access.csv
+++ b/addons/hr_contract/security/ir.model.access.csv
@@ -2,7 +2,5 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_hr_resource_manager,hr.employee.resource.manager,resource.model_resource_resource,hr.group_hr_manager,1,1,1,1
access_hr_resource_calendar_user,hr.employee.resource.calendar.user,resource.model_resource_calendar,hr.group_hr_user,1,1,1,1
access_hr_resource_calendar_attendance_user,hr.employee.resource.calendar.attendance.user,resource.model_resource_calendar_attendance,hr.group_hr_user,1,1,1,1
-access_hr_contract_type_manager,hr.contract.type.manager,model_hr_contract_type,hr.group_hr_manager,1,1,1,1
-access_hr_contract_manager,hr.contract.manager,model_hr_contract,hr.group_hr_manager,1,1,1,1
-access_hr_contract_type_user,hr.contract.type.user,model_hr_contract_type,hr.group_hr_user,1,0,0,0
-access_hr_contract_user,hr.contract.user,model_hr_contract,hr.group_hr_user,1,0,0,0
+access_hr_contract_type_manager,hr.contract.type.manager,model_hr_contract_type,hr_contract.group_hr_contract_manager,1,1,1,1
+access_hr_contract_manager,hr.contract.manager,model_hr_contract,hr_contract.group_hr_contract_manager,1,1,1,1
diff --git a/addons/hr_contract/security/security.xml b/addons/hr_contract/security/security.xml
new file mode 100644
index 00000000000..1efe5cf4de8
--- /dev/null
+++ b/addons/hr_contract/security/security.xml
@@ -0,0 +1,14 @@
+
+
+
+
+ Manager
+
+
+
+
+
+
+
+
+
diff --git a/addons/hr_contract/views/hr_contract_views.xml b/addons/hr_contract/views/hr_contract_views.xml
index 3f6d395d5c6..7ee9a68b47c 100644
--- a/addons/hr_contract/views/hr_contract_views.xml
+++ b/addons/hr_contract/views/hr_contract_views.xml
@@ -279,7 +279,7 @@
action="action_hr_contract"
parent="hr.menu_hr_root"
sequence="4"
- groups="hr.group_hr_manager"/>
+ groups="hr_contract.group_hr_contract_manager"/>
diff --git a/addons/hr_contract/views/res_users_views.xml b/addons/hr_contract/views/res_users_views.xml
new file mode 100644
index 00000000000..61b0212145e
--- /dev/null
+++ b/addons/hr_contract/views/res_users_views.xml
@@ -0,0 +1,14 @@
+
+
+
+ res.users.form.hr_contract.inherit
+ res.users
+
+ 51
+
+
+
+
+
+
+
diff --git a/addons/hr_payroll/security/hr_payroll_security.xml b/addons/hr_payroll/security/hr_payroll_security.xml
index 48b3ab5607b..a6bdba56b1c 100644
--- a/addons/hr_payroll/security/hr_payroll_security.xml
+++ b/addons/hr_payroll/security/hr_payroll_security.xml
@@ -5,7 +5,7 @@
Officer
-
+
diff --git a/odoo/addons/base/data/ir_module_category_data.xml b/odoo/addons/base/data/ir_module_category_data.xml
index 150e3b705a2..b308d0cf22c 100644
--- a/odoo/addons/base/data/ir_module_category_data.xml
+++ b/odoo/addons/base/data/ir_module_category_data.xml
@@ -72,6 +72,12 @@
10
+
+ Contracts
+ Helps you manage your contracts.
+ 10
+
+
Recruitment
Helps you manage your recruitments.