Skip to Content
เมนู
คุณต้องลงทะเบียนเพื่อโต้ตอบกับคอมมูนิตี้
คำถามนี้ถูกตั้งค่าสถานะ
2 ตอบกลับ
1977 มุมมอง

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?

อวตาร
ละทิ้ง
ผู้เขียน

it is giving error user is not defined 


ผู้เขียน

it is ijust giving error user is not defined

คำตอบที่ดีที่สุด

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

อวตาร
ละทิ้ง
คำตอบที่ดีที่สุด

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.

อวตาร
ละทิ้ง
Related Posts ตอบกลับ มุมมอง กิจกรรม
0
ธ.ค. 20
2135
0
ก.พ. 25
18
1
พ.ย. 22
2124
2
มี.ค. 15
6932
0
มี.ค. 15
3831