Skip to content

Commit

Permalink
Merge PR #801 into 14.0
Browse files Browse the repository at this point in the history
Signed-off-by dreispt
  • Loading branch information
OCA-git-bot committed May 18, 2024
2 parents 9d259b9 + 69a165d commit f1ac1b0
Show file tree
Hide file tree
Showing 13 changed files with 612 additions and 16 deletions.
27 changes: 11 additions & 16 deletions delivery_schenker/models/delivery_carrier.py
Original file line number Diff line number Diff line change
Expand Up @@ -353,10 +353,6 @@ def _schenker_shipping_information_product_volume(self, product, qty):
return product.volume * qty

def _schenker_shipping_information_package_volume(self, picking, package):
# TODO: Refactor this and move this into own auto_install module
# Volume calculations can be unfolded with stock_quant_package_dimension
if hasattr(package, "volume"):
return package.volume
return sum(
[
self._schenker_shipping_information_product_volume(
Expand All @@ -366,21 +362,20 @@ def _schenker_shipping_information_package_volume(self, picking, package):
]
)

def _schenker_shipping_information_round_weight(self, weight, precision_digits=2):
return float_round(weight, precision_digits=precision_digits)

def _schenker_shipping_information_round_volume(self, volume, precision_digits=2):
def _schenker_shipping_information_round_dimension(
self, dimension, precision_digits=2
):
"""The schenker api requires 2 decimal points"""
return float_round(volume, precision_digits=precision_digits)
return float_round(dimension, precision_digits=precision_digits)

def _schenker_shipping_information_package(self, picking, package):
weight = package.shipping_weight or package.weight
return {
# Dangerous goods is not supported
"dgr": False,
"cargoDesc": picking.name + " / " + package.name,
"grossWeight": self._schenker_shipping_information_round_weight(weight),
"volume": self._schenker_shipping_information_round_volume(
"grossWeight": self._schenker_shipping_information_round_dimension(weight),
"volume": self._schenker_shipping_information_round_dimension(
self._schenker_shipping_information_package_volume(picking, package)
),
"packageType": (
Expand Down Expand Up @@ -436,10 +431,10 @@ def _schenker_shipping_information_without_packages(self, picking):
"dgr": False,
"cargoDesc": picking.name,
# For a more complex solution use packaging properly
"grossWeight": self._schenker_shipping_information_round_weight(
"grossWeight": self._schenker_shipping_information_round_dimension(
weight / picking.number_of_packages
),
"volume": self._schenker_shipping_information_round_volume(
"volume": self._schenker_shipping_information_round_dimension(
self._schenker_shipping_information_without_packages_volume(picking)
),
"packageType": self.schenker_default_packaging_id.shipper_package_code,
Expand All @@ -457,7 +452,7 @@ def _schenker_measures(self, picking, vals):
"""
if self.schenker_measure_unit == "VOLUME":
return {
"measureUnitVolume": self._schenker_shipping_information_round_volume(
"measureUnitVolume": self._schenker_shipping_information_round_dimension(
vals["shippingInformation"]["volume"]
)
}
Expand Down Expand Up @@ -494,12 +489,12 @@ def _prepare_schenker_shipping(self, picking):
"incotermLocation": picking.partner_id.display_name[:35],
"productCode": self._schenker_shipping_product(),
"measurementType": self._schenker_metric_system(),
"grossWeight": self._schenker_shipping_information_round_weight(
"grossWeight": self._schenker_shipping_information_round_dimension(
picking.shipping_weight
),
"shippingInformation": {
"shipmentPosition": shipping_information,
"grossWeight": self._schenker_shipping_information_round_weight(
"grossWeight": self._schenker_shipping_information_round_dimension(
picking.shipping_weight
),
"volume": self._schenker_get_total_shipping_volume(
Expand Down
86 changes: 86 additions & 0 deletions delivery_schenker_quant_package_dimension/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
=========================================
Delivery Schenker Quant Package Dimension
=========================================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:5b2a759af0b0bff78ae71a52e23162f927b472418f8d01cf5be4b87c38ab1fcf
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fdelivery--carrier-lightgray.png?logo=github
:target: https://github.com/OCA/delivery-carrier/tree/14.0/delivery_schenker_quant_package_dimension
:alt: OCA/delivery-carrier
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/delivery-carrier-14-0/delivery-carrier-14-0-delivery_schenker_quant_package_dimension
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/delivery-carrier&target_branch=14.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

This addon is a glue module between delivery_schenker and stock_quant_package_dimension.
It is changing the transmitted package volume, it uses the computed volume from stock_quant_package_dimension.
Also the dimensions length, width and height of a package will be added to the request.

**Table of contents**

.. contents::
:local:

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/delivery-carrier/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/delivery-carrier/issues/new?body=module:%20delivery_schenker_quant_package_dimension%0Aversion:%2014.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
~~~~~~~

* MT Software

Contributors
~~~~~~~~~~~~

* Michael Tietz (MT Software) <[email protected]>

Maintainers
~~~~~~~~~~~

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

.. |maintainer-mt-software-de| image:: https://github.com/mt-software-de.png?size=40px
:target: https://github.com/mt-software-de
:alt: mt-software-de

Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:

|maintainer-mt-software-de|

This module is part of the `OCA/delivery-carrier <https://github.com/OCA/delivery-carrier/tree/14.0/delivery_schenker_quant_package_dimension>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
1 change: 1 addition & 0 deletions delivery_schenker_quant_package_dimension/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import models
18 changes: 18 additions & 0 deletions delivery_schenker_quant_package_dimension/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Copyright 2024 Michael Tietz (MT Software) <[email protected]>
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
{
"name": "Delivery Schenker Quant Package Dimension",
"summary": "Glue module between delivery_schenker and stock_quant_package_dimension"
"With this module the transmitted package volume is changed,"
"it uses the computed volume from stock_quant_package_dimension."
"Also the dimensions length, width and height of a package "
"getting added to the request",
"version": "14.0.1.0.0",
"category": "Stock",
"website": "https://github.com/OCA/delivery-carrier",
"author": "MT Software, Odoo Community Association (OCA)",
"license": "AGPL-3",
"depends": ["delivery_schenker", "stock_quant_package_dimension"],
"auto_install": True,
"maintainers": ["mt-software-de"],
}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import delivery_carrier
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Copyright 2024 Michael Tietz (MT Software) <[email protected]>
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from odoo import models


class DeliveryCarrier(models.Model):
_inherit = "delivery.carrier"

def _schenker_shipping_information_package_volume(self, picking, package):
return package.volume

def _schenker_shipping_information_package(self, picking, package):
res = super()._schenker_shipping_information_package(picking, package)
res.update(
{
"length": self._schenker_shipping_information_round_dimension(
package.pack_length
),
"width": self._schenker_shipping_information_round_dimension(
package.width
),
"height": self._schenker_shipping_information_round_dimension(
package.height
),
}
)
return res
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* Michael Tietz (MT Software) <[email protected]>
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
This addon is a glue module between delivery_schenker and stock_quant_package_dimension.
It is changing the transmitted package volume, it uses the computed volume from stock_quant_package_dimension.
Also the dimensions length, width and height of a package will be added to the request.
Loading

0 comments on commit f1ac1b0

Please sign in to comment.