Overslaan naar inhoud
Menu
Je moet geregistreerd zijn om te kunnen communiceren met de community.
Deze vraag is gerapporteerd
2 Antwoorden
1763 Weergaven

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
Annuleer
Auteur

it is giving error user is not defined 


Auteur

it is ijust giving error user is not defined

Beste antwoord

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
Annuleer
Beste antwoord

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
Annuleer
Gerelateerde posts Antwoorden Weergaven Activiteit
0
dec. 20
2081
0
feb. 25
18
1
nov. 22
1970
2
mrt. 15
6842
0
mrt. 15
3785