تخطي للذهاب إلى المحتوى
القائمة
لقد تم الإبلاغ عن هذا السؤال
3 الردود
8338 أدوات العرض

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!

المنشورات ذات الصلة الردود أدوات العرض النشاط
1
أبريل 24
14246
3
مارس 15
20714
0
مارس 15
4215
3
أبريل 23
34385
5
سبتمبر 20
13118