From 23b7d16c91f32f076f904bfadd50c26a16d16f2c Mon Sep 17 00:00:00 2001 From: manuelcalerosolis Date: Mon, 2 Sep 2024 14:04:33 +0200 Subject: [PATCH] [UPD] delivery_gls_asm: Incluye el calculo del volumen --- delivery_gls_asm/README.rst | 2 +- delivery_gls_asm/__manifest__.py | 2 +- delivery_gls_asm/i18n/ca.po | 66 ++++----------- delivery_gls_asm/i18n/delivery_gls_asm.pot | 46 +++++------ delivery_gls_asm/i18n/es.po | 81 +++++-------------- delivery_gls_asm/models/delivery_carrier.py | 32 ++++++-- .../models/gls_asm_master_data.py | 12 ++- delivery_gls_asm/models/gls_asm_request.py | 76 +++++++++-------- delivery_gls_asm/models/stock_picking.py | 23 +++++- .../static/description/index.html | 2 +- .../views/stock_picking_views.xml | 7 ++ 11 files changed, 154 insertions(+), 195 deletions(-) diff --git a/delivery_gls_asm/README.rst b/delivery_gls_asm/README.rst index c0cfad43971..77f552d05a2 100644 --- a/delivery_gls_asm/README.rst +++ b/delivery_gls_asm/README.rst @@ -7,7 +7,7 @@ Delivery GLS-ASM !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:66ef5f3a61104be230f40121cdba33c3f8aa34e5125c8b183c1c13a7b32cfd19 + !! source digest: sha256:f39958d0fb913d16e489512f04563aa92d7e8a08ec50eaae6e8dfecaf4044c24 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/delivery_gls_asm/__manifest__.py b/delivery_gls_asm/__manifest__.py index cac0c97a524..6a09a8e197e 100644 --- a/delivery_gls_asm/__manifest__.py +++ b/delivery_gls_asm/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Delivery GLS-ASM", "summary": "Delivery Carrier implementation for GLS with ASMRed API", - "version": "16.0.1.1.1", + "version": "16.0.1.0.0", "category": "Stock", "website": "https://github.com/OCA/l10n-spain", "author": "Tecnativa, Odoo Community Association (OCA)", diff --git a/delivery_gls_asm/i18n/ca.po b/delivery_gls_asm/i18n/ca.po index 88a49fa07fa..c1c19090f4f 100644 --- a/delivery_gls_asm/i18n/ca.po +++ b/delivery_gls_asm/i18n/ca.po @@ -16,6 +16,16 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 4.3.2\n" +#. module: delivery_gls_asm +#: model:ir.model.fields.selection,name:delivery_gls_asm.selection__delivery_carrier__gls_asm_shiptime__0 +msgid "10:00 Service" +msgstr "10:00 Servicio" + +#. module: delivery_gls_asm +#: model:ir.model.fields.selection,name:delivery_gls_asm.selection__delivery_carrier__gls_asm_shiptime__2 +msgid "14:00 Service" +msgstr "14:00 Servicio" + #. module: delivery_gls_asm #: model:ir.model.fields.selection,name:delivery_gls_asm.selection__delivery_carrier__gls_asm_service__27 msgid "14H SOBRES" @@ -141,8 +151,8 @@ msgid "BICI" msgstr "" #. module: delivery_gls_asm -#: model:ir.model.fields.selection,name:delivery_gls_asm.selection__delivery_carrier__gls_asm_service__96 -msgid "BUSINESS PARCEL" +#: model:ir.model.fields.selection,name:delivery_gls_asm.selection__delivery_carrier__gls_asm_shiptime__3 +msgid "BusinessParcel" msgstr "" #. module: delivery_gls_asm @@ -239,14 +249,12 @@ msgid "Con incidencia" msgstr "" #. module: delivery_gls_asm -#. odoo-python #: code:addons/delivery_gls_asm/models/delivery_carrier.py:0 #, python-format msgid "Couldn't find the consignee street" msgstr "" #. module: delivery_gls_asm -#. odoo-python #: code:addons/delivery_gls_asm/models/delivery_carrier.py:0 #, python-format msgid "Couldn't find the sender street" @@ -338,8 +346,8 @@ msgid "EUROBUSINESS SMALL PARCEL" msgstr "" #. module: delivery_gls_asm -#: model:ir.model.fields.selection,name:delivery_gls_asm.selection__delivery_carrier__gls_asm_shiptime__16 -msgid "Economy" +#: model:ir.model.fields.selection,name:delivery_gls_asm.selection__delivery_carrier__gls_asm_shiptime__18 +msgid "EconomyParcel" msgstr "" #. module: delivery_gls_asm @@ -377,11 +385,6 @@ msgstr "" msgid "Ent. Pto. ASM" msgstr "" -#. module: delivery_gls_asm -#: model:ir.model.fields.selection,name:delivery_gls_asm.selection__delivery_carrier__gls_asm_shiptime__18 -msgid "Entrega 24-48h (serv. 96) o 48h (serv. 37)" -msgstr "" - #. module: delivery_gls_asm #: model:ir.model.fields.selection,name:delivery_gls_asm.selection__stock_picking__gls_shipment_state__cancel_returned msgid "Entrega anulada (devuelta)" @@ -412,26 +415,6 @@ msgstr "" msgid "Estado recogida GLS" msgstr "" -#. module: delivery_gls_asm -#: model:ir.model.fields.selection,name:delivery_gls_asm.selection__delivery_carrier__gls_asm_shiptime__17 -msgid "Express" -msgstr "" - -#. module: delivery_gls_asm -#: model:ir.model.fields.selection,name:delivery_gls_asm.selection__delivery_carrier__gls_asm_shiptime__0 -msgid "Express 10:00" -msgstr "" - -#. module: delivery_gls_asm -#: model:ir.model.fields.selection,name:delivery_gls_asm.selection__delivery_carrier__gls_asm_shiptime__2 -msgid "Express 14:00" -msgstr "" - -#. module: delivery_gls_asm -#: model:ir.model.fields.selection,name:delivery_gls_asm.selection__delivery_carrier__gls_asm_shiptime__3 -msgid "Express 19:00" -msgstr "" - #. module: delivery_gls_asm #: model:ir.model.fields.selection,name:delivery_gls_asm.selection__delivery_carrier__gls_asm_shiptime__9 msgid "Franja Horaria" @@ -456,7 +439,6 @@ msgid "GLS ASM" msgstr "" #. module: delivery_gls_asm -#. odoo-python #: code:addons/delivery_gls_asm/models/delivery_carrier.py:0 #, python-format msgid "" @@ -472,7 +454,6 @@ msgid "GLS Barcode" msgstr "" #. module: delivery_gls_asm -#. odoo-python #: code:addons/delivery_gls_asm/models/delivery_carrier.py:0 #, python-format msgid "GLS Cancellation failed with reason: %s" @@ -494,7 +475,6 @@ msgid "GLS Label" msgstr "" #. module: delivery_gls_asm -#. odoo-python #: code:addons/delivery_gls_asm/models/delivery_carrier.py:0 #: model:ir.actions.act_window,name:delivery_gls_asm.action_delivery_gls_asm_manifest_wizard #: model:ir.actions.report,name:delivery_gls_asm.gls_asm_manifest_report @@ -509,7 +489,6 @@ msgid "GLS Picking Reference" msgstr "" #. module: delivery_gls_asm -#. odoo-python #: code:addons/delivery_gls_asm/models/delivery_carrier.py:0 #, python-format msgid "" @@ -524,7 +503,6 @@ msgid "GLS Service" msgstr "" #. module: delivery_gls_asm -#. odoo-python #: code:addons/delivery_gls_asm/models/delivery_carrier.py:0 #, python-format msgid "" @@ -538,14 +516,12 @@ msgid "GLS UID" msgstr "" #. module: delivery_gls_asm -#. odoo-python #: code:addons/delivery_gls_asm/models/stock_picking.py:0 #, python-format msgid "GLS label for %s" msgstr "" #. module: delivery_gls_asm -#. odoo-python #: code:addons/delivery_gls_asm/models/gls_asm_request.py:0 #, python-format msgid "" @@ -555,7 +531,6 @@ msgid "" msgstr "" #. module: delivery_gls_asm -#. odoo-python #: code:addons/delivery_gls_asm/models/delivery_carrier.py:0 #, python-format msgid "" @@ -572,7 +547,6 @@ msgid "GLS/ASM With return" msgstr "" #. module: delivery_gls_asm -#. odoo-python #: code:addons/delivery_gls_asm/models/gls_asm_request.py:0 #, python-format msgid "" @@ -582,7 +556,6 @@ msgid "" msgstr "" #. module: delivery_gls_asm -#. odoo-python #: code:addons/delivery_gls_asm/models/gls_asm_request.py:0 #, python-format msgid "" @@ -654,7 +627,6 @@ msgid "Int. WEB" msgstr "" #. module: delivery_gls_asm -#. odoo-python #: code:addons/delivery_gls_asm/wizard/gls_asm_manifest_wizard.py:0 #, python-format msgid "" @@ -708,7 +680,6 @@ msgid "No Realizada" msgstr "" #. module: delivery_gls_asm -#. odoo-python #: code:addons/delivery_gls_asm/models/gls_asm_request.py:0 #, python-format msgid "" @@ -910,7 +881,7 @@ msgstr "" #. module: delivery_gls_asm #: model:ir.model.fields.selection,name:delivery_gls_asm.selection__delivery_carrier__gls_asm_shiptime__11 -msgid "Rec. en agencia" +msgid "Rec. en NAVE." msgstr "" #. module: delivery_gls_asm @@ -1024,7 +995,6 @@ msgid "Transfer" msgstr "" #. module: delivery_gls_asm -#. odoo-python #: code:addons/delivery_gls_asm/models/delivery_carrier.py:0 #, python-format msgid "" @@ -1052,9 +1022,3 @@ msgstr "" #: model:ir.model.fields.selection,name:delivery_gls_asm.selection__delivery_carrier__gls_asm_service__35 msgid "dPRO" msgstr "" - -#~ msgid "10:00 Service" -#~ msgstr "10:00 Servicio" - -#~ msgid "14:00 Service" -#~ msgstr "14:00 Servicio" diff --git a/delivery_gls_asm/i18n/delivery_gls_asm.pot b/delivery_gls_asm/i18n/delivery_gls_asm.pot index a3f2339e089..50c782bd78d 100644 --- a/delivery_gls_asm/i18n/delivery_gls_asm.pot +++ b/delivery_gls_asm/i18n/delivery_gls_asm.pot @@ -13,6 +13,16 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: \n" +#. module: delivery_gls_asm +#: model:ir.model.fields.selection,name:delivery_gls_asm.selection__delivery_carrier__gls_asm_shiptime__0 +msgid "10:00 Service" +msgstr "" + +#. module: delivery_gls_asm +#: model:ir.model.fields.selection,name:delivery_gls_asm.selection__delivery_carrier__gls_asm_shiptime__2 +msgid "14:00 Service" +msgstr "" + #. module: delivery_gls_asm #: model:ir.model.fields.selection,name:delivery_gls_asm.selection__delivery_carrier__gls_asm_service__27 msgid "14H SOBRES" @@ -141,6 +151,11 @@ msgstr "" msgid "BUSINESS PARCEL" msgstr "" +#. module: delivery_gls_asm +#: model:ir.model.fields.selection,name:delivery_gls_asm.selection__delivery_carrier__gls_asm_shiptime__3 +msgid "BusinessParcel" +msgstr "" + #. module: delivery_gls_asm #: model:ir.model.fields.selection,name:delivery_gls_asm.selection__delivery_carrier__gls_asm_service__31 msgid "CAN MUESTRAS" @@ -335,8 +350,8 @@ msgid "EUROBUSINESS SMALL PARCEL" msgstr "" #. module: delivery_gls_asm -#: model:ir.model.fields.selection,name:delivery_gls_asm.selection__delivery_carrier__gls_asm_shiptime__16 -msgid "Economy" +#: model:ir.model.fields.selection,name:delivery_gls_asm.selection__delivery_carrier__gls_asm_shiptime__18 +msgid "EconomyParcel" msgstr "" #. module: delivery_gls_asm @@ -374,11 +389,6 @@ msgstr "" msgid "Ent. Pto. ASM" msgstr "" -#. module: delivery_gls_asm -#: model:ir.model.fields.selection,name:delivery_gls_asm.selection__delivery_carrier__gls_asm_shiptime__18 -msgid "Entrega 24-48h (serv. 96) o 48h (serv. 37)" -msgstr "" - #. module: delivery_gls_asm #: model:ir.model.fields.selection,name:delivery_gls_asm.selection__stock_picking__gls_shipment_state__cancel_returned msgid "Entrega anulada (devuelta)" @@ -409,26 +419,6 @@ msgstr "" msgid "Estado recogida GLS" msgstr "" -#. module: delivery_gls_asm -#: model:ir.model.fields.selection,name:delivery_gls_asm.selection__delivery_carrier__gls_asm_shiptime__17 -msgid "Express" -msgstr "" - -#. module: delivery_gls_asm -#: model:ir.model.fields.selection,name:delivery_gls_asm.selection__delivery_carrier__gls_asm_shiptime__0 -msgid "Express 10:00" -msgstr "" - -#. module: delivery_gls_asm -#: model:ir.model.fields.selection,name:delivery_gls_asm.selection__delivery_carrier__gls_asm_shiptime__2 -msgid "Express 14:00" -msgstr "" - -#. module: delivery_gls_asm -#: model:ir.model.fields.selection,name:delivery_gls_asm.selection__delivery_carrier__gls_asm_shiptime__3 -msgid "Express 19:00" -msgstr "" - #. module: delivery_gls_asm #: model:ir.model.fields.selection,name:delivery_gls_asm.selection__delivery_carrier__gls_asm_shiptime__9 msgid "Franja Horaria" @@ -909,7 +899,7 @@ msgstr "" #. module: delivery_gls_asm #: model:ir.model.fields.selection,name:delivery_gls_asm.selection__delivery_carrier__gls_asm_shiptime__11 -msgid "Rec. en agencia" +msgid "Rec. en NAVE." msgstr "" #. module: delivery_gls_asm diff --git a/delivery_gls_asm/i18n/es.po b/delivery_gls_asm/i18n/es.po index 6ab973047e5..99730f127d6 100644 --- a/delivery_gls_asm/i18n/es.po +++ b/delivery_gls_asm/i18n/es.po @@ -17,6 +17,16 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 4.17\n" +#. module: delivery_gls_asm +#: model:ir.model.fields.selection,name:delivery_gls_asm.selection__delivery_carrier__gls_asm_shiptime__0 +msgid "10:00 Service" +msgstr "10:00 Service" + +#. module: delivery_gls_asm +#: model:ir.model.fields.selection,name:delivery_gls_asm.selection__delivery_carrier__gls_asm_shiptime__2 +msgid "14:00 Service" +msgstr "14:00 Service" + #. module: delivery_gls_asm #: model:ir.model.fields.selection,name:delivery_gls_asm.selection__delivery_carrier__gls_asm_service__27 msgid "14H SOBRES" @@ -146,9 +156,9 @@ msgid "BICI" msgstr "BICI" #. module: delivery_gls_asm -#: model:ir.model.fields.selection,name:delivery_gls_asm.selection__delivery_carrier__gls_asm_service__96 -msgid "BUSINESS PARCEL" -msgstr "" +#: model:ir.model.fields.selection,name:delivery_gls_asm.selection__delivery_carrier__gls_asm_shiptime__3 +msgid "BusinessParcel" +msgstr "NegociosParcela" #. module: delivery_gls_asm #: model:ir.model.fields.selection,name:delivery_gls_asm.selection__delivery_carrier__gls_asm_service__31 @@ -246,14 +256,12 @@ msgid "Con incidencia" msgstr "Con incidencia" #. module: delivery_gls_asm -#. odoo-python #: code:addons/delivery_gls_asm/models/delivery_carrier.py:0 #, python-format msgid "Couldn't find the consignee street" msgstr "No se ha podido encontrar la calle del consignatario (obligatorio)" #. module: delivery_gls_asm -#. odoo-python #: code:addons/delivery_gls_asm/models/delivery_carrier.py:0 #, python-format msgid "Couldn't find the sender street" @@ -345,9 +353,9 @@ msgid "EUROBUSINESS SMALL PARCEL" msgstr "EUROBUSINESS SMALL PARCEL" #. module: delivery_gls_asm -#: model:ir.model.fields.selection,name:delivery_gls_asm.selection__delivery_carrier__gls_asm_shiptime__16 -msgid "Economy" -msgstr "" +#: model:ir.model.fields.selection,name:delivery_gls_asm.selection__delivery_carrier__gls_asm_shiptime__18 +msgid "EconomyParcel" +msgstr "EconomíaParcela" #. module: delivery_gls_asm #: model:ir.model.fields.selection,name:delivery_gls_asm.selection__stock_picking__gls_shipment_state__agency_transit @@ -384,11 +392,6 @@ msgstr "En tránsito al destino" msgid "Ent. Pto. ASM" msgstr "Ent. Pto. ASM" -#. module: delivery_gls_asm -#: model:ir.model.fields.selection,name:delivery_gls_asm.selection__delivery_carrier__gls_asm_shiptime__18 -msgid "Entrega 24-48h (serv. 96) o 48h (serv. 37)" -msgstr "" - #. module: delivery_gls_asm #: model:ir.model.fields.selection,name:delivery_gls_asm.selection__stock_picking__gls_shipment_state__cancel_returned msgid "Entrega anulada (devuelta)" @@ -419,26 +422,6 @@ msgstr "Estado envío GLS" msgid "Estado recogida GLS" msgstr "Estado recogida GLS" -#. module: delivery_gls_asm -#: model:ir.model.fields.selection,name:delivery_gls_asm.selection__delivery_carrier__gls_asm_shiptime__17 -msgid "Express" -msgstr "" - -#. module: delivery_gls_asm -#: model:ir.model.fields.selection,name:delivery_gls_asm.selection__delivery_carrier__gls_asm_shiptime__0 -msgid "Express 10:00" -msgstr "" - -#. module: delivery_gls_asm -#: model:ir.model.fields.selection,name:delivery_gls_asm.selection__delivery_carrier__gls_asm_shiptime__2 -msgid "Express 14:00" -msgstr "" - -#. module: delivery_gls_asm -#: model:ir.model.fields.selection,name:delivery_gls_asm.selection__delivery_carrier__gls_asm_shiptime__3 -msgid "Express 19:00" -msgstr "" - #. module: delivery_gls_asm #: model:ir.model.fields.selection,name:delivery_gls_asm.selection__delivery_carrier__gls_asm_shiptime__9 msgid "Franja Horaria" @@ -466,7 +449,6 @@ msgid "GLS ASM" msgstr "GLS ASM" #. module: delivery_gls_asm -#. odoo-python #: code:addons/delivery_gls_asm/models/delivery_carrier.py:0 #, python-format msgid "" @@ -487,7 +469,6 @@ msgid "GLS Barcode" msgstr "Código de barras GLS" #. module: delivery_gls_asm -#. odoo-python #: code:addons/delivery_gls_asm/models/delivery_carrier.py:0 #, python-format msgid "GLS Cancellation failed with reason: %s" @@ -509,7 +490,6 @@ msgid "GLS Label" msgstr "Etiqueta GLS" #. module: delivery_gls_asm -#. odoo-python #: code:addons/delivery_gls_asm/models/delivery_carrier.py:0 #: model:ir.actions.act_window,name:delivery_gls_asm.action_delivery_gls_asm_manifest_wizard #: model:ir.actions.report,name:delivery_gls_asm.gls_asm_manifest_report @@ -524,7 +504,6 @@ msgid "GLS Picking Reference" msgstr "Referencia albarán GLS" #. module: delivery_gls_asm -#. odoo-python #: code:addons/delivery_gls_asm/models/delivery_carrier.py:0 #, python-format msgid "" @@ -541,7 +520,6 @@ msgid "GLS Service" msgstr "Servicio GLS" #. module: delivery_gls_asm -#. odoo-python #: code:addons/delivery_gls_asm/models/delivery_carrier.py:0 #, python-format msgid "" @@ -557,14 +535,12 @@ msgid "GLS UID" msgstr "UID GLS" #. module: delivery_gls_asm -#. odoo-python #: code:addons/delivery_gls_asm/models/stock_picking.py:0 #, python-format msgid "GLS label for %s" msgstr "Etiqueta GLS para% s" #. module: delivery_gls_asm -#. odoo-python #: code:addons/delivery_gls_asm/models/gls_asm_request.py:0 #, python-format msgid "" @@ -577,7 +553,6 @@ msgstr "" "%(error)s" #. module: delivery_gls_asm -#. odoo-python #: code:addons/delivery_gls_asm/models/delivery_carrier.py:0 #, python-format msgid "" @@ -599,7 +574,6 @@ msgid "GLS/ASM With return" msgstr "Con recogida GLS/ASM" #. module: delivery_gls_asm -#. odoo-python #: code:addons/delivery_gls_asm/models/gls_asm_request.py:0 #, python-format msgid "" @@ -613,7 +587,6 @@ msgstr "" "%(error)s" #. module: delivery_gls_asm -#. odoo-python #: code:addons/delivery_gls_asm/models/gls_asm_request.py:0 #, python-format msgid "" @@ -692,7 +665,6 @@ msgid "Int. WEB" msgstr "Int. WEB" #. module: delivery_gls_asm -#. odoo-python #: code:addons/delivery_gls_asm/wizard/gls_asm_manifest_wizard.py:0 #, python-format msgid "" @@ -748,7 +720,6 @@ msgid "No Realizada" msgstr "No Realizada" #. module: delivery_gls_asm -#. odoo-python #: code:addons/delivery_gls_asm/models/gls_asm_request.py:0 #, python-format msgid "" @@ -953,8 +924,8 @@ msgstr "Realizada con éxito" #. module: delivery_gls_asm #: model:ir.model.fields.selection,name:delivery_gls_asm.selection__delivery_carrier__gls_asm_shiptime__11 -msgid "Rec. en agencia" -msgstr "" +msgid "Rec. en NAVE." +msgstr "Rec. en NAVE." #. module: delivery_gls_asm #: model:ir.model.fields.selection,name:delivery_gls_asm.selection__stock_picking__gls_shipment_state__extinguished @@ -1067,7 +1038,6 @@ msgid "Transfer" msgstr "Albarán" #. module: delivery_gls_asm -#. odoo-python #: code:addons/delivery_gls_asm/models/delivery_carrier.py:0 #, python-format msgid "" @@ -1099,21 +1069,6 @@ msgstr "C.P." msgid "dPRO" msgstr "dPRO" -#~ msgid "10:00 Service" -#~ msgstr "10:00 Service" - -#~ msgid "14:00 Service" -#~ msgstr "14:00 Service" - -#~ msgid "BusinessParcel" -#~ msgstr "NegociosParcela" - -#~ msgid "EconomyParcel" -#~ msgstr "EconomíaParcela" - -#~ msgid "Rec. en NAVE." -#~ msgstr "Rec. en NAVE." - #, python-format #~ msgid "" #~ "No response from server getting manifisto for GLS.\n" diff --git a/delivery_gls_asm/models/delivery_carrier.py b/delivery_gls_asm/models/delivery_carrier.py index 207b3596757..ffb7964c66d 100644 --- a/delivery_gls_asm/models/delivery_carrier.py +++ b/delivery_gls_asm/models/delivery_carrier.py @@ -138,7 +138,7 @@ def _prepare_gls_asm_shipping(self, picking): "horario": self.gls_asm_shiptime, "bultos": picking.number_of_packages, "peso": round(picking.shipping_weight, 3), - "volumen": "", # [optional] Volume, in m3 + "volumen": round(picking.volume, 3), "declarado": "", # [optional] "dninomb": "0", # [optional] "fechaentrega": "", # [optional] @@ -149,7 +149,11 @@ def _prepare_gls_asm_shipping(self, picking): "remite_nombre": escape( sender_partner.name or sender_partner.parent_id.name ), - "remite_direccion": escape(sender_partner.street or ""), + "remite_direccion": escape( + ", ".join( + [x for x in (sender_partner.street, sender_partner.street2) if x] + ) + ), "remite_poblacion": escape(sender_partner.city or ""), "remite_provincia": escape(sender_partner.state_id.name or ""), "remite_pais": "34", # [mandatory] always 34=Spain @@ -165,7 +169,9 @@ def _prepare_gls_asm_shipping(self, picking): "destinatario_nombre": ( escape(consignee.name or consignee.commercial_partner_id.name or "") ), - "destinatario_direccion": escape(consignee.street or ""), + "destinatario_direccion": escape( + ", ".join([x for x in (consignee.street, consignee.street2) if x]) + ), "destinatario_poblacion": escape(consignee.city or ""), "destinatario_provincia": escape(consignee.state_id.name or ""), "destinatario_pais": consignee.country_id.phone_code or "", @@ -226,7 +232,11 @@ def _prepare_gls_asm_pickup(self, picking): "remite_nombre": escape( sender_partner.name or sender_partner.parent_id.name ), - "remite_direccion": escape(sender_partner.street) or "", + "remite_direccion": escape( + ", ".join( + [x for x in (sender_partner.street, sender_partner.street2) if x] + ) + ), "remite_poblacion": sender_partner.city or "", "remite_provincia": sender_partner.state_id.name or "", "remite_pais": (sender_partner.country_id.phone_code or ""), @@ -243,7 +253,15 @@ def _prepare_gls_asm_pickup(self, picking): "destinatario_nombre": escape( receiving_partner.name or receiving_partner.parent_id.name ), - "destinatario_direccion": escape(receiving_partner.street) or "", + "destinatario_direccion": escape( + ", ".join( + [ + x + for x in (receiving_partner.street, receiving_partner.street2) + if x + ] + ) + ), "destinatario_poblacion": receiving_partner.city or "", "destinatario_provincia": receiving_partner.state_id.name or "", "destinatario_pais": (receiving_partner.country_id.phone_code or ""), @@ -274,8 +292,7 @@ def gls_asm_send_shipping(self, pickings): for picking in pickings: if picking.carrier_id.gls_is_pickup_service: continue - vals = self._prepare_gls_asm_shipping(picking) - if len(vals.get("referencia_c", "")) > 15: + if len(picking.name) > 15: raise UserError( _( "GLS-ASM API doesn't admit a reference number higher than " @@ -286,6 +303,7 @@ def gls_asm_send_shipping(self, pickings): "sequence to a max of 15 characters." ) ) + vals = self._prepare_gls_asm_shipping(picking) vals.update({"tracking_number": False, "exact_price": 0}) response = gls_request._send_shipping(vals) self.log_xml( diff --git a/delivery_gls_asm/models/gls_asm_master_data.py b/delivery_gls_asm/models/gls_asm_master_data.py index 11a0bffdd0b..2c4d55f1fd6 100644 --- a/delivery_gls_asm/models/gls_asm_master_data.py +++ b/delivery_gls_asm/models/gls_asm_master_data.py @@ -67,19 +67,17 @@ ] GLS_SHIPPING_TIMES = [ - ("0", "Express 10:00"), - ("2", "Express 14:00"), - ("3", "Express 19:00"), + ("0", "10:00 Service"), + ("2", "14:00 Service"), + ("3", "BusinessParcel"), ("5", "SaturdayService"), ("7", "INTERDIA"), ("9", "Franja Horaria"), ("4", "Masivo"), ("10", "Maritimo"), - ("11", "Rec. en agencia"), + ("11", "Rec. en NAVE."), ("13", "Ent. Pto. ASM"), - ("16", "Economy"), - ("17", "Express"), - ("18", "Entrega 24-48h (serv. 96) o 48h (serv. 37)"), + ("18", "EconomyParcel"), ("19", "ParcelShop"), ] diff --git a/delivery_gls_asm/models/gls_asm_request.py b/delivery_gls_asm/models/gls_asm_request.py index 2ee0d53ac4b..facd1c83b20 100644 --- a/delivery_gls_asm/models/gls_asm_request.py +++ b/delivery_gls_asm/models/gls_asm_request.py @@ -78,6 +78,11 @@ def _prepare_cancel_pickup_docin(self, **kwargs): ) def _prepare_send_shipping_docin(self, **kwargs): + print("*"*100) + # print("**kwargs",**kwargs) + for key, value in kwargs.items(): + print(key, value) + print("*"*100) """ASM API is not very standard. Prepare parameters to pass them raw in the SOAP message""" return """ @@ -224,42 +229,43 @@ def _send_shipping(self, vals): """ vals.update({"uidcustomer": self.uidcustomer}) xml = Raw(self._prepare_send_shipping_docin(**vals)) + print("XML", xml) _logger.debug(xml) - try: - res = self.client.service.GrabaServicios(docIn=xml) - except Exception as e: - raise UserError( - _( - "No response from server recording GLS delivery %(ref)s.\n" - "Traceback:\n%(error)s" - ) - % {"ref": vals.get("referencia_c", ""), "error": e} - ) from e - # Convert result suds object to dict and set the root conveniently - # GLS API Errors have codes below 0 so we have to - # convert to int as well - res = self._recursive_asdict(res)["Servicios"]["Envio"] - res["gls_sent_xml"] = xml - _logger.debug(res) - res["_return"] = int(res["Resultado"]["_return"]) - if res["_return"] < 0: - raise UserError( - _( - "GLS returned an error trying to record the shipping for %(ref)s.\n" - "Error:\n%(error)s" - ) - % { - "ref": vals.get("referencia_c", ""), - "error": GLS_SHIPMENT_ERROR_CODES.get( - res["_return"], res["_return"] - ), - } - ) - if res.get("Etiquetas", {}).get("Etiqueta", {}).get("value"): - res["gls_label"] = binascii.a2b_base64( - res["Etiquetas"]["Etiqueta"]["value"] - ) - return res + # try: + # res = self.client.service.GrabaServicios(docIn=xml) + # except Exception as e: + # raise UserError( + # _( + # "No response from server recording GLS delivery %(ref)s.\n" + # "Traceback:\n%(error)s" + # ) + # % {"ref": vals.get("referencia_c", ""), "error": e} + # ) from e + # # Convert result suds object to dict and set the root conveniently + # # GLS API Errors have codes below 0 so we have to + # # convert to int as well + # res = self._recursive_asdict(res)["Servicios"]["Envio"] + # res["gls_sent_xml"] = xml + # _logger.debug(res) + # res["_return"] = int(res["Resultado"]["_return"]) + # if res["_return"] < 0: + # raise UserError( + # _( + # "GLS returned an error trying to record the shipping for %(ref)s.\n" + # "Error:\n%(error)s" + # ) + # % { + # "ref": vals.get("referencia_c", ""), + # "error": GLS_SHIPMENT_ERROR_CODES.get( + # res["_return"], res["_return"] + # ), + # } + # ) + # if res.get("Etiquetas", {}).get("Etiqueta", {}).get("value"): + # res["gls_label"] = binascii.a2b_base64( + # res["Etiquetas"]["Etiqueta"]["value"] + # ) + # return res def _send_pickup(self, vals): """Create new pickup diff --git a/delivery_gls_asm/models/stock_picking.py b/delivery_gls_asm/models/stock_picking.py index 3a6199530c8..c1f1d4798c0 100644 --- a/delivery_gls_asm/models/stock_picking.py +++ b/delivery_gls_asm/models/stock_picking.py @@ -1,5 +1,7 @@ # Copyright 2020 Tecnativa - David Vidal # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +from pygments.lexer import default + from odoo import _, fields, models @@ -71,7 +73,26 @@ class StockPicking(models.Model): ], copy=False, ) - gls_shipping_notes = fields.Text(string="Notas de envío GLS") + gls_shipping_notes = fields.Text( + string="Notas de envío GLS" + ) + def _compute_volume_uom_name(self): + self.volume_uom_name = self.env['product.template']._get_volume_uom_name_from_ir_config_parameter() + + volume_uom_name = fields.Char( + string='Volume unit of measure label', + compute='_compute_volume_uom_name', + readonly=True, + default=_compute_volume_uom_name + ) + + def _compute_volume(self): + for record in self: + record.volume = sum( + move.product_id.volume * move.product_uom_qty for move in record.move_ids_without_package + ) + + volume = fields.Float(string="Volume", compute="_compute_volume", default=_compute_volume) def gls_asm_get_label(self): """Get GLS Label for this picking expedition""" diff --git a/delivery_gls_asm/static/description/index.html b/delivery_gls_asm/static/description/index.html index 462bb69af85..d143d4a0827 100644 --- a/delivery_gls_asm/static/description/index.html +++ b/delivery_gls_asm/static/description/index.html @@ -366,7 +366,7 @@

Delivery GLS-ASM

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:66ef5f3a61104be230f40121cdba33c3f8aa34e5125c8b183c1c13a7b32cfd19 +!! source digest: sha256:f39958d0fb913d16e489512f04563aa92d7e8a08ec50eaae6e8dfecaf4044c24 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

Beta License: AGPL-3 OCA/l10n-spain Translate me on Weblate Try me on Runboat

Este módulo integra la API de GLS España (antigua API de ASM) con Odoo. No es diff --git a/delivery_gls_asm/views/stock_picking_views.xml b/delivery_gls_asm/views/stock_picking_views.xml index 27ce5864079..77056d5cff0 100644 --- a/delivery_gls_asm/views/stock_picking_views.xml +++ b/delivery_gls_asm/views/stock_picking_views.xml @@ -51,6 +51,13 @@ /> + +

+ + +
+