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

In V6 you can set the permissions in crm.lead using this domain:

[('section_id','=',user.context_section_id.id)]

But in V7 context_section_id doesn't exist, so how can I filter this same domain in V7?

I'd tried this:

[('section_id.user_ids','in',[uid])]

and it gives me this error:

NameError: name 'uid' is not defined.

Also, trying this:

[('section_id','=',section_id.user_id)]

Gives:

NameError: name 'section_id' is not defined

So, it seems like there is no section_id for user_id

Maybe something like this would work:

'section_id','=',  'section_id' for 'member_id' of 'user_id' from 'sale_member_rel' table

But I don't know how to write this code...

Ảnh đại diện
Huỷ bỏ

Your question title is not clear. Please edit it. Also, make sure to escape your underscores to display them instead of writing in italic.

in early versions of v7, i used "user.section_id.id" but I had to add "default_" for the later versions of v7

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

this worked for me ('section_id','=',user.default_section_id.id)

Ảnh đại diện
Huỷ bỏ

Hi. I'm Santiago's partner. With ('section_id','=',user.default_section_id.id) we can see another error: AttributeError: "Field 'default_section_id' does not exist in object 'browse_record(res.users, 27)'" We only use CRM module, not Sales module. Maybe that's why?

Hi, do u have a test server? Try installing the following modules (CRM, Sales Management, Warehouse Management, Claim Management, LDAP, Document Management System). And you must set the default sales team under settings -> users -> preferences.

Tác giả

Thank you On Li Wee! We do have a test server and I'm almost sure that if we install SALES module, your code will work! But we want to keep a clean install with only the CRM that we are using now...

this one works for me. FYI

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

['|',('section_id.member_ids','in',[user.id]),('section_id','=',False)]

Ảnh đại diện
Huỷ bỏ

this can work, but cause can not read on res.partner select partner when create SO

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

Try something like:

[('section_id.user_ids','in',[uid])]

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

both ['|',('section_id.member_ids','in',[user.id]),('section_id','=',False)] and ['|', ('section_id','=',user.default_section_id.id), ,('section_id','=',False)] is worked to filter customer via sales teams.

and ['|',('section_id.member_ids','in',[user.id]),('section_id','=',False)] is the best filter.

but there have one issue.

when select partner in create SO, it raise error.

Access Denied

The requested operation cannot be completed due to security restrictions. Please contact your system administrator.

(Document type: Partner, Operation: read)

there may be have security conflict in those rules.

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

I'd tried this:

[('section_id.user_ids','in',[uid])]

and it gives me this error:

NameError: name 'uid' is not defined.

Also, trying this:

[('section_id','=',section_id.user_id)]

Gives:

NameError: name 'section_id' is not defined

So, it seems like there is no section_id for user_id

Maybe something like this would work:

'section_id','=',  'section_id' for 'member_id' of 'user_id' from 'sale_member_rel' table

but I don't know how to write this code...

Ảnh đại diện
Huỷ bỏ

Try to use user.id in place of uid, i hope that it will works

Tác giả

Another error: ValueError: Invalid field 'user_ids' in leaf "<osv.ExtendedLeaf: ('user_ids', 'in', [27]) on crm_case_section (ctx: )>

Bài viết liên quan Trả lời Lượt xem Hoạt động
3
thg 2 25
26254
1
thg 8 15
6039
0
thg 5 15
3798
1
thg 3 15
4768
0
thg 3 15
4602