diff options
| author | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
|---|---|---|
| committer | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
| commit | 3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch) | |
| tree | a44932296ef4a9b71d5f010906253d8c53727726 /addons/hr_expense/security | |
| parent | 0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff) | |
initial commit 2
Diffstat (limited to 'addons/hr_expense/security')
| -rw-r--r-- | addons/hr_expense/security/hr_expense_security.xml | 30 | ||||
| -rw-r--r-- | addons/hr_expense/security/ir.model.access.csv | 17 | ||||
| -rw-r--r-- | addons/hr_expense/security/ir_rule.xml | 74 |
3 files changed, 121 insertions, 0 deletions
diff --git a/addons/hr_expense/security/hr_expense_security.xml b/addons/hr_expense/security/hr_expense_security.xml new file mode 100644 index 00000000..dcece81f --- /dev/null +++ b/addons/hr_expense/security/hr_expense_security.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + <record model="ir.module.category" id="base.module_category_human_resources_expenses"> + <field name="description">Helps you manage your expenses.</field> + <field name="sequence">12</field> + </record> + + <record id="group_hr_expense_team_approver" model="res.groups"> + <field name="name">Team Approver</field> + <field name="category_id" ref="base.module_category_human_resources_expenses"/> + <field name="implied_ids" eval="[(4, ref('base.group_user'))]"/> + </record> + + <record id="group_hr_expense_user" model="res.groups"> + <field name="name">All Approver</field> + <field name="category_id" ref="base.module_category_human_resources_expenses"/> + <field name="implied_ids" eval="[(4, ref('hr_expense.group_hr_expense_team_approver'))]"/> + </record> + + <record id="group_hr_expense_manager" model="res.groups"> + <field name="name">Administrator</field> + <field name="category_id" ref="base.module_category_human_resources_expenses"/> + <field name="implied_ids" eval="[(4, ref('hr_expense.group_hr_expense_user'))]"/> + <field name="users" eval="[(4, ref('base.user_root')), (4, ref('base.user_admin'))]"/> + </record> + + <record id="base.default_user" model="res.users"> + <field name="groups_id" eval="[(4,ref('hr_expense.group_hr_expense_manager'))]"/> + </record> +</odoo> diff --git a/addons/hr_expense/security/ir.model.access.csv b/addons/hr_expense/security/ir.model.access.csv new file mode 100644 index 00000000..20b500b2 --- /dev/null +++ b/addons/hr_expense/security/ir.model.access.csv @@ -0,0 +1,17 @@ +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_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_manager,1,1,1,1
+access_product_template_hr_expense_user,product.template.hr.expense.user,product.model_product_template,hr_expense.group_hr_expense_manager,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_move_user,account.move.hr.expense.approver,account.model_account_move,hr_expense.group_hr_expense_team_approver,1,0,0,0
+access_account_move_line_user,account.move.line.hr.expense.approver,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
+access_hr_expense_refuse_wizard,access.hr.expense.refuse.wizard,model_hr_expense_refuse_wizard,hr_expense.group_hr_expense_team_approver,1,1,1,0
diff --git a/addons/hr_expense/security/ir_rule.xml b/addons/hr_expense/security/ir_rule.xml new file mode 100644 index 00000000..b775a454 --- /dev/null +++ b/addons/hr_expense/security/ir_rule.xml @@ -0,0 +1,74 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo noupdate="1"> + + <record id="ir_rule_hr_expense_manager" model="ir.rule"> + <field name="name">Manager Expense</field> + <field name="model_id" ref="model_hr_expense"/> + <field name="domain_force">[(1, '=', 1)]</field> + <field name="groups" eval="[ + (4, ref('account.group_account_user')), + (4, ref('hr_expense.group_hr_expense_user'))]"/> + </record> + <record id="ir_rule_hr_expense_approver" model="ir.rule"> + <field name="name">Team Approver Expense</field> + <field name="model_id" ref="model_hr_expense"/> + <field name="domain_force">['|', '|', '|', + ('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)]</field> + <field name="groups" eval="[(4, ref('hr_expense.group_hr_expense_team_approver'))]"/> + </record> + <record id="ir_rule_hr_expense_employee" model="ir.rule"> + <field name="name">Employee Expense</field> + <field name="model_id" ref="model_hr_expense"/> + <field name="domain_force">[('employee_id.user_id', '=', user.id)]</field> + <field name="groups" eval="[(4, ref('base.group_user'))]"/> + </record> + + <record id="ir_rule_hr_expense_sheet_manager" model="ir.rule"> + <field name="name">Manager Expense Sheet</field> + <field name="model_id" ref="model_hr_expense_sheet"/> + <field name="domain_force">[(1, '=', 1)]</field> + <field name="groups" eval="[ + (4, ref('account.group_account_user')), + (4, ref('hr_expense.group_hr_expense_user'))]"/> + </record> + <record id="ir_rule_hr_expense_sheet_approver" model="ir.rule"> + <field name="name">Approver Expense Sheet</field> + <field name="model_id" ref="model_hr_expense_sheet"/> + <field name="domain_force">['|', '|', '|', + ('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)]</field> + <field name="groups" eval="[(4, ref('hr_expense.group_hr_expense_team_approver'))]"/> + </record> + <record id="ir_rule_hr_expense_sheet_employee" model="ir.rule"> + <field name="name">Employee Expense Sheet</field> + <field name="model_id" ref="model_hr_expense_sheet"/> + <field name="domain_force">[('employee_id.user_id', '=', user.id)]</field> + <field name="groups" eval="[(4, ref('base.group_user'))]"/> + </record> + + <record id="hr_expense_comp_rule" model="ir.rule"> + <field name="name">Expense multi company rule</field> + <field name="model_id" ref="model_hr_expense"/> + <field eval="True" name="global"/> + <field name="domain_force">['|',('company_id', '=', False), ('company_id', 'in', company_ids)]</field> + </record> + <record id="hr_expense_report_comp_rule" model="ir.rule"> + <field name="name">Expense Report multi company rule</field> + <field name="model_id" ref="model_hr_expense_sheet"/> + <field eval="True" name="global"/> + <field name="domain_force">['|',('company_id', '=', False), ('company_id', 'in', company_ids)]</field> + </record> + + <record id="hr_expense_team_approver_account_move_line_rule" model="ir.rule"> + <field name="name">Expense Team Approver Account Move Line</field> + <field name="model_id" ref="account.model_account_move_line"/> + <field name="domain_force">[('expense_id', '!=', False)]</field> + <field name="groups" eval="[(4, ref('hr_expense.group_hr_expense_team_approver'))]"/> + </record> + +</odoo> |
