Skip to Content
Menu
This question has been flagged
3 Replies
6748 Views

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>

Avatar
Discard
Author

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

Best Answer

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.

Avatar
Discard
Author

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

Best Answer

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

Avatar
Discard
Author

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

Best Answer

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.

Avatar
Discard
Author

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?

Author

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 Replies Views Activity
1
Apr 24
12131
3
Mar 15
18876
0
Mar 15
2670
3
Apr 23
32028
5
Sep 20
11377