İçereği Atla
Menü
Bu soru işaretlendi
2 Cevaplar
1740 Görünümler

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
Vazgeç
Üretici

it is giving error user is not defined 


Üretici

it is ijust giving error user is not defined

En İyi Yanıt

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
Vazgeç
En İyi Yanıt

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
Vazgeç
İlgili Gönderiler Cevaplar Görünümler Aktivite
0
Ara 20
2076
0
Şub 25
18
1
Kas 22
1953
2
Mar 15
6815
0
Mar 15
3769