mirror of
https://github.com/NaN-tic/trytond-carrier_zip.git
synced 2023-12-14 02:13:03 +01:00
Change validation carrier/zip from check quotation to pre-validate
This commit is contained in:
parent
ef616baaf1
commit
0547363cd1
14
sale.py
14
sale.py
|
@ -72,22 +72,24 @@ class Sale:
|
||||||
and self.shipment_address.zip or None)
|
and self.shipment_address.zip or None)
|
||||||
return context
|
return context
|
||||||
|
|
||||||
def check_for_quotation(self):
|
def pre_validate(self):
|
||||||
res = super(Sale, self).check_for_quotation()
|
super(Sale, self).pre_validate()
|
||||||
|
self.check_carrier_zip()
|
||||||
|
|
||||||
|
def check_carrier_zip(self):
|
||||||
shipment_zip = (self.shipment_address and self.shipment_address.zip
|
shipment_zip = (self.shipment_address and self.shipment_address.zip
|
||||||
or '')
|
or '')
|
||||||
carrier = self.carrier
|
carrier = self.carrier
|
||||||
if not carrier or not carrier.zips:
|
if not carrier or not carrier.zips:
|
||||||
return res
|
return
|
||||||
if (carrier and shipment_zip):
|
if (carrier and shipment_zip):
|
||||||
for carrier_zip in carrier.zips:
|
for carrier_zip in carrier.zips:
|
||||||
if (int(carrier_zip.start_zip) <= int(shipment_zip)
|
if (int(carrier_zip.start_zip) <= int(shipment_zip)
|
||||||
<= int(carrier_zip.end_zip)):
|
<= int(carrier_zip.end_zip)):
|
||||||
break
|
break
|
||||||
else:
|
else:
|
||||||
self.raise_user_warning('%s.on_change_carrier' % self,
|
self.raise_user_error('zip_unavailable',
|
||||||
'zip_unavailable', (shipment_zip, carrier.party.rec_name))
|
(shipment_zip, carrier.party.rec_name))
|
||||||
return res
|
|
||||||
|
|
||||||
def create_shipment(self, shipment_type):
|
def create_shipment(self, shipment_type):
|
||||||
with Transaction().set_context(self._get_carrier_context()):
|
with Transaction().set_context(self._get_carrier_context()):
|
||||||
|
|
Loading…
Reference in a new issue