[IMP] delivery: set default custom code on packaging type
This commit is contained in:
@@ -26,6 +26,7 @@ class DeliveryCarrier(models.Model):
|
||||
<my_provider>_send_shipping
|
||||
<my_provider>_get_tracking_link
|
||||
<my_provider>_cancel_shipment
|
||||
_<my_provider>_get_default_custom_package_code
|
||||
(they are documented hereunder)
|
||||
'''
|
||||
|
||||
@@ -183,6 +184,16 @@ class DeliveryCarrier(models.Model):
|
||||
except psycopg2.Error:
|
||||
pass
|
||||
|
||||
def _get_default_custom_package_code(self):
|
||||
""" Some delivery carriers require a prefix to be sent in order to use custom
|
||||
packages (ie not official ones). This optional method will return it as a string.
|
||||
"""
|
||||
self.ensure_one()
|
||||
if hasattr(self, '_%s_get_default_custom_package_code' % self.delivery_type):
|
||||
return getattr(self, '_%s_get_default_custom_package_code' % self.delivery_type)()
|
||||
else:
|
||||
return False
|
||||
|
||||
# ------------------------------------------------ #
|
||||
# Fixed price shipping, aka a very simple provider #
|
||||
# ------------------------------------------------ #
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from odoo import models, fields
|
||||
from odoo import models, fields, api
|
||||
|
||||
|
||||
class ProductPackaging(models.Model):
|
||||
@@ -20,3 +20,11 @@ class ProductPackaging(models.Model):
|
||||
('positive_length', 'CHECK(length>=0)', 'Length must be positive'),
|
||||
('positive_max_weight', 'CHECK(max_weight>=0.0)', 'Max Weight must be positive'),
|
||||
]
|
||||
|
||||
@api.onchange('package_carrier_type')
|
||||
def _onchange_carrier_type(self):
|
||||
carrier_id = self.env['delivery.carrier'].search([('delivery_type', '=', self.package_carrier_type)], limit=1)
|
||||
if carrier_id:
|
||||
self.shipper_package_code = carrier_id._get_default_custom_package_code()
|
||||
else:
|
||||
self.shipper_package_code = False
|
||||
|
||||
Reference in New Issue
Block a user