Skip to Content
เมนู
คุณต้องลงทะเบียนเพื่อโต้ตอบกับคอมมูนิตี้
คำถามนี้ถูกตั้งค่าสถานะ
3 ตอบกลับ
8195 มุมมอง

I'm trying to create a geneic filter (for all users) to allow users to see the meetings in the calendar where they are included as attendees. I'm trying something like this:

[['partner_ids.child_ids','in',user.partner_id.id]]

but when using the filter I receive the error: Uncaught TypeError: Cannot read property 'length' of undefined http ://sv-openerp-test/web/static/src/js/views.js:791

Any ideas on how to do this? Thanks in advance!

NOTES: As far as I see the relationship between the meeting and the partners is "partner_ids" (instead of "attendee_ids"). The existing filter "My Meetings" shows the ones where I'm the creator of the meeting, but does not show the ones where I'm invited.

Search view:

View Name: CRM - Meetings Search

View Type: Search

Object: crm.meeting

External ID: base_calendar.view_crm_meeting_search

Sequence: 16

<search string="Search Meetings"> <field name="name" string="Meeting" filter_domain="[('name','ilike',self)]"/> <field name="partner_ids"/> <field name="categ_ids"/> <field name="user_id"/> <separator/> <filter string="My Meetings" help="My Meetings" domain="[('user_id','=',uid)]"/> <filter string="Unread Messages" name="message_unread" domain="[('message_unread','=',True)]"/> </search>

อวตาร
ละทิ้ง
ผู้เขียน

Additional comment: I'm trying to do this via settings->technical->user interface->user-defined filters

คำตอบที่ดีที่สุด

Hello

I would suggest to use rule functionality in security module. Apply your domain in rule for certain group and assign your users to that group. So when particular user login , he can see attendee specific meetings.

อวตาร
ละทิ้ง
ผู้เขียน

Thanks shashank, I would prefear to use a filter, and the case is I'm getting that error I can't solve.

คำตอบที่ดีที่สุด

Hi,

Go Settings >> Security >> Record Rule

Create Record rule and pass this domain ['|', ('attentdee_ids','in',user.id),('attentdee_ids','in',user.partner_id.id)]

อวตาร
ละทิ้ง
ผู้เขียน

Thanks Jack, I would prefear to use a filter, and the case is I'm getting that error I can't solve.

คำตอบที่ดีที่สุด

Domain operator 'in' expects a list as second argument, so please try:

[['partner_ids', 'in', [user.partner_id.id]]]

If you want the meeting to be visible to a whole company aswell try:

['|', ['partner_ids.child_ids', 'in', [user.partner_id.id]], ['partner_ids', 'in', [user.partner_id.id]]]


@ shashank verma and Jack:
Your suggestion to use record rules will indeed filter the meetings, but it's not possible for a user to deactivate this filter.

Regards.

อวตาร
ละทิ้ง
ผู้เขียน

René, thanks for your help. Unfortunately with both expressions I'm getting the same error described in my question. Any ideas? I'm just entering the model "Meeting", the expression in the Domain and {} in the Context.

Can you please post your complete search view?

ผู้เขียน

Sure, I've added it to the body of the question, please bear in mind all the views are the default ones. Thanks again!

Related Posts ตอบกลับ มุมมอง กิจกรรม
1
เม.ย. 24
14087
3
มี.ค. 15
20558
0
มี.ค. 15
4096
3
เม.ย. 23
34145
5
ก.ย. 20
12981