Add confirm/sucess each wine field

This commit is contained in:
Raimon Esteve 2021-07-15 09:46:40 +02:00
parent bca235b937
commit 67af9bad8e
3 changed files with 339 additions and 10 deletions

View File

@ -16,6 +16,8 @@ class QualityTest(metaclass=PoolMeta):
super(QualityTest, cls).confirmed(tests)
today = Date.today()
# get all key from ir.model.data
to_write = []
proof_templates = []
@ -50,9 +52,11 @@ class QualityTest(metaclass=PoolMeta):
values[key] = round(line.value, _WINE_DIGITS)
values[key + '_comment'] = line.internal_description
values[key + '_confirm'] = today
values[key + '_success'] = line.success
if values:
values['wine_quality_confirm'] = Date.today()
values['wine_quality_confirm'] = today
values['wine_quality_success'] = test.success
to_write.extend(([test.document], values))

View File

@ -18,59 +18,176 @@
</page>
</xpath>
<xpath expr="/form/notebook" position="inside">
<page string="Quality" id="agronomics-quality">
<page string="Quality" id="agronomics-quality" col="6">
<label name="wine_quality_confirm"/>
<field name="wine_quality_confirm"/>
<label name="wine_quality_success"/>
<field name="wine_quality_success"/>
<newline/>
<label name="wine_likely_alcohol_content"/>
<field name="wine_likely_alcohol_content"/>
<label name="wine_likely_alcohol_content_confirm"/>
<field name="wine_likely_alcohol_content_confirm"/>
<label name="wine_likely_alcohol_content_success"/>
<field name="wine_likely_alcohol_content_success"/>
<label name="wine_botrytis"/>
<field name="wine_botrytis"/>
<label name="wine_botrytis_confirm"/>
<field name="wine_botrytis_confirm"/>
<label name="wine_botrytis_success"/>
<field name="wine_botrytis_success"/>
<label name="wine_alcohol_content"/>
<field name="wine_alcohol_content"/>
<label name="wine_alcohol_content_confirm"/>
<field name="wine_alcohol_content_confirm"/>
<label name="wine_alcohol_content_success"/>
<field name="wine_alcohol_content_success"/>
<label name="wine_density"/>
<field name="wine_density"/>
<label name="wine_density_confirm"/>
<field name="wine_density_confirm"/>
<label name="wine_density_success"/>
<field name="wine_density_success"/>
<label name="wine_temperature"/>
<field name="wine_temperature"/>
<label name="wine_temperature_confirm"/>
<field name="wine_temperature_confirm"/>
<label name="wine_temperature_success"/>
<field name="wine_temperature_success"/>
<label name="wine_ph"/>
<field name="wine_ph"/>
<label name="wine_ph_confirm"/>
<field name="wine_ph_confirm"/>
<label name="wine_ph_success"/>
<field name="wine_ph_success"/>
<label name="wine_free_sulphur"/>
<field name="wine_free_sulphur"/>
<label name="wine_free_sulphur_confirm"/>
<field name="wine_free_sulphur_confirm"/>
<label name="wine_free_sulphur_success"/>
<field name="wine_free_sulphur_success"/>
<label name="wine_total_sulphur"/>
<field name="wine_total_sulphur"/>
<label name="wine_total_sulphur_confirm"/>
<field name="wine_total_sulphur_confirm"/>
<label name="wine_total_sulphur_success"/>
<field name="wine_total_sulphur_success"/>
<label name="wine_tartaric_acidity"/>
<field name="wine_tartaric_acidity"/>
<label name="wine_tartaric_acidity_confirm"/>
<field name="wine_tartaric_acidity_confirm"/>
<label name="wine_tartaric_acidity_success"/>
<field name="wine_tartaric_acidity_success"/>
<label name="wine_volatility"/>
<field name="wine_volatility"/>
<label name="wine_volatility_confirm"/>
<field name="wine_volatility_confirm"/>
<label name="wine_volatility_success"/>
<field name="wine_volatility_success"/>
<label name="wine_malic_acid"/>
<field name="wine_malic_acid"/>
<label name="wine_malic_acid_confirm"/>
<field name="wine_malic_acid_confirm"/>
<label name="wine_malic_acid_success"/>
<field name="wine_malic_acid_success"/>
<label name="wine_lactic_acid"/>
<field name="wine_lactic_acid"/>
<label name="wine_lactic_acid_confirm"/>
<field name="wine_lactic_acid_confirm"/>
<label name="wine_lactic_acid_success"/>
<field name="wine_lactic_acid_success"/>
<label name="wine_protein_stability"/>
<field name="wine_protein_stability"/>
<label name="wine_protein_stability_confirm"/>
<field name="wine_protein_stability_confirm"/>
<label name="wine_protein_stability_success"/>
<field name="wine_protein_stability_success"/>
<label name="wine_tartaric_stability"/>
<field name="wine_tartaric_stability"/>
<label name="wine_tartaric_stability_confirm"/>
<field name="wine_tartaric_stability_confirm"/>
<label name="wine_tartaric_stability_success"/>
<field name="wine_tartaric_stability_success"/>
<label name="wine_turbidity"/>
<field name="wine_turbidity"/>
<label name="wine_turbidity_confirm"/>
<field name="wine_turbidity_confirm"/>
<label name="wine_turbidity_success"/>
<field name="wine_turbidity_success"/>
<label name="wine_glucose_fructose"/>
<field name="wine_glucose_fructose"/>
<label name="wine_glucose_fructose_confirm"/>
<field name="wine_glucose_fructose_confirm"/>
<label name="wine_glucose_fructose_success"/>
<field name="wine_glucose_fructose_success"/>
<label name="wine_color_intensity"/>
<field name="wine_color_intensity"/>
<label name="wine_color_intensity_confirm"/>
<field name="wine_color_intensity_confirm"/>
<label name="wine_color_intensity_success"/>
<field name="wine_color_intensity_success"/>
<label name="wine_tone"/>
<field name="wine_tone"/>
<label name="wine_tone_confirm"/>
<field name="wine_tone_confirm"/>
<label name="wine_tone_success"/>
<field name="wine_tone_success"/>
<label name="wine_clogging"/>
<field name="wine_clogging"/>
<label name="wine_clogging_confirm"/>
<field name="wine_clogging_confirm"/>
<label name="wine_clogging_success"/>
<field name="wine_clogging_success"/>
<label name="wine_overall_impression"/>
<field name="wine_overall_impression"/>
<label name="wine_overall_impression_confirm"/>
<field name="wine_overall_impression_confirm"/>
<label name="wine_overall_impression_success"/>
<field name="wine_overall_impression_success"/>
<label name="wine_observing_phase"/>
<field name="wine_observing_phase"/>
<label name="wine_observing_phase_confirm"/>
<field name="wine_observing_phase_confirm"/>
<label name="wine_observing_phase_success"/>
<field name="wine_observing_phase_success"/>
<label name="wine_smelling_phase"/>
<field name="wine_smelling_phase"/>
<label name="wine_smelling_phase_confirm"/>
<field name="wine_smelling_phase_confirm"/>
<label name="wine_smelling_phase_success"/>
<field name="wine_smelling_phase_success"/>
<label name="wine_tasting_phase"/>
<field name="wine_tasting_phase"/>
<separator name="wine_comment" colspan="4"/>
<field name="wine_comment" widget="richtext" toolbar="0" yexpand="1" yfill="1" colspan="4"/>
<label name="wine_tasting_phase_confirm"/>
<field name="wine_tasting_phase_confirm"/>
<label name="wine_tasting_phase_success"/>
<field name="wine_tasting_phase_success"/>
<separator name="wine_quality_comment" colspan="6"/>
<field name="wine_quality_comment" widget="richtext" toolbar="0" yexpand="1" yfill="1" colspan="6"/>
</page>
</xpath>
</data>

