Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
3 Trả lời
5117 Lượt xem

Hello,


I have extended the hr.employee model by some fields and also extended the hr.employee.form view by one notebook page showing some user dependent sensible data. 

But this data should only be shown if the employee/user currently logged in selected his own record. If he selects the records of another employee I want the notebook page not to be shown to this user.


How can I achieve this?


Thanks for any help in advance!! 

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

Hello

You can achieve this using attrs.

You need to apply attrs on your new page like : attrs="{'invisible':[('user_id','!=',context.get('uid'))]}".

user_id is Related User field of hr.employee.

For Ex:

<page string="New Page" attrs="{'invisible':[('user_id','!=',context.get('uid'))]}">

<!-- Page content -->

</page>

Ảnh đại diện
Huỷ bỏ
Tác giả

Hi, unfortunately I get this error when applying your suggestion: AttributeError: Element '' cannot be located in parent view

Tác giả

After I put the expression in the right place it worked!!! Many thanks!

Câu trả lời hay nhất

Hi Major, just use domain attribute at related action of menu.

like this

<field name="domain">['partner_id', '=', uid]</field>


here uid is current User ID.

here i take  partner_id as example, just give whatever you want compare with current user id.

Ảnh đại diện
Huỷ bỏ
Tác giả

Does this also fit to a inherited view? Especially a notebook page?

Tác giả Câu trả lời hay nhất

Hi thanks to all for the answers! I will try them and report if it worked for me.

Ảnh đại diện
Huỷ bỏ
Bài viết liên quan Trả lời Lượt xem Hoạt động
1
thg 3 25
1285
0
thg 3 25
1264
0
thg 1 25
3312
0
thg 10 24
1291
1
thg 8 23
14624