Siirry sisältöön
Menu
Sinun on rekisteröidyttävä, jotta voit olla vuorovaikutuksessa yhteisön kanssa.
Tämä kysymys on merkitty
2 Vastaukset
1917 Näkymät

Is there any way to filter records with current user's company id in ir.actions.act_window as it doesnt work with "'company_id','=',user.company_id.id" as it says user is not defined which is given. Also ir.rule cannot be used as some of my functions and fields requires other company_id so ir.rule just gives error. Is there any way to do it within xml? or is there any other way?

Avatar
Hylkää
Tekijä

it is giving error user is not defined 


Tekijä

it is ijust giving error user is not defined

Paras vastaus

In Odoo, you cannot directly use user.company_id.id in the domain of ir.actions.act_window because XML does not have access to the user object

XML

<record id="your_action_id" model="ir.actions.act_window">
    <field name="name">Your Records</field>
    <field name="res_model">your.model</field>
    <field name="view_mode">tree,form</field>
    <field name="context">{'default_company_id': user.company_id.id}</field>
</record>

PY

from odoo import models, api

class YourModel(models.Model):
    _name = 'your.model'

    @api.model
    def default_get(self, fields):
        res = super().default_get(fields)
        res['company_id'] = self.env.user.company_id.id
        return res

Avatar
Hylkää
Paras vastaus

Hi,

Please refer to the code below:


Python


from odoo import models, fields, api


class YourModel(models.Model):

    _name = 'your.model' 

    _description = 'Your Model'


    user_company_id = fields.Many2one(

        'res.company',

        string="User's Company",

        compute='_compute_user_company_id',

        store=False

    )


    @api.depends_context('uid')

    def _compute_user_company_id(self):

        for rec in self:

            rec.user_company_id = self.env.company.id



XML:


<record id="action_your_model" model="ir.actions.act_window">

    <field name="name">Your Model</field>

    <field name="res_model">your.model</field>

    <field name="view_mode">tree,form</field>

    <field name="domain">[('company_id', '=', user_company_id)]</field>

</record>


Hope it helps.

Avatar
Hylkää
Aiheeseen liittyviä artikkeleita Vastaukset Näkymät Toimenpide
0
jouluk. 20
2119
0
helmik. 25
18
1
marrask. 22
2097
2
maalisk. 15
6912
0
maalisk. 15
3825