[MIG] delivery_stamps: to Odoo 15.0

This commit is contained in:
Jared Kipe
2021-10-06 08:49:03 -07:00
parent 9090a3ac92
commit fdda5e4ca2
3 changed files with 18 additions and 18 deletions

View File

@@ -3,7 +3,7 @@
{ {
'name': 'Stamps.com (USPS) Shipping', 'name': 'Stamps.com (USPS) Shipping',
'summary': 'Send your shippings through Stamps.com and track them online.', 'summary': 'Send your shippings through Stamps.com and track them online.',
'version': '14.0.1.1.0', 'version': '15.0.1.0.0',
'author': "Hibou Corp.", 'author': "Hibou Corp.",
'category': 'Warehouse', 'category': 'Warehouse',
'license': 'OPL-1', 'license': 'OPL-1',

View File

@@ -42,8 +42,8 @@ STAMPS_CONTENT_TYPES = {
STAMPS_INTEGRATION_ID = 'f62cb4f0-aa07-4701-a1dd-f0e7c853ed3c' STAMPS_INTEGRATION_ID = 'f62cb4f0-aa07-4701-a1dd-f0e7c853ed3c'
class ProductPackaging(models.Model): class StockPackageType(models.Model):
_inherit = 'product.packaging' _inherit = 'stock.package.type'
package_carrier_type = fields.Selection(selection_add=[('stamps', 'Stamps.com')]) package_carrier_type = fields.Selection(selection_add=[('stamps', 'Stamps.com')])
stamps_cubic_pricing = fields.Boolean(string="Stamps.com Use Cubic Pricing") stamps_cubic_pricing = fields.Boolean(string="Stamps.com Use Cubic Pricing")
@@ -65,7 +65,7 @@ class ProviderStamps(models.Model):
('US-EMI', ' Priority Mail Express International'), ('US-EMI', ' Priority Mail Express International'),
], ],
required=True, string="Service Type", default="US-PM") required=True, string="Service Type", default="US-PM")
stamps_default_packaging_id = fields.Many2one('product.packaging', string='Default Package Type') stamps_default_packaging_id = fields.Many2one('stock.package.type', string='Default Package Type')
stamps_image_type = fields.Selection([('Auto', 'Auto'), stamps_image_type = fields.Selection([('Auto', 'Auto'),
('Png', 'PNG'), ('Png', 'PNG'),
@@ -105,7 +105,11 @@ class ProviderStamps(models.Model):
package_type = self.stamps_default_packaging_id package_type = self.stamps_default_packaging_id
else: else:
package_type = package.packaging_id package_type = package.packaging_id
# TODO should convert to inches if it is not already length_uom = self.env['product.template']._get_length_uom_id_from_ir_config_parameter()
if length_uom.name == 'ft':
return round(package_type.packaging_length / 12.0), round(package_type.width / 12.0), round(package_type.height / 12.0)
elif length_uom.name == 'mm':
return round(package_type.packaging_length * 0.0393701), round(package_type.width * 0.0393701), round(package_type.height * 0.0393701)
return package_type.packaging_length, package_type.width, package_type.height return package_type.packaging_length, package_type.width, package_type.height
def _get_stamps_service(self): def _get_stamps_service(self):
@@ -118,15 +122,11 @@ class ProviderStamps(models.Model):
def _stamps_convert_weight(self, weight): def _stamps_convert_weight(self, weight):
""" weight always expressed in database units (KG/LBS) """ """ weight always expressed in database units (KG/LBS) """
if self.stamps_default_packaging_id.max_weight and self.stamps_default_packaging_id.max_weight < weight: weight_uom = self.env['product.template']._get_weight_uom_id_from_ir_config_parameter()
raise ValidationError('Stamps cannot ship for weight: ' + str(weight) + ' kgs/lbs.') if weight_uom.name == 'kg':
weight_in_pounds = weight * 2.20462
get_param = self.env['ir.config_parameter'].sudo().get_param else:
product_weight_in_lbs_param = get_param('product.weight_in_lbs') weight_in_pounds = weight
if product_weight_in_lbs_param == '1':
return weight
weight_in_pounds = weight * 2.20462
return weight_in_pounds return weight_in_pounds
def _get_stamps_shipping_for_order(self, service, order, date_planned): def _get_stamps_shipping_for_order(self, service, order, date_planned):

View File

@@ -27,10 +27,10 @@
</field> </field>
</record> </record>
<record id="product_packaging_delivery_form" model="ir.ui.view"> <record id="stock_package_type_form_delivery" model="ir.ui.view">
<field name="name">stamps.product.packaging.form.delivery</field> <field name="name">stamps.stock.package.type.form.delivery</field>
<field name="model">product.packaging</field> <field name="model">stock.package.type</field>
<field name="inherit_id" ref="delivery.product_packaging_delivery_form"/> <field name="inherit_id" ref="delivery.stock_package_type_form_delivery"/>
<field name="arch" type="xml"> <field name="arch" type="xml">
<xpath expr="//field[@name='barcode']" position='before'> <xpath expr="//field[@name='barcode']" position='before'>
<field name="stamps_cubic_pricing"/> <field name="stamps_cubic_pricing"/>