trytond-agronomics/price_list.py

76 lines
2.7 KiB
Python

# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from trytond.pool import PoolMeta, Pool
class PriceList(metaclass=PoolMeta):
__name__ = 'product.price_list'
def get_context_formula(self, party, product, unit_price, quantity, uom,
pattern=None):
pool = Pool()
Product = pool.get('product.product')
res = super().get_context_formula(party, product, unit_price, quantity,
uom, pattern)
if not product:
product, = Product.search([], limit=1)
res['names']['ecological'] = None
if hasattr(product, 'ecologicals'):
ecologicals = None
if len(product.ecologicals) == 1:
ecologicals = product.ecologicals[0].name
res['names']['ecological'] = ecologicals
res['names']['variety'] = None
if hasattr(product, 'varieties'):
varieties = None
if len(product.varieties) == 1:
varieties = product.varieties[0].variety.name
res['names']['variety'] = varieties
res['names']['do'] = None
if hasattr(product, 'denominations_of_origin'):
dos = []
for do in product.denominations_of_origin:
dos.append(do.name)
res['names']['do'] = dos
res['names']['vintages'] = None
if hasattr(product, 'vintages'):
vintages = None
if len(product.vintages) == 1:
vintages = product.vintages[0].name
res['names']['vintages'] = vintages
res['names']['biotritis'] = None
if hasattr(product, 'wine_botrytis'):
res['names']['biotritis'] = (product.wine_botrytis or 0)
res['names']['likely_alcohol_content'] = None
if hasattr(product, 'wine_likely_alcohol_content'):
res['names']['likely_alcohol_content'] = (
product.wine_likely_alcohol_content or 0)
res['names']['ph'] = None
if hasattr(product, 'wine_ph'):
res['names']['ph'] = (product.wine_ph or 0)
res['names']['tartaric_acidity'] = None
if hasattr(product, 'wine_tartaric_acidity'):
res['names']['tartaric_acidity'] = (product.wine_tartaric_acidity
or 0)
res['names']['glucose_fructose'] = None
if hasattr(product, 'wine_glucose_fructose'):
res['names']['glucose_fructose'] = (product.wine_glucose_fructose
or 0)
res['names']['overall_impression'] = None
if hasattr(product, 'wine_overall_impression'):
res['names']['overall_impression'] = (
product.wine_overall_impression or 0)
return res