mirror of
https://gitlab.com/hibou-io/hibou-odoo/suite.git
synced 2025-01-20 12:37:31 +02:00
[IMP] delivery_fedex_hibou: allow cancelling warehouse specific account and meter numbers shipments
This commit is contained in:
@@ -713,3 +713,28 @@ class DeliveryFedex(models.Model):
|
|||||||
('fedex_service_type', '=', service_code)
|
('fedex_service_type', '=', service_code)
|
||||||
], limit=1)
|
], limit=1)
|
||||||
return carrier
|
return carrier
|
||||||
|
|
||||||
|
def fedex_cancel_shipment(self, picking):
|
||||||
|
# Overriddent to use the correct account numbers for cancelling
|
||||||
|
request = FedexRequest(self.log_xml, request_type="shipping", prod_environment=self.prod_environment)
|
||||||
|
superself = self.sudo()
|
||||||
|
request.web_authentication_detail(superself.fedex_developer_key, superself.fedex_developer_password)
|
||||||
|
acc_number = superself._get_fedex_account_number(picking=picking)
|
||||||
|
meter_number = superself._get_fedex_meter_number(picking=picking)
|
||||||
|
request.client_detail(acc_number, meter_number)
|
||||||
|
request.transaction_detail(picking.id)
|
||||||
|
|
||||||
|
master_tracking_id = picking.carrier_tracking_ref.split(',')[0]
|
||||||
|
request.set_deletion_details(master_tracking_id)
|
||||||
|
result = request.delete_shipment()
|
||||||
|
|
||||||
|
warnings = result.get('warnings_message')
|
||||||
|
if warnings:
|
||||||
|
_logger.info(warnings)
|
||||||
|
|
||||||
|
if result.get('delete_success') and not result.get('errors_message'):
|
||||||
|
picking.message_post(body=_(u'Shipment #%s has been cancelled', master_tracking_id))
|
||||||
|
picking.write({'carrier_tracking_ref': '',
|
||||||
|
'carrier_price': 0.0})
|
||||||
|
else:
|
||||||
|
raise UserError(result['errors_message'])
|
||||||
|
|||||||
Reference in New Issue
Block a user