Passa al contenuto
Menu
È necessario essere registrati per interagire con la community.
La domanda è stata contrassegnata
2 Risposte
1838 Visualizzazioni

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
Abbandona
Autore

it is giving error user is not defined 


Autore

it is ijust giving error user is not defined

Risposta migliore

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
Abbandona
Risposta migliore

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
Abbandona
Post correlati Risposte Visualizzazioni Attività
0
dic 20
2101
0
feb 25
18
1
nov 22
2028
2
mar 15
6896
0
mar 15
3810