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

Hi,

I'm trying to add a decoration to a badge in widget in a list view.
I have it working on a default view using this:

field name="status" widget="badge" decoration-success= "status == 'Done'"

But when I'm trying to use in on another view using xpath, I'm not able to get it right. I think that should be something like this:

    xpath expr="//field[@name='status']" position="attributes"
        attribute name="widget">badge attribute
        attribute name="decoration-success"> [['status','=','Done']] attribute
    xpath

Any suggestions?
Thanks

الصورة الرمزية
إهمال
الكاتب

I had to remove the symbols < > / because it was modifing the description. Sorry for that

الكاتب

Status is a ManytoOne field. It works with a selection field, but it doesnt with a ManytoOne field. I tried some alternatives like:
status.name == 'Done'
status.id == 13

But i get an error with any of these

أفضل إجابة

Hi, 
I would recommand that you create a related and stored field: 

status_name = field.Char(related='status.name', store=True, copy=False)

and then in your xml you put this:

widget="badge" decoration-success = " status_name == ' Done' "

Hope this helps.
Upvote if it does.

الصورة الرمزية
إهمال
الكاتب

Hi Ibrahim,

Thanks for the answer. I was aware of using a char field to hold the value, but I was trying to figure out if there was any option to use the information from the Many2One field to use on the Badge Attribute. I dont know if it is even possible.

الكاتب

Hi Ibrahim,

I couldnt find any better alternative. Im going to close it and use your answer. I was trying to avoid creating more fields.
Thanks

أفضل إجابة

Your XPath override should look like this

<xpath expr="//field[@name='status']" position="attributes">
​<attribute name="widget">badge</attribute>
 <attribute name="decoration-success">status == 'Done'</attribute>
<xpath>
الصورة الرمزية
إهمال
المنشورات ذات الصلة الردود أدوات العرض النشاط
2
أغسطس 20
3367
0
فبراير 16
5627
0
أكتوبر 21
3955
1
أبريل 16
4406
1
أغسطس 25
489