<odoo>
<!-- Define Staff Group -->
<record id="group_project_staff" model="res.groups">
<field name="name">Project Staff</field>
<field name="category_id" ref="base.module_category_project"/>
<field name="implied_ids" eval="[(4, ref('base.group_user'))]"/>
<field name="comment">Staff users have basic access to project tasks.</field>
</record>
<!-- Define Supervisor Group -->
<record id="group_project_supervisor" model="res.groups">
<field name="name">Project Supervisor</field>
<field name="category_id" ref="base.module_category_project"/>
<field name="implied_ids" eval="[(4, ref('group_project_staff'))]"/>
<field name="comment">Supervisors can oversee staff and project progress.</field>
</record>
<!-- Define Manager Group -->
<record id="group_project_manager" model="res.groups">
<field name="name">Project Manager</field>
<field name="category_id" ref="base.module_category_project"/>
<field name="implied_ids" eval="[(4, ref('group_project_supervisor'))]"/>
<field name="comment">Managers have full control over projects.</field>
</record>
<!-- Record Rule: Staff can only see projects where they are the Project Manager -->
<record id="rule_project_staff_own_projects" model="ir.rule">
<field name="name">Staff: View Own Projects</field>
<field name="model_id" ref="project.model_project_project"/>
<field name="groups" eval="[(6, 0, [ref('group_project_staff')])]"/>
<field name="domain_force">[('user_id', '=', user.id)]</field>
</record>
<!-- Record Rule: Supervisors can see projects they manage OR projects of their staff -->
<record id="rule_project_supervisor_own_and_team_projects" model="ir.rule">
<field name="name">Supervisor: View Own and Team Projects</field>
<field name="model_id" ref="project.model_project_project"/>
<field name="groups" eval="[(6, 0, [ref('group_project_supervisor')])]"/>
<field name="domain_force">[('user_id', '=', user.id)]</field>
</record>
<!-- Record Rule: Managers can see all projects -->
<record id="rule_project_manager_all_projects" model="ir.rule">
<field name="name">Manager: All Projects</field>
<field name="model_id" ref="project.model_project_project"/>
<field name="groups" eval="[(6, 0, [ref('group_project_manager')])]"/>
<field name="domain_force">[]</field>
</record>
</odoo>
this is my code i have created a hierarchy for staff, supervisor and manager.
then for supervisor i created a record rule to make visible only if he is the project manager [field: user_id(under project menu, form kanban view-> settings-> form), many2one to res.users].
issue:
the record rule is not applied on the user with project supervisor group
test cases:
1. i've commented Implied_ids for stop inheriting from other groups
2. i've tried changing user_id with created_uid in domain
3. i've tried hardcoding the user.id to its actual value with different ids in domain
4. i've ensured the user_id and created_uid fields both are in the DB
5. for the user i set the project supervisor role
6. i tried with eval="[Command.set([ref('group_project_supervisor')])]
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- CRM
- e-Commerce
- Contabilità
- Magazzino
- PoS
- Project
- MRP
La domanda è stata contrassegnata
810
Visualizzazioni
Ti stai godendo la conversazione? Non leggere soltanto, partecipa anche tu!
Crea un account oggi per scoprire funzionalità esclusive ed entrare a far parte della nostra fantastica community!
RegistratiPost correlati | Risposte | Visualizzazioni | Attività | |
---|---|---|---|---|
|
2
gen 24
|
3334 | ||
|
0
gen 24
|
1586 | ||
|
0
dic 20
|
2146 | ||
|
1
set 19
|
4945 | ||
|
0
giu 17
|
3190 |