From e813e592eb219302d4419fec1878716325324d70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=80ngel=20=C3=80lvarez=20Serra?= Date: Wed, 1 Sep 2021 10:10:48 +0200 Subject: [PATCH] 044025 (#3) * weighing feature #044025 --- __init__.py | 5 + locale/ca.po | 239 +++++++++++++++++++++- locale/es.po | 241 +++++++++++++++++++++- plot.py | 4 +- product.py | 2 + tryton.cfg | 2 + view/parcel_form.xml | 2 + view/parcel_list.xml | 1 + view/template_form.xml | 3 + view/weighing_center_form.xml | 6 + view/weighing_center_list.xml | 3 + view/weighing_form.xml | 51 +++++ view/weighing_list.xml | 15 ++ weighing.py | 364 ++++++++++++++++++++++++++++++++++ weighning.xml | 202 +++++++++++++++++++ 15 files changed, 1136 insertions(+), 4 deletions(-) create mode 100644 view/weighing_center_form.xml create mode 100644 view/weighing_center_list.xml create mode 100644 view/weighing_form.xml create mode 100644 view/weighing_list.xml create mode 100644 weighing.py create mode 100644 weighning.xml diff --git a/__init__.py b/__init__.py index d81c53a..74585e8 100644 --- a/__init__.py +++ b/__init__.py @@ -5,6 +5,7 @@ from trytond.pool import Pool from . import party from . import plot from . import product +from . import weighing from . import quality @@ -29,6 +30,10 @@ def register(): product.ProductEcological, product.ProductVariety, product.Template, + weighing.WeighingCenter, + weighing.Weighing, + weighing.WeighingPlantation, + weighing.WeighingDo, quality.QualityTest, quality.QuantitativeTestLine, quality.QualitativeTestLine, diff --git a/locale/ca.po b/locale/ca.po index b882c58..40e0748 100644 --- a/locale/ca.po +++ b/locale/ca.po @@ -14,6 +14,10 @@ msgctxt "field:agronomics.beneficiary,percent:" msgid "Percent" msgstr "Percentatge" +msgctxt "field:agronomics.beneficiary,weighing:" +msgid "Weighing" +msgstr "Pesada" + msgctxt "field:agronomics.certification,date:" msgid "Date" msgstr "Data" @@ -140,7 +144,7 @@ msgstr "Irrigació" msgctxt "field:agronomics.parcel,max_production:" msgid "Max. Production" -msgstr "Max. producció" +msgstr "Producció Màxima" msgctxt "field:agronomics.parcel,plant_number:" msgid "Plant number" @@ -158,6 +162,10 @@ msgctxt "field:agronomics.parcel,producer:" msgid "Party" msgstr "Productor" +msgctxt "field:agronomics.parcel,product:" +msgid "Product" +msgstr "Productes" + msgctxt "field:agronomics.parcel,species:" msgid "Spices" msgstr "Espècie" @@ -202,6 +210,126 @@ msgctxt "field:agronomics.plantation,party:" msgid "Party" msgstr "Tercers" +msgctxt "field:agronomics.weighing,all_do:" +msgid "All DO" +msgstr "Totes les DO" + +msgctxt "field:agronomics.weighing,beneficiaries:" +msgid "Beneficiaries" +msgstr "Beneficiaris" + +msgctxt "field:agronomics.weighing,crop:" +msgid "Crop" +msgstr "Collita" + +msgctxt "field:agronomics.weighing,denomination_origin:" +msgid "Denomination of Origin" +msgstr "Denominació d'origen" + +msgctxt "field:agronomics.weighing,do:" +msgid "Denomination Origin" +msgstr "Denominació d'origen" + +msgctxt "field:agronomics.weighing,ecological:" +msgid "Ecological" +msgstr "Ecològic" + +msgctxt "field:agronomics.weighing,net_weight:" +msgid "Net Weight" +msgstr "Pes net" + +msgctxt "field:agronomics.weighing,netweight:" +msgid "Net Weight" +msgstr "Pes net" + +msgctxt "field:agronomics.weighing,number:" +msgid "Number" +msgstr "Número" + +msgctxt "field:agronomics.weighing,plantations:" +msgid "plantations" +msgstr "Plantacions" + +msgctxt "field:agronomics.weighing,product:" +msgid "Product" +msgstr "Productes" + +msgctxt "field:agronomics.weighing,product_created:" +msgid "Product Created" +msgstr "Producte creat" + +msgctxt "field:agronomics.weighing,purchase_contract:" +msgid "Purchase Contract" +msgstr "Contracte de compra" + +msgctxt "field:agronomics.weighing,quality_test:" +msgid "Test" +msgstr "Test" + +msgctxt "field:agronomics.weighing,state:" +msgid "State" +msgstr "Estat" + +msgctxt "field:agronomics.weighing,table:" +msgid "Table" +msgstr "Taula" + +msgctxt "field:agronomics.weighing,tara:" +msgid "Tara" +msgstr "Tara" + +msgctxt "field:agronomics.weighing,variety:" +msgid "Variety" +msgstr "Varietat" + +msgctxt "field:agronomics.weighing,weighing_center:" +msgid "Weighing Center" +msgstr "Centre de pesada" + +msgctxt "field:agronomics.weighing,weighing_date:" +msgid "Date" +msgstr "Data" + +msgctxt "field:agronomics.weighing,weight:" +msgid "Weight" +msgstr "Pes" + +msgctxt "field:agronomics.weighing-agronomics.do,do:" +msgid "Denomination Origin" +msgstr "Denominació d'origen" + +msgctxt "field:agronomics.weighing-agronomics.do,weighing:" +msgid "Weighing" +msgstr "Pesada" + +msgctxt "field:agronomics.weighing-agronomics.plantation,Plantation:" +msgid "Plantation" +msgstr "Plantacións" + +msgctxt "field:agronomics.weighing-agronomics.plantation,plantation:" +msgid "Plantation" +msgstr "Plantacións" + +msgctxt "field:agronomics.weighing-agronomics.plantation,weighing:" +msgid "Weighing" +msgstr "Pesada" + +msgctxt "field:agronomics.weighing-agronomics.plantations,Plantation:" +msgid "Plantation" +msgstr "Plantacións" + +msgctxt "field:agronomics.weighing-agronomics.plantations,weighing:" +msgid "Weighing" +msgstr "Pesada" + +msgctxt "field:agronomics.weighing.center,name:" +msgid "Name" +msgstr "Nom" + +msgctxt "field:agronomics.weighing.center,weighing_sequence:" +msgid "Weighing Sequence" +msgstr "Seqüència de pesada" + msgctxt "field:party.party,parcels:" msgid "Parcels" msgstr "Parceles" @@ -246,6 +374,10 @@ msgctxt "field:product.product,quality_sample:" msgid "Quality Sample" msgstr "Mostra de qualitat" +msgctxt "field:product.product,quality_weighing:" +msgid "Quality Weighing" +msgstr "Qualitat Pesada" + msgctxt "field:product.product,shipment_in_quality_template:" msgid "Shipment In Quality Template" msgstr "Plantilla qualitat albarà entrada" @@ -306,6 +438,10 @@ msgctxt "field:product.template,container:" msgid "Container" msgstr "Envàs" +msgctxt "field:product.template,quality_weighing:" +msgid "Quality Weighing" +msgstr "Qualitat pesada" + msgctxt "model:agronomics.beneficiary,name:" msgid "Beneficiaries" msgstr "Beneficiaris" @@ -354,6 +490,26 @@ msgctxt "model:agronomics.plantation,name:" msgid "Plantation" msgstr "Plantació" +msgctxt "model:agronomics.weighing,name:" +msgid "Weighing" +msgstr "Pesada" + +msgctxt "model:agronomics.weighing-agronomics.do,name:" +msgid "Weighing - Denomination Origin" +msgstr "Pesada - Denominació Origen" + +msgctxt "model:agronomics.weighing-agronomics.plantation,name:" +msgid "Weighing - Plantations" +msgstr "Pesada - Plantacions" + +msgctxt "model:agronomics.weighing-agronomics.plantations,name:" +msgid "Weighing - Plantations" +msgstr "Pesada - Plantacions" + +msgctxt "model:agronomics.weighing.center,name:" +msgid "Weighing Center" +msgstr "Centre de pesada" + msgctxt "model:ir.action,name:act_certification_tree" msgid "Certification" msgstr "Certificació" @@ -394,6 +550,31 @@ msgctxt "model:ir.action,name:act_plantation_tree" msgid "Plantation" msgstr "Plantació" +msgctxt "model:ir.action,name:act_weighing_action" +msgid "Weighing" +msgstr "Pesada" + +msgctxt "model:ir.action,name:act_weighing_center_action" +msgid "Weighing Center" +msgstr "Centre de pesada" + +msgctxt "model:ir.action.act_window.domain,name:act_weighing_domain_all" +msgid "All" +msgstr "Tots" + +msgctxt "model:ir.action.act_window.domain,name:act_weighing_domain_analysis" +msgid "In Analysis" +msgstr "En Anàlisi" + +msgctxt "model:ir.action.act_window.domain,name:act_weighing_domain_draft" +msgid "Draft" +msgstr "Esborrany" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_weighing_domain_processing" +msgid "Processing" +msgstr "Processos" + msgctxt "model:ir.message,text:msg_beneficiaris_percent" msgid "" "Beneficiaris of Crop \"%(crop)s\" and Plantation \"%(plantation)s\" must sum" @@ -418,6 +599,34 @@ msgstr "" "El producte \"%(product)s\" no pot tenir més d'una collita degut al seu " "tipus agronòmic" +msgctxt "model:ir.model.button,string:weighing_analysis_button" +msgid "Analysis" +msgstr "Anàlisi" + +msgctxt "model:ir.model.button,string:weighing_cancel_button" +msgid "Cancel" +msgstr "Cancel·lat" + +msgctxt "model:ir.model.button,string:weighing_done_button" +msgid "Done" +msgstr "Realitzat" + +msgctxt "model:ir.model.button,string:weighing_draft_button" +msgid "Draft" +msgstr "Esborrany" + +msgctxt "model:ir.model.button,string:weighing_process_button" +msgid "Process" +msgstr "Processa" + +msgctxt "model:ir.sequence,name:sequence_weighing" +msgid "Weighing" +msgstr "Pesada" + +msgctxt "model:ir.sequence.type,name:sequence_type_weighing" +msgid "Weighing" +msgstr "Pesada" + msgctxt "model:ir.ui.menu,name:menu_agronomics" msgid "Agronomics" msgstr "Agronomics" @@ -466,6 +675,14 @@ msgctxt "model:ir.ui.menu,name:menu_plantation_list" msgid "Plantation" msgstr "Plantació" +msgctxt "model:ir.ui.menu,name:menu_weighing_center_list" +msgid "Weighing Center" +msgstr "Centre de pesada" + +msgctxt "model:ir.ui.menu,name:menu_weighing_list" +msgid "Weighing" +msgstr "Pesada" + msgctxt "model:product.product-agronomics.crop,name:" msgid "Product - Crop" msgstr "Producte - Collita" @@ -490,6 +707,26 @@ msgctxt "model:res.group,name:group_agronomics_admin" msgid "Agronomics Administration" msgstr "Administració Agronomics" +msgctxt "selection:agronomics.weighing,state:" +msgid "Cancelled" +msgstr "Cancel·lat" + +msgctxt "selection:agronomics.weighing,state:" +msgid "Done" +msgstr "Realitzat" + +msgctxt "selection:agronomics.weighing,state:" +msgid "Draft" +msgstr "Esborrany" + +msgctxt "selection:agronomics.weighing,state:" +msgid "In Analysis" +msgstr "En anàlisis" + +msgctxt "selection:agronomics.weighing,state:" +msgid "Processing" +msgstr "Processos" + msgctxt "selection:product.product,agronomic_type:" msgid "Bottled Wine" msgstr "Vi embotellat" diff --git a/locale/es.po b/locale/es.po index 8fd749d..fe94758 100644 --- a/locale/es.po +++ b/locale/es.po @@ -14,6 +14,10 @@ msgctxt "field:agronomics.beneficiary,percent:" msgid "Percent" msgstr "Porcentaje" +msgctxt "field:agronomics.beneficiary,weighing:" +msgid "Weighing" +msgstr "Pesada" + msgctxt "field:agronomics.certification,date:" msgid "Date" msgstr "Fecha" @@ -140,7 +144,7 @@ msgstr "Irrigación" msgctxt "field:agronomics.parcel,max_production:" msgid "Max. Production" -msgstr "Max. producción" +msgstr "Producción Máxima" msgctxt "field:agronomics.parcel,plant_number:" msgid "Plant number" @@ -158,6 +162,10 @@ msgctxt "field:agronomics.parcel,producer:" msgid "Party" msgstr "Productor" +msgctxt "field:agronomics.parcel,product:" +msgid "Product" +msgstr "Productos" + msgctxt "field:agronomics.parcel,species:" msgid "Spices" msgstr "Especie" @@ -202,6 +210,126 @@ msgctxt "field:agronomics.plantation,party:" msgid "Party" msgstr "Terceros" +msgctxt "field:agronomics.weighing,all_do:" +msgid "All DO" +msgstr "Todos los DO" + +msgctxt "field:agronomics.weighing,beneficiaries:" +msgid "Beneficiaries" +msgstr "Beneficiarios" + +msgctxt "field:agronomics.weighing,crop:" +msgid "Crop" +msgstr "Cosecha" + +msgctxt "field:agronomics.weighing,denomination_origin:" +msgid "Denomination of Origin" +msgstr "Denominación de origen" + +msgctxt "field:agronomics.weighing,do:" +msgid "Denomination Origin" +msgstr "Denominación de origen" + +msgctxt "field:agronomics.weighing,ecological:" +msgid "Ecological" +msgstr "Ecológico" + +msgctxt "field:agronomics.weighing,net_weight:" +msgid "Net Weight" +msgstr "Peso neto" + +msgctxt "field:agronomics.weighing,netweight:" +msgid "Net Weight" +msgstr "Peso neto" + +msgctxt "field:agronomics.weighing,number:" +msgid "Number" +msgstr "Número" + +msgctxt "field:agronomics.weighing,plantations:" +msgid "plantations" +msgstr "Plantación" + +msgctxt "field:agronomics.weighing,product:" +msgid "Product" +msgstr "Productos" + +msgctxt "field:agronomics.weighing,product_created:" +msgid "Product Created" +msgstr "" + +msgctxt "field:agronomics.weighing,purchase_contract:" +msgid "Purchase Contract" +msgstr "Contrato de compra" + +msgctxt "field:agronomics.weighing,quality_test:" +msgid "Test" +msgstr "Test" + +msgctxt "field:agronomics.weighing,state:" +msgid "State" +msgstr "Estado" + +msgctxt "field:agronomics.weighing,table:" +msgid "Table" +msgstr "Mesa" + +msgctxt "field:agronomics.weighing,tara:" +msgid "Tara" +msgstr "Tara" + +msgctxt "field:agronomics.weighing,variety:" +msgid "Variety" +msgstr "Variedad" + +msgctxt "field:agronomics.weighing,weighing_center:" +msgid "Weighing Center" +msgstr "Centro de pesada" + +msgctxt "field:agronomics.weighing,weighing_date:" +msgid "Date" +msgstr "Fecha" + +msgctxt "field:agronomics.weighing,weight:" +msgid "Weight" +msgstr "Peso" + +msgctxt "field:agronomics.weighing-agronomics.do,do:" +msgid "Denomination Origin" +msgstr "Denominación de origen" + +msgctxt "field:agronomics.weighing-agronomics.do,weighing:" +msgid "Weighing" +msgstr "Pesada" + +msgctxt "field:agronomics.weighing-agronomics.plantation,Plantation:" +msgid "Plantation" +msgstr "Plantaciónes" + +msgctxt "field:agronomics.weighing-agronomics.plantation,plantation:" +msgid "Plantation" +msgstr "Plantaciónes" + +msgctxt "field:agronomics.weighing-agronomics.plantation,weighing:" +msgid "Weighing" +msgstr "Pesada" + +msgctxt "field:agronomics.weighing-agronomics.plantations,Plantation:" +msgid "Plantation" +msgstr "Plantaciónes" + +msgctxt "field:agronomics.weighing-agronomics.plantations,weighing:" +msgid "Weighing" +msgstr "Pesada" + +msgctxt "field:agronomics.weighing.center,name:" +msgid "Name" +msgstr "Nombre" + +msgctxt "field:agronomics.weighing.center,weighing_sequence:" +msgid "Weighing Sequence" +msgstr "Secuencia" + msgctxt "field:party.party,parcels:" msgid "Parcels" msgstr "Parcelas" @@ -246,6 +374,10 @@ msgctxt "field:product.product,quality_sample:" msgid "Quality Sample" msgstr "Muestra de calidad" +msgctxt "field:product.product,quality_weighing:" +msgid "Quality Weighing" +msgstr "Calidad pesada" + msgctxt "field:product.product,shipment_in_quality_template:" msgid "Shipment In Quality Template" msgstr "Plantilla calidad albarán de entrada" @@ -306,6 +438,10 @@ msgctxt "field:product.template,container:" msgid "Container" msgstr "Envase" +msgctxt "field:product.template,quality_weighing:" +msgid "Quality Weighing" +msgstr "Calidad pesada" + msgctxt "model:agronomics.beneficiary,name:" msgid "Beneficiaries" msgstr "Beneficiarios" @@ -348,12 +484,32 @@ msgstr "Parcela" msgctxt "model:agronomics.parcel-agronomics.do,name:" msgid "Parcel - Denomination Origin" -msgstr "Parecela - Denominación de origen" +msgstr "Parcela - Denominación de origen" msgctxt "model:agronomics.plantation,name:" msgid "Plantation" msgstr "Plantación" +msgctxt "model:agronomics.weighing,name:" +msgid "Weighing" +msgstr "Pesada" + +msgctxt "model:agronomics.weighing-agronomics.do,name:" +msgid "Weighing - Denomination Origin" +msgstr "Pesada - Denominación de origen" + +msgctxt "model:agronomics.weighing-agronomics.plantation,name:" +msgid "Weighing - Plantations" +msgstr "Pesada - Plantación" + +msgctxt "model:agronomics.weighing-agronomics.plantations,name:" +msgid "Weighing - Plantations" +msgstr "Pesada - Plantación" + +msgctxt "model:agronomics.weighing.center,name:" +msgid "Weighing Center" +msgstr "Centro de pesada" + msgctxt "model:ir.action,name:act_certification_tree" msgid "Certification" msgstr "Certificación" @@ -394,6 +550,31 @@ msgctxt "model:ir.action,name:act_plantation_tree" msgid "Plantation" msgstr "Plantación" +msgctxt "model:ir.action,name:act_weighing_action" +msgid "Weighing" +msgstr "Pesada" + +msgctxt "model:ir.action,name:act_weighing_center_action" +msgid "Weighing Center" +msgstr "Centro de pesada" + +msgctxt "model:ir.action.act_window.domain,name:act_weighing_domain_all" +msgid "All" +msgstr "Todos" + +msgctxt "model:ir.action.act_window.domain,name:act_weighing_domain_analysis" +msgid "In Analysis" +msgstr "" + +msgctxt "model:ir.action.act_window.domain,name:act_weighing_domain_draft" +msgid "Draft" +msgstr "Esborany" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_weighing_domain_processing" +msgid "Processing" +msgstr "Procesos" + msgctxt "model:ir.message,text:msg_beneficiaris_percent" msgid "" "Beneficiaris of Crop \"%(crop)s\" and Plantation \"%(plantation)s\" must sum" @@ -418,6 +599,34 @@ msgstr "" "El producto \"%(product)s\" no puede tener más de una cosecha debido a su " "Tipo Agronómico" +msgctxt "model:ir.model.button,string:weighing_analysis_button" +msgid "Analysis" +msgstr "Análisis" + +msgctxt "model:ir.model.button,string:weighing_cancel_button" +msgid "Cancel" +msgstr "Cancel·lar" + +msgctxt "model:ir.model.button,string:weighing_done_button" +msgid "Done" +msgstr "Realizado" + +msgctxt "model:ir.model.button,string:weighing_draft_button" +msgid "Draft" +msgstr "Esborany" + +msgctxt "model:ir.model.button,string:weighing_process_button" +msgid "Process" +msgstr "Procesar" + +msgctxt "model:ir.sequence,name:sequence_weighing" +msgid "Weighing" +msgstr "Pesada" + +msgctxt "model:ir.sequence.type,name:sequence_type_weighing" +msgid "Weighing" +msgstr "Pesada" + msgctxt "model:ir.ui.menu,name:menu_agronomics" msgid "Agronomics" msgstr "Agronomics" @@ -466,6 +675,14 @@ msgctxt "model:ir.ui.menu,name:menu_plantation_list" msgid "Plantation" msgstr "Plantación" +msgctxt "model:ir.ui.menu,name:menu_weighing_center_list" +msgid "Weighing Center" +msgstr "Centro de pesada" + +msgctxt "model:ir.ui.menu,name:menu_weighing_list" +msgid "Weighing" +msgstr "Pesada" + msgctxt "model:product.product-agronomics.crop,name:" msgid "Product - Crop" msgstr "Producto - Cosecha" @@ -490,6 +707,26 @@ msgctxt "model:res.group,name:group_agronomics_admin" msgid "Agronomics Administration" msgstr "Agronomics Administración" +msgctxt "selection:agronomics.weighing,state:" +msgid "Cancelled" +msgstr "Cancelado" + +msgctxt "selection:agronomics.weighing,state:" +msgid "Done" +msgstr "Realizado" + +msgctxt "selection:agronomics.weighing,state:" +msgid "Draft" +msgstr "Esborany" + +msgctxt "selection:agronomics.weighing,state:" +msgid "In Analysis" +msgstr "En Análisis" + +msgctxt "selection:agronomics.weighing,state:" +msgid "Processing" +msgstr "Procesos" + msgctxt "selection:product.product,agronomic_type:" msgid "Bottled Wine" msgstr "Vino embotellado" diff --git a/plot.py b/plot.py index d47b1ce..eae2d39 100644 --- a/plot.py +++ b/plot.py @@ -88,6 +88,7 @@ class Parcel(ModelSQL, ModelView): plantation = fields.Many2One('agronomics.plantation', 'Plantation', required=True) crop = fields.Many2One('agronomics.crop', 'Crop', required=True) + product = fields.Many2One('product.template', 'Product', required=True) species = fields.Many2One('product.taxon', 'Spices', domain=[('rank', '=', 'species')], required=True, depends=['species']) @@ -153,4 +154,5 @@ class Beneficiaries(ModelSQL, ModelView): party = fields.Many2One('party.party', 'Beneficiary', required=True) percent = fields.Float('Percent', digits=(16, 2), required=True) - parcel = fields.Many2One('agronomics.parcel', 'Parcel', required=True) + parcel = fields.Many2One('agronomics.parcel', 'Parcel') + weighing = fields.Many2One('agronomics.weighing', 'Weighing') diff --git a/product.py b/product.py index 97107d8..f3a9658 100644 --- a/product.py +++ b/product.py @@ -53,6 +53,8 @@ class Template(metaclass=PoolMeta): }, depends=['agronomic_type']), 'get_capacity', searcher='search_capacity') + quality_weighing = fields.Many2One('quality.template', 'Quality Weighing') + def get_capacity(self, name): if self.container: return self.container.capacity diff --git a/tryton.cfg b/tryton.cfg index 48565ed..9e11d21 100644 --- a/tryton.cfg +++ b/tryton.cfg @@ -7,9 +7,11 @@ depends: product_classification product_classification_taxonomic quality_control_sample + purchase_contract xml: plot.xml party.xml product.xml + weighning.xml wine.xml message.xml diff --git a/view/parcel_form.xml b/view/parcel_form.xml index 152c896..5883ba5 100644 --- a/view/parcel_form.xml +++ b/view/parcel_form.xml @@ -3,6 +3,8 @@