Ir al contenido
Menú
Se marcó esta pregunta
3 Respuestas
7993 Vistas

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
Descartar
Autor

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

Mejor respuesta

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
Descartar
Autor

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

Mejor respuesta

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
Descartar
Autor

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

Mejor respuesta

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
Descartar
Autor

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?

Autor

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

Publicaciones relacionadas Respuestas Vistas Actividad
1
abr 24
13779
3
mar 15
20382
0
mar 15
3899
3
abr 23
33905
5
sept 20
12813