summaryrefslogtreecommitdiff
path: root/addons/hr_timesheet/security/hr_timesheet_security.xml
diff options
context:
space:
mode:
authorstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
committerstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
commit3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch)
treea44932296ef4a9b71d5f010906253d8c53727726 /addons/hr_timesheet/security/hr_timesheet_security.xml
parent0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff)
initial commit 2
Diffstat (limited to 'addons/hr_timesheet/security/hr_timesheet_security.xml')
-rw-r--r--addons/hr_timesheet/security/hr_timesheet_security.xml67
1 files changed, 67 insertions, 0 deletions
diff --git a/addons/hr_timesheet/security/hr_timesheet_security.xml b/addons/hr_timesheet/security/hr_timesheet_security.xml
new file mode 100644
index 00000000..bbc568f2
--- /dev/null
+++ b/addons/hr_timesheet/security/hr_timesheet_security.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<odoo>
+ <data noupdate="1">
+ <record model="ir.module.category" id="base.module_category_services_timesheets">
+ <field name="description">Helps you manage the timesheets.</field>
+ <field name="sequence">13</field>
+ </record>
+
+ <record id="group_hr_timesheet_user" model="res.groups">
+ <field name="name">See own timesheets</field>
+ <field name="category_id" ref="base.module_category_services_timesheets"/>
+ <field name="implied_ids" eval="[(4, ref('base.group_user'))]"/>
+ <field name="users" eval="[(4, ref('base.user_root')), (4, ref('base.user_admin'))]"/>
+ </record>
+
+ <record id="group_hr_timesheet_approver" model="res.groups">
+ <field name="name">Approver</field>
+ <field name="category_id" ref="base.module_category_services_timesheets"/>
+ <field name="implied_ids" eval="[(4, ref('hr_timesheet.group_hr_timesheet_user'))]"/>
+ </record>
+
+ <record id="group_timesheet_manager" model="res.groups">
+ <field name="name">Administrator</field>
+ <field name="category_id" ref="base.module_category_services_timesheets"/>
+ <field name="implied_ids" eval="[(4, ref('hr_timesheet.group_hr_timesheet_approver')), (4, ref('hr.group_hr_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('group_timesheet_manager'))]"/>
+ </record>
+
+ <record id="timesheet_line_rule_user" model="ir.rule">
+ <field name="name">account.analytic.line.timesheet.user</field>
+ <field name="model_id" ref="analytic.model_account_analytic_line"/>
+ <field name="domain_force">[
+ ('user_id', '=', user.id),
+ ('project_id', '!=', False),
+ '|', '|',
+ ('project_id.privacy_visibility', '!=', 'followers'),
+ ('project_id.allowed_internal_user_ids', 'in', user.ids),
+ ('task_id.allowed_user_ids', 'in', user.ids)
+ ]</field>
+ <field name="groups" eval="[(4, ref('group_hr_timesheet_user'))]"/>
+ </record>
+
+ <record id="timesheet_line_rule_approver" model="ir.rule">
+ <field name="name">account.analytic.line.timesheet.approver</field>
+ <field name="model_id" ref="analytic.model_account_analytic_line" />
+ <field name="domain_force">[
+ ('project_id', '!=', False),
+ '|',
+ ('project_id.privacy_visibility', '!=', 'followers'),
+ ('project_id.allowed_internal_user_ids', 'in', user.ids)
+ ]</field>
+ <field name="groups" eval="[(4, ref('hr_timesheet.group_hr_timesheet_approver'))]" />
+ </record>
+
+ <record id="timesheet_line_rule_manager" model="ir.rule">
+ <field name="name">account.analytic.line.timesheet.manager</field>
+ <field name="model_id" ref="analytic.model_account_analytic_line"/>
+ <field name="domain_force">[('project_id', '!=', False)]</field>
+ <field name="groups" eval="[(4, ref('group_timesheet_manager'))]"/>
+ </record>
+
+ </data>
+</odoo>