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

Is there a way to get Language name that partner is chosen in rml report? In code I only saw you can get language codes, like en_US. But what if I need to just return name of the Language (like English)? Didn't see that there are any relations with res.lang object. Maybe there is some work around? Or the only way is to customize the module?

아바타
취소
베스트 답변

You can try something like this:

[[ ( o.partner_id.lang == 'en_US' ) and 'English' or 'OtherLang' ]]

Or

<para>[[ ( o.partner_id.lang == 'en_US' ) and 'English' or removeParentNode( 'para' ) ]]</para>
<para>[[ ( o.partner_id.lang == 'fr_FR' ) and 'Français' or removeParentNode( 'para' ) ]]</para>
...

This one is more suited if you have more than 2 languages.

아바타
취소
작성자

This is sets language. I need to just return name of chosen language.

작성자

Actually it does not work like that. As lang field is not directly related with res.lang object. If you looked in code, you would see that lang field is selection field which uses function, which returns code of language chosen.

Yes you are right, I updated my answer with something that'll help you achieve what you need

I added in 2 possiblities.

작성자

This is a bit hard coded, but looks like it's the only way now. Thanks.

If you want to avoid hard coding, you could change the field type of the lang column to be a many2one and have a reference to the language object, that way you can just use o.partner_id.lang.name

작성자

Yes it's possible, but if this field would be changed, I imagine all other reports that use this field, would stop working properly as they all would need to be modified.

Yes indeed. Let's see, how about you add a new hidden many2one field that you update with a method mapped to the on_change attribute of the lang field, where you could fill the new field with the language object reference depending on the choice of the user and use it directly in your report.

관련 게시물 답글 화면 활동
3
11월 20
15171
2
12월 22
7860
3
10월 20
10617
3
9월 17
9061
1
5월 17
8622