open-synergy/opnsynid-hr

View on GitHub
hr_timesheet_security/security/ir_rule_data.xml

Summary

Maintainability
Test Coverage
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 2018 OpenSynergy Indonesia
     License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl-3.0) -->
<openerp>
    <data noupdate="1">

        <!-- Timesheet -->
        <record id="hr_timesheet_sheet.timesheet_comp_rule" model="ir.rule">
            <field
                name="model_id"
                ref="hr_timesheet_sheet.model_hr_timesheet_sheet_sheet"
            />
            <field name="name"> Timesheet multi-company</field>
            <field name="active" eval="0" />
        </record>

        <!-- Employee -->
        <record id="ir_rule_timesheet_employee" model="ir.rule">
            <field
                name="model_id"
                ref="hr_timesheet_sheet.model_hr_timesheet_sheet_sheet"
            />
            <field name="domain_force">[
                ('employee_id.user_id.id','=',user.id),
                ]</field>
            <field name="name">Timesheet Rule for Employee</field>
            <field name="groups" eval="[(4, ref('base.group_user'))]" />
            <field eval="0" name="perm_unlink" />
            <field eval="0" name="perm_write" />
            <field eval="1" name="perm_read" />
            <field eval="0" name="perm_create" />
        </record>

        <!-- Operation -->
        <record id="ir_rule_timesheet_operation_user" model="ir.rule">
            <field
                name="model_id"
                ref="hr_timesheet_sheet.model_hr_timesheet_sheet_sheet"
            />
            <field name="domain_force">[
                ('employee_id.user_id.id','=',user.id),
                ]</field>
            <field name="name">Operation: Timesheet Rule for User</field>
            <field
                name="groups"
                eval="[(6, 0, [ref('group_timesheet_operation_user')])]"
            />
            <field eval="1" name="perm_unlink" />
            <field eval="1" name="perm_write" />
            <field eval="1" name="perm_read" />
            <field eval="1" name="perm_create" />
        </record>

        <record id="ir_rule_timesheet_operation_supervisor" model="ir.rule">
            <field
                name="model_id"
                ref="hr_timesheet_sheet.model_hr_timesheet_sheet_sheet"
            />
            <field name="domain_force">[
                ('employee_id.parent_id.id','child_of',user.employee_ids[0].id),
                ]</field>
            <field name="name">Operation: Timesheet Rule for Manager</field>
            <field
                name="groups"
                eval="[(6, 0, [ref('group_timesheet_operation_supervisor')])]"
            />
            <field eval="1" name="perm_unlink" />
            <field eval="1" name="perm_write" />
            <field eval="1" name="perm_read" />
            <field eval="1" name="perm_create" />
        </record>

        <record id="ir_rule_timesheet_operation_department" model="ir.rule">
            <field
                name="model_id"
                ref="hr_timesheet_sheet.model_hr_timesheet_sheet_sheet"
            />
            <field name="domain_force">[
                ('employee_id.department_id.manager_id.id','child_of',user.employee_ids[0].id),
                ]</field>
            <field name="name">Operation: Timesheet Rule for Department</field>
            <field
                name="groups"
                eval="[(6, 0, [ref('group_timesheet_operation_department')])]"
            />
            <field eval="1" name="perm_unlink" />
            <field eval="1" name="perm_write" />
            <field eval="1" name="perm_read" />
            <field eval="1" name="perm_create" />
        </record>

        <record id="ir_rule_timesheet_operation_company" model="ir.rule">
            <field
                name="model_id"
                ref="hr_timesheet_sheet.model_hr_timesheet_sheet_sheet"
            />
            <field name="domain_force">[
                ('employee_id.user_id.company_id.id','child_of',user.company_id.id),
                ]</field>
            <field name="name">Operation: Timesheet Rule for Company</field>
            <field
                name="groups"
                eval="[(6, 0, [ref('group_timesheet_operation_company')])]"
            />
            <field eval="1" name="perm_unlink" />
            <field eval="1" name="perm_write" />
            <field eval="1" name="perm_read" />
            <field eval="1" name="perm_create" />
        </record>

        <!-- Viewer -->
        <record id="ir_rule_timesheet_viewer_supervisor" model="ir.rule">
            <field
                name="model_id"
                ref="hr_timesheet_sheet.model_hr_timesheet_sheet_sheet"
            />
            <field name="domain_force">[
                ('employee_id.parent_id.id','child_of',user.employee_ids[0].id),
                ]</field>
            <field name="name">Viewer: Timesheet Rule for Manager</field>
            <field
                name="groups"
                eval="[(6, 0, [ref('group_timesheet_viewer_supervisor')])]"
            />
            <field eval="1" name="perm_unlink" />
            <field eval="1" name="perm_write" />
            <field eval="1" name="perm_read" />
            <field eval="1" name="perm_create" />
        </record>

        <record id="ir_rule_timesheet_viewer_department" model="ir.rule">
            <field
                name="model_id"
                ref="hr_timesheet_sheet.model_hr_timesheet_sheet_sheet"
            />
            <field name="domain_force">[
                ('employee_id.department_id.manager_id.id','child_of',user.employee_ids[0].id),
                ]</field>
            <field name="name">Viewer: Timesheet Rule for Department</field>
            <field
                name="groups"
                eval="[(6, 0, [ref('group_timesheet_viewer_department')])]"
            />
            <field eval="1" name="perm_unlink" />
            <field eval="1" name="perm_write" />
            <field eval="1" name="perm_read" />
            <field eval="1" name="perm_create" />
        </record>

        <record id="ir_rule_timesheet_viewer_company" model="ir.rule">
            <field
                name="model_id"
                ref="hr_timesheet_sheet.model_hr_timesheet_sheet_sheet"
            />
            <field name="domain_force">[
                ('employee_id.user_id.company_id.id','child_of',user.company_id.id),
                ]</field>
            <field name="name">Viewer: Timesheet Rule for Company</field>
            <field
                name="groups"
                eval="[(6, 0, [ref('group_timesheet_viewer_company')])]"
            />
            <field eval="1" name="perm_unlink" />
            <field eval="1" name="perm_write" />
            <field eval="1" name="perm_read" />
            <field eval="1" name="perm_create" />
        </record>

    </data>
</openerp>