Odoo Help


Get the current company in xml

Mind And Go
on 6/16/14, 5:24 PM 5,014 views


I would like to filter datas with domain action and current company_id.
I tried many thinks without success :

<record id="action_tasks" model="ir.actions.act_window">
        <field name="name">tasks</field>
        <field name="res_model">project.task</field>
        <field name="view_type">form</field>
        <field name="view_mode">tree,form</field>
        <field name="context">{}</field>
        <field name="domain" >[('company_id','!=',context.get('company_id',False))]</field>

More generally how to create an action linked on a menu that is filtered on current company.
Is there any way to dynamically associate the menu to an action and return a filtered action_window?


In another way to Filter record using Record Rule

on 6/18/14, 6:07 AM
Mariusz Rajfura
On 8/6/14, 6:20 PM

I tested it on runbot => no success ccould it be a bug?

I have the same problem. Ho add mandatory filter for company_id?

Mariusz Rajfura
on 8/6/14, 6:21 PM

Hy Ray, thanks fro reading my post, unfortunately, I have this message name : ``` NameError: name 'user' is not defined

Mariusz Rajfura
on 8/15/14, 7:32 PM

Thanks to @Ray and @atchuthan for advice. It works implemented in rule. Small drawback is that this setting does not apply to the admin. Only an ordinary user has limited access to the data filtered by "company_id" rule.

Mariusz Rajfura
on 8/15/14, 7:43 PM

We already have a rule available for Project Task that was done for Multi-company

    <record model="ir.rule" id="task_comp_rule">
        <field name="name">Project/Task: multi-company</field>
        <field name="model_id" ref="model_project_task"/>
        <field name="global" eval="True"/>
        <field name="domain_force">['|',
                                        ('company_id', '=', False),
                                        ('company_id', 'child_of', [user.company_id.id]),

So, your requirement is to show the record for that particular company and not all its child company.  Then you need to change the RULE

<field name="domain_force">['|',
                                        ('company_id', '=', False),
                                        ('company_id', '=', [user.company_id.id]),

But, functionally making this change is a wrong move.

Ben Bernard
On 8/6/14, 10:16 PM

    [ ("company_id", "=", base.main_company) ] if you rely on only one company (this usually works).

Is there any way to dynamically associate the menu to an action and return a filtered action_window?

Override the search method in your model.

Check also https://www.odoo.com/forum/help-1/question/how-to-append-a-domain-with-to-existing-domain-58308#answer-58389.

Ray Carnes
On 6/18/14, 1:25 PM

[ ("company_id", "=", user.company_id.id) ]

I tried but result is

Uncaught Error: NameError: name 'user' is not defined

on 10/19/16, 4:29 AM

About This Community

This platform is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.


Odoo Training Center

Access to our E-learning platform and experience all Odoo Apps through learning videos, exercises and Quizz.

Test it now

Question tools

3 follower(s)


Asked: 6/16/14, 5:24 PM
Seen: 5014 times
Last updated: 3/16/15, 8:10 AM