From ec07e72845a390cdf9cf72ebbbf4369ea92ecfbe Mon Sep 17 00:00:00 2001 From: jbm-odoo Date: Fri, 7 Dec 2018 12:50:03 +0000 Subject: [PATCH] [IMP] base,*: Reorganize access rights groups Purpose ======= Access group terminology is missleading. Yous have to be manager to administrate an application. This task consists to rename groups to be understandable for everyone. Groups should be reorganised on the users form to be more explicit. Specification ============= 1/ Rename 'Manager' to 'Administrator' in users groups. 2/ Define a hierarchy on access groups by using the category_id in the manifests A category 'Operations/Project' will create a category Project with a parent category 'Operations', and something smart is already developed (in modules/db.py) to avoid duplicating categories. 3/ Add a group in expenses to be able to approve expenses reports for my team. 4/ Add a group in timesheets to be able to approve timesheets for my team. 5/ Remove partially the useless crap in ir_module_category_data.xml 6/ Sort access rights groups on users form according to its parent category closes odoo/odoo#29362 Signed-off-by: "Yannick Tivisse (yti)" --- addons/account/__manifest__.py | 2 +- addons/account/security/account_security.xml | 11 +- addons/crm/__manifest__.py | 2 +- addons/event/__manifest__.py | 2 +- addons/event/security/event_security.xml | 11 +- addons/fleet/__manifest__.py | 2 +- addons/fleet/security/fleet_security.xml | 18 +- addons/hr/__manifest__.py | 2 +- addons/hr/security/hr_security.xml | 11 +- addons/hr_attendance/__manifest__.py | 2 +- .../security/hr_attendance_security.xml | 12 +- addons/hr_contract/__manifest__.py | 2 +- addons/hr_contract/security/security.xml | 9 +- addons/hr_expense/__manifest__.py | 2 +- addons/hr_expense/models/hr_employee.py | 4 +- addons/hr_expense/models/hr_expense.py | 22 +-- .../security/hr_expense_security.xml | 23 ++- .../hr_expense/security/ir.model.access.csv | 24 +-- addons/hr_expense/security/ir_rule.xml | 33 ++-- addons/hr_expense/tests/common.py | 2 +- .../hr_expense/views/hr_department_views.xml | 2 +- addons/hr_expense/views/hr_expense_views.xml | 10 +- addons/hr_holidays/__manifest__.py | 2 +- addons/hr_holidays/models/hr_leave.py | 2 +- .../security/hr_holidays_security.xml | 32 ++-- addons/hr_holidays/views/hr_leave_views.xml | 4 +- addons/hr_payroll/__manifest__.py | 2 +- .../security/hr_payroll_security.xml | 11 +- addons/hr_recruitment/__manifest__.py | 2 +- .../security/hr_recruitment_security.xml | 10 +- addons/hr_timesheet/__manifest__.py | 2 +- .../security/hr_timesheet_security.xml | 33 ++-- addons/hr_timesheet/views/hr_views.xml | 2 +- addons/im_livechat/__manifest__.py | 2 +- .../security/im_livechat_channel_security.xml | 6 +- addons/lunch/__manifest__.py | 2 +- addons/lunch/security/lunch_security.xml | 6 +- addons/maintenance/__manifest__.py | 2 +- addons/maintenance/security/maintenance.xml | 2 +- addons/mass_mailing/__manifest__.py | 2 +- .../security/mass_mailing_security.xml | 8 +- addons/mrp/__manifest__.py | 2 +- addons/mrp/security/mrp_security.xml | 11 +- addons/point_of_sale/__manifest__.py | 2 +- .../security/point_of_sale_security.xml | 11 +- addons/project/__manifest__.py | 2 +- addons/project/security/project_security.xml | 11 +- addons/purchase/__manifest__.py | 2 +- .../purchase/security/purchase_security.xml | 11 +- addons/sale/__manifest__.py | 2 +- addons/sales_team/__manifest__.py | 2 +- addons/sales_team/data/sales_team_data.xml | 8 - .../security/sales_team_security.xml | 13 +- addons/stock/__manifest__.py | 2 +- addons/stock/security/stock_security.xml | 11 +- addons/survey/__manifest__.py | 2 +- addons/survey/security/survey_security.xml | 11 +- addons/website/__manifest__.py | 2 +- addons/website/security/website_security.xml | 8 +- .../base/data/ir_module_category_data.xml | 160 ++---------------- odoo/addons/base/data/ir_module_module.xml | 34 ++-- odoo/addons/base/models/ir_module.py | 1 - odoo/addons/base/models/res_users.py | 35 ++-- odoo/addons/base/security/base_groups.xml | 3 - 64 files changed, 324 insertions(+), 362 deletions(-) diff --git a/addons/account/__manifest__.py b/addons/account/__manifest__.py index 89b3fdbc8be..4514659c9d9 100644 --- a/addons/account/__manifest__.py +++ b/addons/account/__manifest__.py @@ -12,7 +12,7 @@ The specific and easy-to-use Invoicing system in Odoo allows you to keep track o You could use this simplified accounting in case you work with an (external) account to keep your books, and you still want to keep track of payments. This module also offers you an easy method of registering payments, without having to encode complete abstracts of account. """, - 'category': 'Invoicing', + 'category': 'Accounting/Invoicing', 'website': 'https://www.odoo.com/page/billing', 'images' : ['images/accounts.jpeg','images/bank_statement.jpeg','images/cash_register.jpeg','images/chart_of_accounts.jpeg','images/customer_invoice.jpeg','images/journal_entries.jpeg'], 'depends' : ['base_setup', 'product', 'analytic', 'portal', 'digest'], diff --git a/addons/account/security/account_security.xml b/addons/account/security/account_security.xml index 69f3fca8bc8..df21d0861d1 100644 --- a/addons/account/security/account_security.xml +++ b/addons/account/security/account_security.xml @@ -2,9 +2,14 @@ + + Helps you handle your accounting needs, if you are not an accountant, we suggest you to install only the Invoicing. + 7 + + Billing - + @@ -38,8 +43,8 @@ - Billing Manager - + Billing Administrator + diff --git a/addons/crm/__manifest__.py b/addons/crm/__manifest__.py index 61b2e19d0a0..4b25fb7538e 100644 --- a/addons/crm/__manifest__.py +++ b/addons/crm/__manifest__.py @@ -4,7 +4,7 @@ { 'name': 'CRM', 'version': '1.0', - 'category': 'Sales', + 'category': 'Sales/CRM', 'sequence': 5, 'summary': 'Track leads and close opportunities', 'description': "", diff --git a/addons/event/__manifest__.py b/addons/event/__manifest__.py index a726ca2558b..ad7ff430dcc 100644 --- a/addons/event/__manifest__.py +++ b/addons/event/__manifest__.py @@ -3,7 +3,7 @@ 'name': 'Events Organization', 'version': '1.0', 'website': 'https://www.odoo.com/page/events', - 'category': 'Marketing', + 'category': 'Marketing/Events', 'summary': 'Trainings, Conferences, Meetings, Exhibitions, Registrations', 'description': """ Organization and management of Events. diff --git a/addons/event/security/event_security.xml b/addons/event/security/event_security.xml index 6694b0ff6b7..cf87135ddbe 100644 --- a/addons/event/security/event_security.xml +++ b/addons/event/security/event_security.xml @@ -1,15 +1,20 @@ + + Helps you manage your Events. + 18 + + User - + - Manager - + Administrator + diff --git a/addons/fleet/__manifest__.py b/addons/fleet/__manifest__.py index 0a874e3bda9..a61d2508b9d 100644 --- a/addons/fleet/__manifest__.py +++ b/addons/fleet/__manifest__.py @@ -4,7 +4,7 @@ 'name' : 'Fleet', 'version' : '0.1', 'sequence': 165, - 'category': 'Human Resources', + 'category': 'Human Resources/Fleet', 'website' : 'https://www.odoo.com/page/fleet', 'summary' : 'Manage your fleet and track car costs', 'description' : """ diff --git a/addons/fleet/security/fleet_security.xml b/addons/fleet/security/fleet_security.xml index 29777a1ab47..60580ef46ee 100644 --- a/addons/fleet/security/fleet_security.xml +++ b/addons/fleet/security/fleet_security.xml @@ -6,13 +6,13 @@ User - + - Manager + Administrator - + @@ -81,32 +81,32 @@ [('driver_id','=',user.partner_id.id)] - Manager has all rights on vehicle's contracts + Administrator has all rights on vehicle's contracts - Manager has all rights on vehicle's costs + Administrator has all rights on vehicle's costs - Manager has all rights on vehicle's services + Administrator has all rights on vehicle's services - Manager has all rights on vehicle's vehicle's odometer + Administrator has all rights on vehicle's vehicle's odometer - Manager has all rights on vehicle's fuel log + Administrator has all rights on vehicle's fuel log - Manager has all rights on vehicle + Administrator has all rights on vehicle diff --git a/addons/hr/__manifest__.py b/addons/hr/__manifest__.py index edac09aa6f5..7e8c5c61126 100644 --- a/addons/hr/__manifest__.py +++ b/addons/hr/__manifest__.py @@ -4,7 +4,7 @@ { 'name': 'Employees', 'version': '1.1', - 'category': 'Human Resources', + 'category': 'Human Resources/Employees', 'sequence': 75, 'summary': 'Centralize employee information', 'description': "", diff --git a/addons/hr/security/hr_security.xml b/addons/hr/security/hr_security.xml index aa08e5f0762..8d435e67463 100644 --- a/addons/hr/security/hr_security.xml +++ b/addons/hr/security/hr_security.xml @@ -1,17 +1,22 @@ + + Helps you manage your employees. + 9 + + Officer - + The user will be able to approve document created by employees. - Manager + Administrator The user will have access to the human resources configuration as well as statistic reports. - + diff --git a/addons/hr_attendance/__manifest__.py b/addons/hr_attendance/__manifest__.py index c9f67beadd8..e66f320371f 100644 --- a/addons/hr_attendance/__manifest__.py +++ b/addons/hr_attendance/__manifest__.py @@ -5,7 +5,7 @@ { 'name': 'Attendances', 'version': '2.0', - 'category': 'Human Resources', + 'category': 'Human Resources/Attendances', 'sequence': 81, 'summary': 'Track employee attendance', 'description': """ diff --git a/addons/hr_attendance/security/hr_attendance_security.xml b/addons/hr_attendance/security/hr_attendance_security.xml index e5b99ce9928..ade106bb139 100644 --- a/addons/hr_attendance/security/hr_attendance_security.xml +++ b/addons/hr_attendance/security/hr_attendance_security.xml @@ -1,22 +1,26 @@ + + Helps you manage the attendances. + 14 + Officer - + - Manager - + Administrator + Manual Attendance - + The user will gain access to the human resources attendance menu, enabling him to manage his own attendance. diff --git a/addons/hr_contract/__manifest__.py b/addons/hr_contract/__manifest__.py index 1e29b42238a..1d51ac0b9ca 100644 --- a/addons/hr_contract/__manifest__.py +++ b/addons/hr_contract/__manifest__.py @@ -4,7 +4,7 @@ { 'name': 'Employee Contracts', 'version': '1.0', - 'category': 'Human Resources', + 'category': 'Human Resources/Contracts', 'description': """ Add all information on the employee form to manage contracts. ============================================================= diff --git a/addons/hr_contract/security/security.xml b/addons/hr_contract/security/security.xml index 1e4cd3a829f..f189e67f0f3 100644 --- a/addons/hr_contract/security/security.xml +++ b/addons/hr_contract/security/security.xml @@ -1,9 +1,14 @@ + + Helps you manage your contracts. + 10 + + - Manager - + Administrator + diff --git a/addons/hr_expense/__manifest__.py b/addons/hr_expense/__manifest__.py index 1bbd090d7a8..fc59b584152 100644 --- a/addons/hr_expense/__manifest__.py +++ b/addons/hr_expense/__manifest__.py @@ -5,7 +5,7 @@ { 'name': 'Expenses', 'version': '2.0', - 'category': 'Human Resources', + 'category': 'Accounting/Expenses', 'sequence': 95, 'summary': 'Submit, validate and reinvoice employee expenses', 'description': """ diff --git a/addons/hr_expense/models/hr_employee.py b/addons/hr_expense/models/hr_employee.py index 085e50fc555..0e760a6cca4 100644 --- a/addons/hr_expense/models/hr_employee.py +++ b/addons/hr_expense/models/hr_employee.py @@ -14,13 +14,13 @@ class Employee(models.Model): # reads the related field `expense_manager_id` of `res.users` and retrieve its domain. # This is a problem because the `group_hr_expense_user` record has already been created but # not its associated `ir.model.data` which makes `self.env.ref(...)` fail. - group = self.env.ref('hr_expense.group_hr_expense_user', raise_if_not_found=False) + group = self.env.ref('hr_expense.group_hr_expense_team_approver', raise_if_not_found=False) return [('groups_id', 'in', group.ids)] if group else [] expense_manager_id = fields.Many2one( 'res.users', string='Expense Responsible', domain=_group_hr_expense_user_domain, - help="User responsible of expense approval. Should be Expense Manager.") + help="User responsible of expense approval. Should be Expense approver.") @api.onchange('parent_id') def _onchange_parent_id(self): diff --git a/addons/hr_expense/models/hr_expense.py b/addons/hr_expense/models/hr_expense.py index 2666a9d01ad..b0a8c584c67 100644 --- a/addons/hr_expense/models/hr_expense.py +++ b/addons/hr_expense/models/hr_expense.py @@ -33,12 +33,12 @@ class HrExpense(models.Model): def _get_employee_id_domain(self): res= [('id', '=', 0)] # Nothing accepted by domain, by default - if self.user_has_groups('hr_expense.group_hr_expense_manager') or self.user_has_groups('account.group_account_user'): + if self.user_has_groups('hr_expense.group_hr_expense_user') or self.user_has_groups('account.group_account_user'): res = [] # Then, domain accepts everything - elif self.user_has_groups('hr_expense.group_hr_expense_user') and self.env.user.employee_ids: + elif self.user_has_groups('hr_expense.group_hr_expense_team_approver') and self.env.user.employee_ids: employee = self.env.user.employee_ids[0] - res = ['|', '|', ('department_id.manager_id.id', '=', employee.id), - ('parent_id.id', '=', employee.id), ('expense_manager_id.id', '=', employee.id)] + res = ['|', '|', '|', ('department_id.manager_id.id', '=', employee.id), + ('parent_id.id', '=', employee.id), ('expense_manager_id.id', '=', employee.user_id.id), ('id', '=', employee.id)] elif self.env.user.employee_ids: employee = self.env.user.employee_ids[0] res = [('id', '=', employee.id)] @@ -623,7 +623,7 @@ class HrExpenseSheet(models.Model): @api.multi def _compute_can_reset(self): - is_expense_user = self.user_has_groups('hr_expense.group_hr_expense_user') + is_expense_user = self.user_has_groups('hr_expense.group_hr_expense_team_approver') for sheet in self: sheet.can_reset = is_expense_user if is_expense_user else sheet.employee_id.user_id == self.env.user @@ -737,15 +737,15 @@ class HrExpenseSheet(models.Model): @api.multi def approve_expense_sheets(self): - if not self.user_has_groups('hr_expense.group_hr_expense_user'): + if not self.user_has_groups('hr_expense.group_hr_expense_team_approver'): raise UserError(_("Only Managers and HR Officers can approve expenses")) elif not self.user_has_groups('hr_expense.group_hr_expense_manager'): - current_managers = self.employee_id.parent_id.user_id | self.employee_id.department_id.manager_id.user_id + current_managers = self.employee_id.expense_manager_id | self.employee_id.parent_id.user_id | self.employee_id.department_id.manager_id.user_id if self.employee_id.user_id == self.env.user: raise UserError(_("You cannot approve your own expenses")) - if not self.env.user in current_managers: + if not self.env.user in current_managers and not self.user_has_groups('hr_expense.group_hr_expense_user') and self.employee_id.expense_manager_id != self.env.user: raise UserError(_("You can only approve your department expenses")) responsible_id = self.user_id.id or self.env.user.id @@ -758,15 +758,15 @@ class HrExpenseSheet(models.Model): @api.multi def refuse_sheet(self, reason): - if not self.user_has_groups('hr_expense.group_hr_expense_user'): + if not self.user_has_groups('hr_expense.group_hr_expense_team_approver'): raise UserError(_("Only Managers and HR Officers can approve expenses")) elif not self.user_has_groups('hr_expense.group_hr_expense_manager'): - current_managers = self.employee_id.parent_id.user_id | self.employee_id.department_id.manager_id.user_id + current_managers = self.employee_id.expense_manager_id | self.employee_id.parent_id.user_id | self.employee_id.department_id.manager_id.user_id if self.employee_id.user_id == self.env.user: raise UserError(_("You cannot refuse your own expenses")) - if not self.env.user in current_managers: + if not self.env.user in current_managers and not self.user_has_groups('hr_expense.group_hr_expense_user') and self.employee_id.expense_manager_id != self.env.user: raise UserError(_("You can only refuse your department expenses")) self.write({'state': 'cancel'}) diff --git a/addons/hr_expense/security/hr_expense_security.xml b/addons/hr_expense/security/hr_expense_security.xml index 31809dbf201..a36c60a048f 100644 --- a/addons/hr_expense/security/hr_expense_security.xml +++ b/addons/hr_expense/security/hr_expense_security.xml @@ -1,14 +1,25 @@ - - Officer - + + Helps you manage your expenses. + 12 + + + + Team Approver + + + All Approver + + + + - Manager - + Administrator + @@ -16,4 +27,4 @@ - \ No newline at end of file + diff --git a/addons/hr_expense/security/ir.model.access.csv b/addons/hr_expense/security/ir.model.access.csv index f2d58d25114..238dd2e4845 100644 --- a/addons/hr_expense/security/ir.model.access.csv +++ b/addons/hr_expense/security/ir.model.access.csv @@ -1,19 +1,19 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink access_hr_expense_employee,hr.expense.employee,model_hr_expense,base.group_user,1,1,1,1 access_hr_expense_sheet_employee,hr.expense.sheet.employee,model_hr_expense_sheet,base.group_user,1,1,1,1 -access_hr_expense_user,hr.expense.user,model_hr_expense,hr_expense.group_hr_expense_user,1,1,1,1 -access_hr_expense_sheet_user,hr.expense.sheet.user,model_hr_expense_sheet,hr_expense.group_hr_expense_user,1,1,1,1 +access_hr_expense_user,hr.expense.user,model_hr_expense,hr_expense.group_hr_expense_team_approver,1,1,1,1 +access_hr_expense_sheet_user,hr.expense.sheet.user,model_hr_expense_sheet,hr_expense.group_hr_expense_team_approver,1,1,1,1 access_hr_expense_manager,hr.expense.manager,model_hr_expense,hr_expense.group_hr_expense_manager,1,1,1,1 access_hr_expense_sheet_manager,hr.expense.sheet.manager,model_hr_expense_sheet,hr_expense.group_hr_expense_manager,1,1,1,1 -access_product_product_hr_expense_user,product.product.hr.expense.user,product.model_product_product,hr_expense.group_hr_expense_user,1,1,1,1 -access_product_template_hr_expense_user,product.template.hr.expense.user,product.model_product_template,hr_expense.group_hr_expense_user,1,1,1,1 -access_uom_uom_hr_expense_user,uom.uom.hr.expense.user,uom.model_uom_uom,hr_expense.group_hr_expense_user,1,1,1,1 -access_account_journal_user,account.journal.user,account.model_account_journal,hr_expense.group_hr_expense_user,1,1,1,1 +access_product_product_hr_expense_user,product.product.hr.expense.user,product.model_product_product,hr_expense.group_hr_expense_team_approver,1,1,1,1 +access_product_template_hr_expense_user,product.template.hr.expense.user,product.model_product_template,hr_expense.group_hr_expense_team_approver,1,1,1,1 +access_uom_uom_hr_expense_user,uom.uom.hr.expense.user,uom.model_uom_uom,hr_expense.group_hr_expense_team_approver,1,1,1,1 +access_account_journal_user,account.journal.user,account.model_account_journal,hr_expense.group_hr_expense_team_approver,1,1,1,1 access_account_journal_employee,account.journal.employee,account.model_account_journal,base.group_user,1,0,0,0 -access_account_invoice_user,account.invoice.user,account.model_account_invoice,hr_expense.group_hr_expense_user,1,1,1,1 -access_account_invoice_line_user,account.invoice.line.user,account.model_account_invoice_line,hr_expense.group_hr_expense_user,1,1,1,1 -access_account_invoice_tax_user,account.invoice.tax.user,account.model_account_invoice_tax,hr_expense.group_hr_expense_user,1,0,0,0 -access_account_move_user,account.move.user,account.model_account_move,hr_expense.group_hr_expense_user,1,0,0,0 -access_account_move_line_user,account.move.line.user,account.model_account_move_line,hr_expense.group_hr_expense_user,1,0,0,0 -access_account_analytic_line_user,account.analytic.line.user,account.model_account_analytic_line,hr_expense.group_hr_expense_user,1,1,1,1 +access_account_invoice_user,account.invoice.user,account.model_account_invoice,hr_expense.group_hr_expense_team_approver,1,1,1,1 +access_account_invoice_line_user,account.invoice.line.user,account.model_account_invoice_line,hr_expense.group_hr_expense_team_approver,1,1,1,1 +access_account_invoice_tax_user,account.invoice.tax.user,account.model_account_invoice_tax,hr_expense.group_hr_expense_team_approver,1,0,0,0 +access_account_move_user,account.move.user,account.model_account_move,hr_expense.group_hr_expense_team_approver,1,0,0,0 +access_account_move_line_user,account.move.line.user,account.model_account_move_line,hr_expense.group_hr_expense_team_approver,1,0,0,0 +access_account_analytic_line_user,account.analytic.line.user,account.model_account_analytic_line,hr_expense.group_hr_expense_team_approver,1,1,1,1 access_mail_activity_type_expense_user,mail.activity.type.expense.user,mail.model_mail_activity_type,hr_expense.group_hr_expense_manager,1,1,1,1 diff --git a/addons/hr_expense/security/ir_rule.xml b/addons/hr_expense/security/ir_rule.xml index 5836c97b83a..51a3a8d641d 100644 --- a/addons/hr_expense/security/ir_rule.xml +++ b/addons/hr_expense/security/ir_rule.xml @@ -1,24 +1,23 @@ - Manager Expense [(1, '=', 1)] + (4, ref('hr_expense.group_hr_expense_user'))]"/> - - Officer Expense + + Team Approver Expense ['|', '|', '|', - ('employee_id.user_id.id', '=', user.id), - ('employee_id.department_id.manager_id.user_id.id', '=', user.id), - ('employee_id.parent_id.user_id.id', '=', user.id), - ('employee_id.expense_manager_id.id', '=', user.id)] - + ('employee_id.user_id', '=', user.id), + ('employee_id.department_id.manager_id.user_id', '=', user.id), + ('employee_id.parent_id.user_id', '=', user.id), + ('employee_id.expense_manager_id', '=', user.id)] + Employee Expense @@ -33,17 +32,17 @@ [(1, '=', 1)] + (4, ref('hr_expense.group_hr_expense_user'))]"/> - - Officer Expense Sheet + + Approver Expense Sheet ['|', '|', '|', - ('employee_id.user_id.id', '=', user.id), - ('employee_id.department_id.manager_id.user_id.id', '=', user.id), - ('employee_id.parent_id.user_id.id', '=', user.id), - ('employee_id.expense_manager_id.id', '=', user.id)] - + ('employee_id.user_id', '=', user.id), + ('employee_id.department_id.manager_id.user_id', '=', user.id), + ('employee_id.parent_id.user_id', '=', user.id), + ('employee_id.expense_manager_id', '=', user.id)] + Employee Expense Sheet diff --git a/addons/hr_expense/tests/common.py b/addons/hr_expense/tests/common.py index 0a6a6cb838d..7c40688db48 100644 --- a/addons/hr_expense/tests/common.py +++ b/addons/hr_expense/tests/common.py @@ -74,7 +74,7 @@ class TestExpenseCommon(TestAccountNoChartCommon): 'name': 'Batman Officer', 'login': 'batman', 'email': 'batman.hero@example.com', - 'groups_id': [(6, 0, [group_employee_id, cls.env.ref('hr_expense.group_hr_expense_user').id])] + 'groups_id': [(6, 0, [group_employee_id, cls.env.ref('hr_expense.group_hr_expense_team_approver').id])] }) cls.emp_emp2 = cls.env['hr.employee'].create({ diff --git a/addons/hr_expense/views/hr_department_views.xml b/addons/hr_expense/views/hr_department_views.xml index d8d007668f1..b603ee9b776 100644 --- a/addons/hr_expense/views/hr_department_views.xml +++ b/addons/hr_expense/views/hr_department_views.xml @@ -4,7 +4,7 @@ hr.department.kanban.inherit hr.department - + diff --git a/addons/hr_expense/views/hr_expense_views.xml b/addons/hr_expense/views/hr_expense_views.xml index 784bec11e23..5f5dd91bb66 100644 --- a/addons/hr_expense/views/hr_expense_views.xml +++ b/addons/hr_expense/views/hr_expense_views.xml @@ -90,7 +90,7 @@ - + @@ -208,7 +208,7 @@ - + @@ -451,11 +451,11 @@
@@ -811,7 +811,7 @@ if records: - + + + Helps you manage your time off. + 10 + - Team Leader - + Team Approver + - Officer - + All Approver + - Manager - + Administrator + @@ -42,7 +46,7 @@
- Time Off: Team Leader: write on employee's time off in his team + Time Off: approver: write on employee's time off in his team [('employee_id.leave_manager_id', '=' , user.id)] @@ -52,7 +56,7 @@ - Time Off: officer: read all + Time Off: see all time off: read all [(1, '=', 1)] @@ -62,7 +66,7 @@ - Time Off: officer: create/write/unlink own + managed employee + without department + same or managed department + Time Off: see all time off: create/write/unlink own + managed employee + without department + same or managed department ['|', '|', ('employee_id.user_id', '=', user.id), ('employee_id.parent_id.user_id', '=', user.id), @@ -72,7 +76,7 @@ - Time Off: manager: no limit + Time Off: administrator: no limit [(1, '=', 1)] @@ -104,7 +108,7 @@ - Allocations: officer: read all + Allocations: see all time off: read all [(1, '=', 1)] @@ -114,7 +118,7 @@ - Allocations: officer: create/write/unlink own + managed employee + without department + same or managed department + Allocations: see all time off: create/write/unlink own + managed employee + without department + same or managed department ['|', '|', ('employee_id.user_id', '=', user.id), ('employee_id.parent_id.user_id', '=', user.id), @@ -123,14 +127,14 @@ - Allocations: manager: no limit + Allocations: administrator: no limit [(1, '=', 1)] - Time Off Resources: Team Leader + Time Off Resources: Approver [(1,'=',1)] diff --git a/addons/hr_holidays/views/hr_leave_views.xml b/addons/hr_holidays/views/hr_leave_views.xml index f1e2865fd66..29165d1c53e 100644 --- a/addons/hr_holidays/views/hr_leave_views.xml +++ b/addons/hr_holidays/views/hr_leave_views.xml @@ -521,8 +521,8 @@ form tree,kanban,form,calendar,activity { - 'search_default_managed_people': 1, - 'search_default_my_team_leaves': 1 + 'search_default_managed_people':1, + 'search_default_my_team_leaves':1, 'search_default_approve':1} [] diff --git a/addons/hr_payroll/__manifest__.py b/addons/hr_payroll/__manifest__.py index 0ea4b76f672..7db1abaaa1e 100644 --- a/addons/hr_payroll/__manifest__.py +++ b/addons/hr_payroll/__manifest__.py @@ -3,7 +3,7 @@ { 'name': 'Payroll', - 'category': 'Human Resources', + 'category': 'Human Resources/Payroll', 'sequence': 38, 'summary': 'Manage your employee payroll records', 'description': "", diff --git a/addons/hr_payroll/security/hr_payroll_security.xml b/addons/hr_payroll/security/hr_payroll_security.xml index baba9e4f4b9..f8e2ab7bd7e 100644 --- a/addons/hr_payroll/security/hr_payroll_security.xml +++ b/addons/hr_payroll/security/hr_payroll_security.xml @@ -2,15 +2,20 @@ + + Helps you manage your payrolls. + 16 + + Officer - + - Manager - + Administrator + diff --git a/addons/hr_recruitment/__manifest__.py b/addons/hr_recruitment/__manifest__.py index 1c95180e444..638dce1a1d1 100644 --- a/addons/hr_recruitment/__manifest__.py +++ b/addons/hr_recruitment/__manifest__.py @@ -4,7 +4,7 @@ { 'name': 'Recruitment', 'version': '1.0', - 'category': 'Human Resources', + 'category': 'Human Resources/Recruitment', 'sequence': 90, 'summary': 'Track your recruitment pipeline', 'description': "", diff --git a/addons/hr_recruitment/security/hr_recruitment_security.xml b/addons/hr_recruitment/security/hr_recruitment_security.xml index 5544210128e..85949b967dd 100644 --- a/addons/hr_recruitment/security/hr_recruitment_security.xml +++ b/addons/hr_recruitment/security/hr_recruitment_security.xml @@ -1,6 +1,10 @@ + + Helps you manage your recruitments. + 11 + Applicant multi company rule @@ -11,13 +15,13 @@ Officer - + - Manager - + Administrator + diff --git a/addons/hr_timesheet/__manifest__.py b/addons/hr_timesheet/__manifest__.py index 71f3721ab44..22af4117533 100644 --- a/addons/hr_timesheet/__manifest__.py +++ b/addons/hr_timesheet/__manifest__.py @@ -5,7 +5,7 @@ { 'name': 'Task Logs', 'version': '1.0', - 'category': 'Human Resources', + 'category': 'Operations/Timesheets', 'sequence': 23, 'summary': 'Track employee time on tasks', 'description': """ diff --git a/addons/hr_timesheet/security/hr_timesheet_security.xml b/addons/hr_timesheet/security/hr_timesheet_security.xml index b4d089c54a4..ac2d422a43e 100644 --- a/addons/hr_timesheet/security/hr_timesheet_security.xml +++ b/addons/hr_timesheet/security/hr_timesheet_security.xml @@ -1,26 +1,21 @@ - - - - User - - - + + Helps you manage the timesheets. + 13 - - Manager - - + + See all Timesheets + + - @@ -36,6 +31,18 @@ + + Team Approver + + + + + + Administrator + + + + @@ -48,7 +55,7 @@ - + diff --git a/addons/hr_timesheet/views/hr_views.xml b/addons/hr_timesheet/views/hr_views.xml index b18a86eb7f2..739c126bdf0 100644 --- a/addons/hr_timesheet/views/hr_views.xml +++ b/addons/hr_timesheet/views/hr_views.xml @@ -42,7 +42,7 @@ -