Skip to Content
Meniu
Trebuie să fiți înregistrat pentru a interacționa cu comunitatea.
Această întrebare a fost marcată
4 Răspunsuri
10298 Vizualizări

All I want is that each employee accessing module Employee in odoo just can see their own record, not others' records.

I have a solution where employee can see all records of other employees, but can't edit them - just their own records. I create new record rule in Settings > Technical > Security > Record Rules to do this solution

But this is not what I want :(

Any solution for my problem, please?

Imagine profil
Abandonează
Cel mai bun răspuns

Hey Lao Thai ,


You can try this in record rule i think it's help you [('user_id','=',user.id)]

Imagine profil
Abandonează

These is the perfect answer for such a question

Autor Cel mai bun răspuns

Hi Manish Bohra,

I've tried but this just help me with see all employee and edit own record, not record's other. Employee can see all record, it's not true at all. So any suggest more for me, sir?


And hi Ibrahim, 

What about file csv, I 've tried but this give me an error like this

Exception: Module loading Quy_Trinh_Du_An failed: file Quy_Trinh_Du_An\security/ir.model.access.csv could not be processed: No matching record found for external id 'model_hr_employee' in field 'Object'

Missing required value for the field 'Object' (model_id)

Any Idea?


I'm sorry, i don't have enough karma to answer each answer.

Imagine profil
Abandonează

Hi LaeThai,

what is the name of your model ? i just mentioned model_hr_employee for an example.

in csv file:

access_model_x_id,access_model_x,model_YOUR_MODDEL_Name,base.group_user,1,1,0,0

Cel mai bun răspuns

Try :

<record id="rule_case_RU_employes" model="ir.rule">

        <field name="name">RU Employes</field>

        <field name="model_id" ref="model_Your_MODEL"/>      // model_hr_employee ?

        <field name="global" eval="False"/>

        <field name="groups" eval="[(4, ref('base.group_user'))]"/>

        <field name="perm_read" eval="True"/>

        <field name="perm_write" eval="True"/>

        <field name="perm_create" eval="False"/>

        <field name="perm_unlink" eval="False"/>

        <field name="domain_force"> [('create_uid', '=', uid)] </field>

    </record>


Imagine profil
Abandonează

Hello Ibrahim,

[('create_uid', '=', uid)] this domain will not work, because some times manager or admin will create an employee.

managers/admin should create an employee

Cel mai bun răspuns

Yes, we can do it by record rules

[('user_id','=',user.id)]

Note : By using above record rule user can see only mapped employee details, use this record rule for employee group and manager group have domain [(1,'=',1)]

Imagine profil
Abandonează
Related Posts Răspunsuri Vizualizări Activitate
1
aug. 19
2889
0
dec. 18
3446
1
mar. 22
13492
1
iun. 21
6678
2
dec. 19
3093