Přejít na obsah
Menu
You need to be registered to interact with the community.
This question has been flagged
4 Odpovědi
10238 Zobrazení

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?

Avatar
Zrušit
Nejlepší odpověď

Hey Lao Thai ,


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

Avatar
Zrušit

These is the perfect answer for such a question

Autor Nejlepší odpověď

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.

Avatar
Zrušit

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

Nejlepší odpověď

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>


Avatar
Zrušit

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

Nejlepší odpověď

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)]

Avatar
Zrušit
Related Posts Odpovědi Zobrazení Aktivita
1
srp 19
2876
0
pro 18
3419
1
bře 22
13410
1
čvn 21
6643
2
pro 19
3053