콘텐츠로 건너뛰기
메뉴
커뮤니티에 참여하려면 회원 가입을 하시기 바랍니다.
신고된 질문입니다
2 답글
14747 화면

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
8월 20
3470
0
2월 16
5722
0
10월 21
4026
1
4월 16
4478
1
8월 25
597