تخطي للذهاب إلى المحتوى
القائمة
لقد تم الإبلاغ عن هذا السؤال
4 الردود
9774 أدوات العرض

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?

الصورة الرمزية
إهمال
أفضل إجابة

Hey Lao Thai ,


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

الصورة الرمزية
إهمال

These is the perfect answer for such a question

الكاتب أفضل إجابة

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.

الصورة الرمزية
إهمال

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

أفضل إجابة

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>


الصورة الرمزية
إهمال

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

أفضل إجابة

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

الصورة الرمزية
إهمال
المنشورات ذات الصلة الردود أدوات العرض النشاط
1
أغسطس 19
2594
0
ديسمبر 18
3116
1
مارس 22
12661
1
يونيو 21
6274
2
ديسمبر 19
2776