220
wine.py
View File

@ -14,9 +14,12 @@ _WINE_DIGITS = 4
class WineMixin(Model):
wine_quality_confirm = fields.Date('Quality Confirm', readonly=True)
wine_quality_success = fields.Boolean('Quality success', readonly=True, states={
wine_quality_success = fields.Boolean('Quality Success', readonly=True, states={
'invisible': ~Bool(Eval('wine_quality_confirm', None)),
}, depends=['wine_quality_confirm'])
wine_quality_comment = fields.Function(fields.Text('Wine Quality Comments'),
'get_wine_quality_comment')
wine_likely_alcohol_content = fields.Float('Likely Alcohol Content',
digits=(16, _WINE_DIGITS), readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
@ -27,6 +30,16 @@ class WineMixin(Model):
'invisible': ~Eval('agronomic_type').in_(
['grape', 'do-wort', 'not-do-wort']
)}, depends=_DEPENDS)
wine_likely_alcohol_content_confirm = fields.Date('Likely Alcohol Content Confirm', readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
['grape', 'do-wort', 'not-do-wort']
)}, depends=_DEPENDS)
wine_likely_alcohol_content_success = fields.Boolean('Likely Alcohol Content Success', readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
['grape', 'do-wort', 'not-do-wort']
)}, depends=_DEPENDS)
wine_botrytis = fields.Float('Botrytis',
digits=(16, _WINE_DIGITS), readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
@ -37,6 +50,15 @@ class WineMixin(Model):
'invisible': ~Eval('agronomic_type').in_(
['grape', 'do-wort', 'not-do-wort', 'unfiltered-wine']
)}, depends=_DEPENDS)
wine_botrytis_confirm = fields.Date('Botrytis Confirm', readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
['grape', 'do-wort', 'not-do-wort', 'unfiltered-wine']
)}, depends=_DEPENDS)
wine_botrytis_success = fields.Boolean('Botrytis Success', readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
['grape', 'do-wort', 'not-do-wort', 'unfiltered-wine']
)}, depends=_DEPENDS)
wine_alcohol_content = fields.Float('Alcohol Content',
digits=(16, _WINE_DIGITS), readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
@ -47,6 +69,15 @@ class WineMixin(Model):
'invisible': ~Eval('agronomic_type').in_(
['unfiltered-wine', 'clarified-wine', 'filtered-wine', 'bottled-wine']
)}, depends=_DEPENDS)
wine_alcohol_content_confirm = fields.Date('Alcohol Content Confirm', readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
['unfiltered-wine', 'clarified-wine', 'filtered-wine', 'bottled-wine']
)}, depends=_DEPENDS)
wine_alcohol_content_success = fields.Boolean('Alcohol Content Success', readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
['unfiltered-wine', 'clarified-wine', 'filtered-wine', 'bottled-wine']
)}, depends=_DEPENDS)
wine_density = fields.Float('Density',
digits=(16, _WINE_DIGITS), readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
@ -57,6 +88,15 @@ class WineMixin(Model):
'invisible': ~Eval('agronomic_type').in_(
['do-wort', 'not-do-wort', 'unfiltered-wine', 'clarified-wine', 'filtered-wine']
)}, depends=_DEPENDS)
wine_density_confirm = fields.Date('Density Comment Confirm', readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
['do-wort', 'not-do-wort', 'unfiltered-wine', 'clarified-wine', 'filtered-wine']
)}, depends=_DEPENDS)
wine_density_success = fields.Boolean('Density Comment Success', readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
['do-wort', 'not-do-wort', 'unfiltered-wine', 'clarified-wine', 'filtered-wine']
)}, depends=_DEPENDS)
wine_temperature = fields.Float('Temperature',
digits=(16, _WINE_DIGITS), readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
@ -67,6 +107,15 @@ class WineMixin(Model):
'invisible': ~Eval('agronomic_type').in_(
['do-wort', 'not-do-wort', 'filtered-wine']
)}, depends=_DEPENDS)
wine_temperature_confirm = fields.Date('Temperature Confirm', readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
['do-wort', 'not-do-wort', 'filtered-wine']
)}, depends=_DEPENDS)
wine_temperature_success = fields.Boolean('Temperature Success', readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
['do-wort', 'not-do-wort', 'filtered-wine']
)}, depends=_DEPENDS)
wine_ph = fields.Float('PH',
digits=(16, _WINE_DIGITS), readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
@ -77,6 +126,15 @@ class WineMixin(Model):
'invisible': ~Eval('agronomic_type').in_(
['grape', 'do-wort', 'not-do-wort', 'unfiltered-wine', 'clarified-wine', 'filtered-wine', 'bottled-wine']
)}, depends=_DEPENDS)
wine_ph_confirm = fields.Date('PH Confirm', readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
['grape', 'do-wort', 'not-do-wort', 'unfiltered-wine', 'clarified-wine', 'filtered-wine', 'bottled-wine']
)}, depends=_DEPENDS)
wine_ph_success= fields.Boolean('PH Success', readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
['grape', 'do-wort', 'not-do-wort', 'unfiltered-wine', 'clarified-wine', 'filtered-wine', 'bottled-wine']
)}, depends=_DEPENDS)
wine_free_sulphur = fields.Float('Free Sulphur',
digits=(16, _WINE_DIGITS), readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
@ -87,6 +145,15 @@ class WineMixin(Model):
'invisible': ~Eval('agronomic_type').in_(
['do-wort', 'not-do-wort', 'unfiltered-wine', 'clarified-wine', 'filtered-wine', 'bottled-wine']
)}, depends=_DEPENDS)
wine_free_sulphur_confirm = fields.Date('Free Sulphur Confirm', readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
['do-wort', 'not-do-wort', 'unfiltered-wine', 'clarified-wine', 'filtered-wine', 'bottled-wine']
)}, depends=_DEPENDS)
wine_free_sulphur_success = fields.Boolean('Free Sulphur Success', readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
['do-wort', 'not-do-wort', 'unfiltered-wine', 'clarified-wine', 'filtered-wine', 'bottled-wine']
)}, depends=_DEPENDS)
wine_total_sulphur = fields.Float('Total Sulphur',
digits=(16, _WINE_DIGITS), readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
@ -97,6 +164,15 @@ class WineMixin(Model):
'invisible': ~Eval('agronomic_type').in_(
['do-wort', 'not-do-wort', 'unfiltered-wine', 'clarified-wine', 'filtered-wine', 'bottled-wine']
)}, depends=_DEPENDS)
wine_total_sulphur_confirm = fields.Date('Total Sulphur Confirm', readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
['do-wort', 'not-do-wort', 'unfiltered-wine', 'clarified-wine', 'filtered-wine', 'bottled-wine']
)}, depends=_DEPENDS)
wine_total_sulphur_success = fields.Boolean('Total Sulphur Success', readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
['do-wort', 'not-do-wort', 'unfiltered-wine', 'clarified-wine', 'filtered-wine', 'bottled-wine']
)}, depends=_DEPENDS)
wine_tartaric_acidity = fields.Float('Tartaric Acidity',
digits=(16, _WINE_DIGITS), readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
@ -107,6 +183,15 @@ class WineMixin(Model):
'invisible': ~Eval('agronomic_type').in_(
['grape', 'do-wort', 'not-do-wort', 'unfiltered-wine', 'clarified-wine', 'filtered-wine', 'bottled-wine']
)}, depends=_DEPENDS)
wine_tartaric_acidity_confirm = fields.Date('Tartaric Acidity Confirm', readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
['grape', 'do-wort', 'not-do-wort', 'unfiltered-wine', 'clarified-wine', 'filtered-wine', 'bottled-wine']
)}, depends=_DEPENDS)
wine_tartaric_acidity_success = fields.Boolean('Tartaric Acidity Success', readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
['grape', 'do-wort', 'not-do-wort', 'unfiltered-wine', 'clarified-wine', 'filtered-wine', 'bottled-wine']
)}, depends=_DEPENDS)
wine_volatility = fields.Float('Volatility',
digits=(16, _WINE_DIGITS), readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
@ -117,6 +202,15 @@ class WineMixin(Model):
'invisible': ~Eval('agronomic_type').in_(
['do-wort', 'not-do-wort', 'unfiltered-wine', 'clarified-wine', 'filtered-wine', 'bottled-wine']
)}, depends=_DEPENDS)
wine_volatility_confirm = fields.Date('Volatility Confirm', readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
['do-wort', 'not-do-wort', 'unfiltered-wine', 'clarified-wine', 'filtered-wine', 'bottled-wine']
)}, depends=_DEPENDS)
wine_volatility_success = fields.Boolean('Volatility Success', readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
['do-wort', 'not-do-wort', 'unfiltered-wine', 'clarified-wine', 'filtered-wine', 'bottled-wine']
)}, depends=_DEPENDS)
wine_malic_acid = fields.Float('Malic Acid',
digits=(16, _WINE_DIGITS), readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
@ -127,6 +221,15 @@ class WineMixin(Model):
'invisible': ~Eval('agronomic_type').in_(
['unfiltered-wine', 'clarified-wine']
)}, depends=_DEPENDS)
wine_malic_acid_confirm = fields.Date('Malic Acid Confirm', readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
['unfiltered-wine', 'clarified-wine']
)}, depends=_DEPENDS)
wine_malic_acid_success = fields.Boolean('Malic Acid Success', readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
['unfiltered-wine', 'clarified-wine']
)}, depends=_DEPENDS)
wine_lactic_acid = fields.Float('Lactic Acid',
digits=(16, _WINE_DIGITS), readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
@ -137,6 +240,15 @@ class WineMixin(Model):
'invisible': ~Eval('agronomic_type').in_(
['unfiltered-wine', 'clarified-wine']
)}, depends=_DEPENDS)
wine_lactic_acid_confirm = fields.Date('Lactic Acid Confirm', readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
['unfiltered-wine', 'clarified-wine']
)}, depends=_DEPENDS)
wine_lactic_acid_success = fields.Boolean('Lactic Acid Success', readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
['unfiltered-wine', 'clarified-wine']
)}, depends=_DEPENDS)
wine_protein_stability = fields.Float('Protein Stability',
digits=(16, _WINE_DIGITS), readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
@ -147,6 +259,15 @@ class WineMixin(Model):
'invisible': ~Eval('agronomic_type').in_(
['unfiltered-wine', 'clarified-wine', 'filtered-wine', 'bottled-wine']
)}, depends=_DEPENDS)
wine_protein_stability_confirm = fields.Date('Protein Stability Confirm', readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
['unfiltered-wine', 'clarified-wine', 'filtered-wine', 'bottled-wine']
)}, depends=_DEPENDS)
wine_protein_stability_success = fields.Boolean('Protein Stability Success', readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
['unfiltered-wine', 'clarified-wine', 'filtered-wine', 'bottled-wine']
)}, depends=_DEPENDS)
wine_tartaric_stability = fields.Float('Tartaric Stability',
digits=(16, _WINE_DIGITS), readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
@ -157,6 +278,15 @@ class WineMixin(Model):
'invisible': ~Eval('agronomic_type').in_(
['clarified-wine', 'filtered-wine', 'bottled-wine']
)}, depends=_DEPENDS)
wine_tartaric_stability_confirm = fields.Date('Tartaric Stability Confirm', readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
['clarified-wine', 'filtered-wine', 'bottled-wine']
)}, depends=_DEPENDS)
wine_tartaric_stability_success = fields.Boolean('Tartaric Stability Success', readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
['clarified-wine', 'filtered-wine', 'bottled-wine']
)}, depends=_DEPENDS)
wine_turbidity = fields.Float('Turbidity',
digits=(16, _WINE_DIGITS), readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
@ -167,6 +297,15 @@ class WineMixin(Model):
'invisible': ~Eval('agronomic_type').in_(
['filtered-wine']
)}, depends=_DEPENDS)
wine_turbidity_confirm = fields.Date('Turbidity Confirm', readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
['filtered-wine']
)}, depends=_DEPENDS)
wine_turbidity_success = fields.Boolean('Turbidity Success', readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
['filtered-wine']
)}, depends=_DEPENDS)
wine_glucose_fructose = fields.Float('Glucose/Fructose',
digits=(16, _WINE_DIGITS), readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
@ -177,6 +316,15 @@ class WineMixin(Model):
'invisible': ~Eval('agronomic_type').in_(
['grape', 'do-wort', 'not-do-wort', 'unfiltered-wine', 'clarified-wine', 'filtered-wine', 'bottled-wine']
)}, depends=_DEPENDS)
wine_glucose_fructose_confirm = fields.Date('Glucose/Fructose Confirm', readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
['grape', 'do-wort', 'not-do-wort', 'unfiltered-wine', 'clarified-wine', 'filtered-wine', 'bottled-wine']
)}, depends=_DEPENDS)
wine_glucose_fructose_success = fields.Boolean('Glucose/Fructose Success', readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
['grape', 'do-wort', 'not-do-wort', 'unfiltered-wine', 'clarified-wine', 'filtered-wine', 'bottled-wine']
)}, depends=_DEPENDS)
wine_color_intensity = fields.Float('Color Intensity',
digits=(16, _WINE_DIGITS), readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
@ -187,6 +335,15 @@ class WineMixin(Model):
'invisible': ~Eval('agronomic_type').in_(
['unfiltered-wine', 'clarified-wine', 'filtered-wine', 'bottled-wine']
)}, depends=_DEPENDS)
wine_color_intensity_confirm = fields.Date('Color Intensity Confirm', readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
['unfiltered-wine', 'clarified-wine', 'filtered-wine', 'bottled-wine']
)}, depends=_DEPENDS)
wine_color_intensity_success = fields.Boolean('Color Intensity Success', readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
['unfiltered-wine', 'clarified-wine', 'filtered-wine', 'bottled-wine']
)}, depends=_DEPENDS)
wine_tone = fields.Float('Tone',
digits=(16, _WINE_DIGITS), readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
@ -197,6 +354,15 @@ class WineMixin(Model):
'invisible': ~Eval('agronomic_type').in_(
['filtered-wine', 'bottled-wine']
)}, depends=_DEPENDS)
wine_tone_confirm = fields.Date('Tone Confirm', readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
['filtered-wine', 'bottled-wine']
)}, depends=_DEPENDS)
wine_tone_success = fields.Boolean('Tone Success', readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
['filtered-wine', 'bottled-wine']
)}, depends=_DEPENDS)
wine_clogging = fields.Float('Clogging',
digits=(16, _WINE_DIGITS), readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
@ -207,6 +373,15 @@ class WineMixin(Model):
'invisible': ~Eval('agronomic_type').in_(
['filtered-wine']
)}, depends=_DEPENDS)
wine_clogging_confirm = fields.Date('Clogging Confirm', readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
['filtered-wine']
)}, depends=_DEPENDS)
wine_clogging_success = fields.Boolean('Clogging Success', readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
['filtered-wine']
)}, depends=_DEPENDS)
wine_overall_impression = fields.Float('Overall Impression',
digits=(16, _WINE_DIGITS), readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
@ -217,6 +392,15 @@ class WineMixin(Model):
'invisible': ~Eval('agronomic_type').in_(
['grape', 'do-wort', 'not-do-wort', 'unfiltered-wine', 'clarified-wine', 'filtered-wine', 'bottled-wine']
)}, depends=_DEPENDS)
wine_overall_impression_confirm = fields.Date('Overall Impression Confirm', readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
['grape', 'do-wort', 'not-do-wort', 'unfiltered-wine', 'clarified-wine', 'filtered-wine', 'bottled-wine']
)}, depends=_DEPENDS)
wine_overall_impression_success = fields.Boolean('Overall Impression Success', readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
['grape', 'do-wort', 'not-do-wort', 'unfiltered-wine', 'clarified-wine', 'filtered-wine', 'bottled-wine']
)}, depends=_DEPENDS)
wine_observing_phase = fields.Float('Observing Phase',
digits=(16, _WINE_DIGITS), readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
@ -227,6 +411,15 @@ class WineMixin(Model):
'invisible': ~Eval('agronomic_type').in_(
['unfiltered-wine', 'clarified-wine', 'filtered-wine', 'bottled-wine']
)}, depends=_DEPENDS)
wine_observing_phase_confirm = fields.Date('Observing Phase Confirm', readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
['unfiltered-wine', 'clarified-wine', 'filtered-wine', 'bottled-wine']
)}, depends=_DEPENDS)
wine_observing_phase_success = fields.Boolean('Observing Phase Success', readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
['unfiltered-wine', 'clarified-wine', 'filtered-wine', 'bottled-wine']
)}, depends=_DEPENDS)
wine_smelling_phase = fields.Float('Smelling Phase',
digits=(16, _WINE_DIGITS), readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
@ -237,6 +430,15 @@ class WineMixin(Model):
'invisible': ~Eval('agronomic_type').in_(
['do-wort', 'not-do-wort', 'unfiltered-wine', 'clarified-wine', 'filtered-wine', 'bottled-wine']
)}, depends=_DEPENDS)
wine_smelling_phase_confirm = fields.Date('Smelling Phase Confirm', readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
['do-wort', 'not-do-wort', 'unfiltered-wine', 'clarified-wine', 'filtered-wine', 'bottled-wine']
)}, depends=_DEPENDS)
wine_smelling_phase_success = fields.Boolean('Smelling Phase Success', readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
['do-wort', 'not-do-wort', 'unfiltered-wine', 'clarified-wine', 'filtered-wine', 'bottled-wine']
)}, depends=_DEPENDS)
wine_tasting_phase = fields.Float('Tasting Phase',
digits=(16, _WINE_DIGITS), readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
@ -247,11 +449,17 @@ class WineMixin(Model):
'invisible': ~Eval('agronomic_type').in_(
['do-wort', 'not-do-wort', 'unfiltered-wine', 'clarified-wine', 'filtered-wine', 'bottled-wine']
)}, depends=_DEPENDS)
wine_comment = fields.Function(fields.Text('Wine Comments'),
'get_wine_comment')
wine_tasting_phase_confirm = fields.Date('Tasting Phase Confirm', readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
['do-wort', 'not-do-wort', 'unfiltered-wine', 'clarified-wine', 'filtered-wine', 'bottled-wine']
)}, depends=_DEPENDS)
wine_tasting_phase_success = fields.Boolean('Tasting Phase Success', readonly=True, states={
'invisible': ~Eval('agronomic_type').in_(
['do-wort', 'not-do-wort', 'unfiltered-wine', 'clarified-wine', 'filtered-wine', 'bottled-wine']
)}, depends=_DEPENDS)
@classmethod
def get_wine_comment(cls, records, name):
def get_wine_quality_comment(cls, records, name):
pool = Pool()
Translation = pool.get('ir.translation')
@ -262,13 +470,13 @@ class WineMixin(Model):
data = ''
for key in cls._fields.keys():
if (key.startswith('wine_') and key.endswith('_comment')
and key != 'wine_comment'):
and key != 'wine_quality_comment'):
if not getattr(record, key):
continue
field_name = '%s,%s' % (cls.__name__, key)
label = (Translation.get_source(field_name, 'field', language)
or getattr(cls, key).string)
data += '<b>%s</b>%s' % (label, getattr(record, key))
data += '<div><b>%s</b><br/>%s</div>' % (label, getattr(record, key))
res[record.id] = data
return res