Modify get_parcel to get the parcel of the current crop and Add check if all the plantations has a parcel in the current crop | #059962
This commit is contained in:
parent
ee822431f0
commit
92309d3968
|
@ -1544,6 +1544,14 @@ msgstr ""
|
|||
"El pes en \"%(weighing)s\" no està totalment distibuit i no s'ha forçat "
|
||||
"l'anàlisi"
|
||||
|
||||
msgctxt "model:ir.message,text:msg_parcel_without_current_crop"
|
||||
msgid ""
|
||||
"The plantation \"%(plantation)s\" in the weighing \"%(weighing)s\" has no "
|
||||
"parcel of the weighing's crop."
|
||||
msgstr ""
|
||||
"La plantació \"%(plantation)s\" en la pesada \"%(weighing)s\" no te una "
|
||||
"parcel·la amb la collita de la pesada"
|
||||
|
||||
msgctxt "model:ir.message,text:msg_uom_not_fit"
|
||||
msgid ""
|
||||
"Inputs from Production template \"%(production)s\" must be of uom "
|
||||
|
|
|
@ -1545,6 +1545,14 @@ msgstr ""
|
|||
"El peso en \"%(weighin)s\" no está totalmente distribuido i no se ha forzado"
|
||||
" el anàlisis"
|
||||
|
||||
msgctxt "model:ir.message,text:msg_parcel_without_current_crop"
|
||||
msgid ""
|
||||
"The plantation \"%(plantation)s\" in the weighing \"%(weighing)s\" has no "
|
||||
"parcel of the weighing's crop."
|
||||
msgstr ""
|
||||
"La plantación \"%(plantation)s\" en la pesada \"%(weighing)s\" no tiene una "
|
||||
"parcela con la cosecha de la pesada"
|
||||
|
||||
msgctxt "model:ir.message,text:msg_uom_not_fit"
|
||||
msgid ""
|
||||
"Inputs from Production template \"%(production)s\" must be of uom "
|
||||
|
|
|
@ -45,5 +45,8 @@ this repository contains the full copyright notices and license terms. -->
|
|||
<record model="ir.message" id="msg_location_no_configured">
|
||||
<field name="text">The weighing center "%(center)s" dont have a to location configured.</field>
|
||||
</record>
|
||||
<record model="ir.message" id="msg_parcel_without_current_crop">
|
||||
<field name="text">The plantation "%(plantation)s" in the weighing "%(weighing)s" has no parcel of the weighing's crop.</field>
|
||||
</record>
|
||||
</data>
|
||||
</tryton>
|
||||
|
|
19
weighing.py
19
weighing.py
|
@ -206,12 +206,18 @@ class Weighing(Workflow, ModelSQL, ModelView):
|
|||
return crop[0].id
|
||||
|
||||
def get_parcel(self):
|
||||
crop = self.on_change_with_crop()
|
||||
if not self.plantations:
|
||||
return
|
||||
plantation = self.plantations[0].plantation
|
||||
if not plantation or not plantation.parcels:
|
||||
return
|
||||
return plantation.parcels[0]
|
||||
res = None
|
||||
for parcel in plantation.parcels:
|
||||
if parcel.crop.id == crop:
|
||||
res = parcel
|
||||
break
|
||||
return res
|
||||
|
||||
@fields.depends('plantations')
|
||||
def on_change_with_variety(self):
|
||||
|
@ -529,6 +535,17 @@ class Weighing(Workflow, ModelSQL, ModelView):
|
|||
Beneficiary.delete([x for x in weighing.beneficiaries])
|
||||
|
||||
parcel = weighing.get_parcel()
|
||||
|
||||
# Check if all plantations has a parcel in the weighing's crop
|
||||
for plantation in weighing.plantations:
|
||||
plantation = plantation.plantation
|
||||
for parcel in plantation.parcels:
|
||||
if parcel.crop == weighing.crop:
|
||||
break
|
||||
else:
|
||||
raise UserError(gettext('agronomics.msg_parcel_without_current_crop',
|
||||
weighing=weighing.rec_name, plantation=plantation.code))
|
||||
|
||||
if not parcel:
|
||||
continue
|
||||
|
||||
|
|
Loading…
Reference in New Issue