如何根据条件在 qweb 报告中隐藏或显示 python 函数的内容?
How to hide or show a content of a python function on qweb report depend on condition?
我正在尝试重新设计我的 Odoo 9 qweb 报告。继承了 sale_order_report。我创建了一些在 qweb 上调用的 python 函数。现在我想根据条件隐藏 python 函数的内容。请花点时间阅读我下面的代码并帮助我指出解决问题的具体方法?
@api.multi
def handle_detail(self, order_line):
dict_item = {}
for line in order_line:
for key in
quantity_extra = int(line.quantity_extra)
if quantity_extra not in dict_item.keys():
dict_item[quantity_extra].append(line.lng)
else:
dict_item[quantity_extra] = [line.lng]
result = []
total = 0.0
for item in dict_item.keys():
lst_ing = dict_item[item]
if len(lst_ing) > 1:
result.append(
'( %s ) x %s' % (' + '.join([str(lng) for lng in lst_ing]),
str(item)))
total += (sum(lst_ing) * item)
else:
result.append('%s x %s' % (str(lst_ing[0]), str(item)))
total += (lst_ing[0] * item)
return result, total
感谢您的宝贵时间。
用这样的 t-if 语句包围模板中的代码
<t t-if="condition"> <!-- if the condition is true the contenant is shown -->
<....code that calls the method and show the value on the template />
</t>
我正在尝试重新设计我的 Odoo 9 qweb 报告。继承了 sale_order_report。我创建了一些在 qweb 上调用的 python 函数。现在我想根据条件隐藏 python 函数的内容。请花点时间阅读我下面的代码并帮助我指出解决问题的具体方法?
@api.multi
def handle_detail(self, order_line):
dict_item = {}
for line in order_line:
for key in
quantity_extra = int(line.quantity_extra)
if quantity_extra not in dict_item.keys():
dict_item[quantity_extra].append(line.lng)
else:
dict_item[quantity_extra] = [line.lng]
result = []
total = 0.0
for item in dict_item.keys():
lst_ing = dict_item[item]
if len(lst_ing) > 1:
result.append(
'( %s ) x %s' % (' + '.join([str(lng) for lng in lst_ing]),
str(item)))
total += (sum(lst_ing) * item)
else:
result.append('%s x %s' % (str(lst_ing[0]), str(item)))
total += (lst_ing[0] * item)
return result, total
感谢您的宝贵时间。
用这样的 t-if 语句包围模板中的代码
<t t-if="condition"> <!-- if the condition is true the contenant is shown -->
<....code that calls the method and show the value on the template />
</t>