fix sample model

This commit is contained in:
Àngel Àlvarez 2022-01-05 11:11:48 +01:00
parent f2f3f29768
commit f369605ce4
8 changed files with 13 additions and 58 deletions

View File

@ -90,13 +90,6 @@ class Product(WineMixin, metaclass=PoolMeta):
}, depends=['agronomic_type'])
ecologicals = fields.Many2Many('product.product-agronomics.ecological',
'product', 'ecological', 'Ecologicals')
# quality_sample = fields.Many2One('quality.sample', 'Quality Sample',
# states={
# 'invisible': ~ Eval('agronomic_type').in_(
# ['wine', 'unfiltered-wine', 'filtered-wine', 'clarified-wine',
# 'bottled-wine']
# )
# }, depends=['agronomic_type'])
certification = fields.Many2One('agronomics.certification',
'Certification', states={
'invisible': ~ Eval('agronomic_type').in_(

View File

@ -1,5 +1,6 @@
# 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 decimal import Decimal
from trytond.model import ModelSQL, ModelView, fields
from trytond.pool import PoolMeta, Pool
from trytond.pyson import Eval, Bool, If
@ -9,7 +10,6 @@ from trytond.transaction import Transaction
from trytond.wizard import Wizard, StateView, StateAction, Button
from trytond.modules.product import round_price
from trytond.model.exceptions import ValidationError
from decimal import Decimal
class ProductionTemplate(ModelSQL, ModelView):
@ -71,8 +71,8 @@ class ProductionTemplate(ModelSQL, ModelView):
return
output_templates = set([o for o in self.outputs])
for c in self.cost_distribution_template.cost_distribution_templates:
if c.template not in output_templates:
for cost in self.cost_distribution_template.cost_distribution_templates:
if cost.template not in output_templates:
raise ValidationError(
gettext('agronomics.msg_check_cost_distribution_template',
production=self.rec_name))
@ -322,11 +322,12 @@ class Production(metaclass=PoolMeta):
for output_product in production.production_template.outputs:
delete_outputs += [x for x in production.output_distribution]
od = OutputDistribution()
od.product = output_product
od.uom = od.on_change_with_uom()
od.production = production
outputs.append(od)
output_distribution = OutputDistribution()
output_distribution.product = output_product
output_distribution.uom = (
output_distribution.on_change_with_uom())
output_distribution.production = production
outputs.append(output_distribution)
if not production.cost_distributions:
if production.cost_distribution_template:
@ -368,6 +369,7 @@ class Production(metaclass=PoolMeta):
def copy_quality_samples(self, new_product):
ProductSample = Pool().get('product.product-quality.sample')
products = [x.product for x in self.inputs if x.product.quality_samples]
import pdb; pdb.set_trace()
if not self.pass_quality_sample or len(products) != 1:
return new_product
samples = products[0].quality_samples

View File

@ -74,10 +74,6 @@ class QualitySample(Workflow, ModelSQL, ModelView):
__name__ = 'quality.sample'
code = fields.Char('Code', select=True, readonly=True)
state = fields.Selection([
('draft', 'Draft'),
('done', 'Done')],
'State', required=True, readonly=True)
reference = fields.Char('Reference')
products = fields.Many2Many('product.product-quality.sample', 'sample',
'product', 'Products')
@ -86,27 +82,6 @@ class QualitySample(Workflow, ModelSQL, ModelView):
company = fields.Many2One('company.company', 'Company', required=True,
select=True, states=STATES, depends=DEPENDS)
@classmethod
def __setup__(cls):
super(QualitySample, cls).__setup__()
cls._transitions |= set((('draft', 'done'),))
cls._buttons.update({
'done': {
'invisible': Eval('state') != 'draft',
'icon': 'tryton-forward',
},
})
@classmethod
@ModelView.button
@Workflow.transition('done')
def done(cls, samples):
pass
@staticmethod
def default_state():
return 'draft'
@staticmethod
def default_company():
return Transaction().context.get('company')

View File

@ -98,17 +98,6 @@
<field name="rule_group" ref="rule_group_quality_sample"/>
</record>
<!-- ir.model.button -->
<record model="ir.model.button" id="sample_done_button">
<field name="name">done</field>
<field name="string">Done</field>
<field name="model" search="[('model', '=', 'quality.sample')]"/>
</record>
<record model="ir.model.button-res.group" id="sample_done_button_group_sample">
<field name="button" ref="sample_done_button"/>
<field name="group" ref="group_quality_control_sample"/>
</record>
<!-- menus -->
<menuitem action="act_quality_sample" id="menu_quality_sample"
parent="quality_control.menu_quality_control" sequence="30"/>
@ -119,4 +108,4 @@
</record>
</data>
</tryton>
</tryton>

View File

@ -178,6 +178,7 @@
<label name="wine_tasting_phase_success"/>
<field name="wine_tasting_phase_success"/>
<field name="quality_samples" colspan="6"/>
<separator name="wine_quality_comment" colspan="6"/>
<field name="wine_quality_comment" widget="richtext" toolbar="0" yexpand="1" yfill="1" colspan="6"/>
</page>

View File

@ -8,6 +8,7 @@
<field name="alcohol_volume" tree_invisible="1"/>
<field name="container" tree_invisible="1"/>
<field name="capacity" tree_invisible="1"/>
<field name="quality_samples" tree_invisible="1"/>
<field name="wine_likely_alcohol_content" tree_invisible="1"/>
<field name="wine_likely_alcohol_content_comment" tree_invisible="1"/>

View File

@ -7,9 +7,4 @@
<label name="code"/>
<field name="code"/>
<field name="products" colspan="4"/>
<group colspan="4" id="buttons">
<label name="state"/>
<field name="state"/>
<button name="done"/>
</group>
</form>

View File

@ -5,5 +5,4 @@
<field name="code"/>
<field name="collection_date" widget="date"/>
<field name="collection_date" widget="time"/>
<field name="state"/>
</tree>