تخطي للذهاب إلى المحتوى
القائمة
لقد تم الإبلاغ عن هذا السؤال
2 الردود
14988 أدوات العرض

i have the following button in my form:

xml
<button name="button_approve" string="Approve order" attrs="{'invisible':['|', ('manager_id', '=','current_user'),('state' , 'not in', ['to approve'])]}
 <field name="dept_manager_id"/>
 <field name="current_user"/>

python
manager_id = fields.Many2one('res.users'
current_user = fields.Many2one('res.users', compute='_get_current_user')
    @api.depends()
    def _get_current_user(self):
        for rec in self:
            rec.current_user = self.env.user
        self.write({'current_user': self.env.user.id})
The attrs is designed to show the button only for orders if 'current_user' = 'manager_id' , with a status of 'to approve', however only the second part of the condition (status of 'to approve') was being evaluated correctly.

الصورة الرمزية
إهمال
أفضل إجابة

Hi Saud, 

Seems like you wanted to hide button for current user which same as manager, or, state is 'to approve'.
try with : attrs="{'invisible':['|', ('manager_id.id', '=',user.id),('state' , 'not in', ['to approve'])]}
Also no need to store current user to field current_user.

الصورة الرمزية
إهمال

As far as my understanding, user.id will work only with the domain, not with attrs

Indeed @Niyas, that is why in my suggestion, i added a compute field for that.

أفضل إجابة

Hi, 
Please follow instructions i gave in this link : https://www.odoo.com/fr_FR/forum/aide-1/question/maintenance-request-read-only-view-136023#answer-136027

Notes:

1-Since your case is about 'invisible', you can name your variable field_invisible.

2- you need to get the group your manager belongs to and add it in the section has_group.

3- in your field, you add attrs={'invisible':['|', ('field_invisible', '=', True), ('state' , 'not in', ['to approve'])]} and the boolean should be declared in your form with invisible="1".

Upvote if this helps. 

Thank you.

الصورة الرمزية
إهمال
المنشورات ذات الصلة الردود أدوات العرض النشاط
2
يونيو 19
15971
3
مايو 16
3849
1
سبتمبر 15
5496
1
مارس 15
4719
2
مايو 24
7677