book/line: berechtigungen für owner, beobachter, bearbeiter + tests

This commit is contained in:
Frederik Jaeckel 2022-08-08 17:31:16 +02:00
parent 654e9d2ee7
commit b9bb433c39
9 changed files with 584 additions and 3 deletions

View file

@ -63,6 +63,50 @@ full copyright notices and license terms. -->
<field name="perm_delete" eval="False"/>
</record>
<!-- permission by rule - admin -->
<record model="ir.rule.group" id="rg_book_write_adm">
<field name="model" search="[('model', '=', 'cashbook.book')]"/>
<field name="name">Administrators: Cashbook read/write</field>
<field name="global_p" eval="False"/>
<field name="default_p" eval="False"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="True"/>
<field name="perm_create" eval="True"/>
<field name="perm_delete" eval="True"/>
</record>
<record model="ir.rule" id="rg_book_write_adm-1">
<field name="domain" eval="[]" pyson="1"/>
<field name="rule_group" ref="rg_book_write_adm"/>
</record>
<record model="ir.rule.group-res.group" id="rg_book_write_adm-group_admin">
<field name="rule_group" ref="rg_book_write_adm"/>
<field name="group" ref="res.group_admin"/>
</record>
<!-- permission by rule - read: owner, reviewer, observer -->
<record model="ir.rule.group" id="rg_book_read">
<field name="model" search="[('model', '=', 'cashbook.book')]"/>
<field name="name">Owners, observers and reviewers: Cashbook read</field>
<field name="global_p" eval="False"/>
<field name="default_p" eval="False"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="False"/>
<field name="perm_create" eval="False"/>
<field name="perm_delete" eval="False"/>
</record>
<record model="ir.rule" id="rg_book_read-1">
<field name="domain" eval="['OR',
('owner.id', '=', Eval('user', {}).get('id', -1)),
('observer.id', 'in', Eval('user', {}).get('groups', [])),
('reviewer.id', 'in', Eval('user', {}).get('groups', [])),
]" pyson="1"/>
<field name="rule_group" ref="rg_book_read"/>
</record>
<record model="ir.rule.group-res.group" id="rg_book_read-group_cashbook">
<field name="rule_group" ref="rg_book_read"/>
<field name="group" ref="group_cashbook"/>
</record>
<!-- button - open -->
<record model="ir.model.button" id="book_wfopen_button">
<field name="name">wfopen</field>