Skip to content

Commit

Permalink
[MIG] delivery_ups_oca: Migration to 17.0
Browse files Browse the repository at this point in the history
  • Loading branch information
Tisho99 committed Feb 20, 2025
1 parent ee49105 commit 1ff5281
Show file tree
Hide file tree
Showing 12 changed files with 106 additions and 114 deletions.
4 changes: 2 additions & 2 deletions delivery_ups_oca/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,8 @@ Configuration

To configure this module, you need to:

1. Add a carrier account with delivery type ``ups`` and fill in your
credentials (UPS Client and UPS Client Secret)
1. Add a Shipping Method (delivery.carrier) with provider ``ups`` and
fill in your credentials (UPS Client and UPS Client Secret)
2. Configure in Odoo all required fields of the UPS tab with your
account data https://wwwapps.ups.com/ppc/ppc.html (Shipper number,
Default Packaging, Package Dimension Code, Package Weight Code and
Expand Down
9 changes: 5 additions & 4 deletions delivery_ups_oca/__manifest__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,21 +4,22 @@
{
"name": "Delivery UPS OCA",
"summary": "Integrate UPS webservice",
"version": "14.0.1.0.1",
"version": "17.0.1.0.0",
"development_status": "Beta",
"category": "Delivery",
"website": "https://github.com/OCA/delivery-carrier",
"author": "Hunki Enterprises BV, Tecnativa, ForgeFlow, Odoo Community Association (OCA)",
"author": """Hunki Enterprises BV, Tecnativa, ForgeFlow,
Odoo Community Association (OCA)""",
"license": "AGPL-3",
"excludes": ["delivery_ups"],
"depends": [
"delivery",
"stock_delivery",
"delivery_package_number",
"delivery_price_method",
"delivery_state",
],
"data": [
"data/product_packaging_data.xml",
"data/stock_package_type_data.xml",
"views/delivery_carrier_view.xml",
"views/stock_picking_view.xml",
],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,117 +2,117 @@
<!-- Copyright 2021 Tecnativa - Víctor Martínez
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
<odoo>
<record id="product_packaging_ups_01" model="product.packaging">
<record id="product_packaging_ups_01" model="stock.package.type">
<field name="shipper_package_code">01</field>
<field name="name">UPS Letter</field>
<field name="package_carrier_type">ups</field>
</record>
<record id="product_packaging_ups_02" model="product.packaging">
<record id="product_packaging_ups_02" model="stock.package.type">
<field name="shipper_package_code">02</field>
<field name="name">Customer Supplied Package</field>
<field name="package_carrier_type">ups</field>
</record>
<record id="product_packaging_ups_03" model="product.packaging">
<record id="product_packaging_ups_03" model="stock.package.type">
<field name="shipper_package_code">03</field>
<field name="name">Tube</field>
<field name="package_carrier_type">ups</field>
</record>
<record id="product_packaging_ups_04" model="product.packaging">
<record id="product_packaging_ups_04" model="stock.package.type">
<field name="shipper_package_code">04</field>
<field name="name">PAK</field>
<field name="package_carrier_type">ups</field>
</record>
<record id="product_packaging_ups_21" model="product.packaging">
<record id="product_packaging_ups_21" model="stock.package.type">
<field name="shipper_package_code">21</field>
<field name="name">UPS Express Box</field>
<field name="package_carrier_type">ups</field>
</record>
<record id="product_packaging_ups_24" model="product.packaging">
<record id="product_packaging_ups_24" model="stock.package.type">
<field name="shipper_package_code">24</field>
<field name="name">UPS 25KG Box</field>
<field name="package_carrier_type">ups</field>
</record>
<record id="product_packaging_ups_25" model="product.packaging">
<record id="product_packaging_ups_25" model="stock.package.type">
<field name="shipper_package_code">25</field>
<field name="name">UPS 10KG Box</field>
<field name="package_carrier_type">ups</field>
</record>
<record id="product_packaging_ups_30" model="product.packaging">
<record id="product_packaging_ups_30" model="stock.package.type">
<field name="shipper_package_code">30</field>
<field name="name">Pallet</field>
<field name="package_carrier_type">ups</field>
</record>
<record id="product_packaging_ups_2a" model="product.packaging">
<record id="product_packaging_ups_2a" model="stock.package.type">
<field name="shipper_package_code">2a</field>
<field name="name">Small Express Box</field>
<field name="package_carrier_type">ups</field>
</record>
<record id="product_packaging_ups_2b" model="product.packaging">
<record id="product_packaging_ups_2b" model="stock.package.type">
<field name="shipper_package_code">2b</field>
<field name="name">Medium Express Box</field>
<field name="package_carrier_type">ups</field>
</record>
<record id="product_packaging_ups_2c" model="product.packaging">
<record id="product_packaging_ups_2c" model="stock.package.type">
<field name="shipper_package_code">2c</field>
<field name="name">Large Express Box</field>
<field name="package_carrier_type">ups</field>
</record>
<record id="product_packaging_ups_56" model="product.packaging">
<record id="product_packaging_ups_56" model="stock.package.type">
<field name="shipper_package_code">56</field>
<field name="name">Flats</field>
<field name="package_carrier_type">ups</field>
</record>
<record id="product_packaging_ups_57" model="product.packaging">
<record id="product_packaging_ups_57" model="stock.package.type">
<field name="shipper_package_code">57</field>
<field name="name">Parcels</field>
<field name="package_carrier_type">ups</field>
</record>
<record id="product_packaging_ups_58" model="product.packaging">
<record id="product_packaging_ups_58" model="stock.package.type">
<field name="shipper_package_code">58</field>
<field name="name">BPM</field>
<field name="package_carrier_type">ups</field>
</record>
<record id="product_packaging_ups_59" model="product.packaging">
<record id="product_packaging_ups_59" model="stock.package.type">
<field name="shipper_package_code">59</field>
<field name="name">First Class</field>
<field name="package_carrier_type">ups</field>
</record>
<record id="product_packaging_ups_60" model="product.packaging">
<record id="product_packaging_ups_60" model="stock.package.type">
<field name="shipper_package_code">60</field>
<field name="name">Priority</field>
<field name="package_carrier_type">ups</field>
</record>
<record id="product_packaging_ups_61" model="product.packaging">
<record id="product_packaging_ups_61" model="stock.package.type">
<field name="shipper_package_code">61</field>
<field name="name">Machineables</field>
<field name="package_carrier_type">ups</field>
</record>
<record id="product_packaging_ups_62" model="product.packaging">
<record id="product_packaging_ups_62" model="stock.package.type">
<field name="shipper_package_code">62</field>
<field name="name">Irregulars</field>
<field name="package_carrier_type">ups</field>
</record>
<record id="product_packaging_ups_63" model="product.packaging">
<record id="product_packaging_ups_63" model="stock.package.type">
<field name="shipper_package_code">63</field>
<field name="name">Parcel Post</field>
<field name="package_carrier_type">ups</field>
</record>
<record id="product_packaging_ups_64" model="product.packaging">
<record id="product_packaging_ups_64" model="stock.package.type">
<field name="shipper_package_code">64</field>
<field name="name">BPM Parcel</field>
<field name="package_carrier_type">ups</field>
</record>
<record id="product_packaging_ups_65" model="product.packaging">
<record id="product_packaging_ups_65" model="stock.package.type">
<field name="shipper_package_code">65</field>
<field name="name">Media Mail</field>
<field name="package_carrier_type">ups</field>
</record>
<record id="product_packaging_ups_66" model="product.packaging">
<record id="product_packaging_ups_66" model="stock.package.type">
<field name="shipper_package_code">66</field>
<field name="name">BPM Flat</field>
<field name="package_carrier_type">ups</field>
</record>
<record id="product_packaging_ups_67" model="product.packaging">
<record id="product_packaging_ups_67" model="stock.package.type">
<field name="shipper_package_code">67</field>
<field name="name">Standard Flat</field>
<field name="package_carrier_type">ups</field>
Expand Down
2 changes: 1 addition & 1 deletion delivery_ups_oca/models/__init__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from . import delivery_carrier
from . import product_packaging
from . import stock_package_type
from . import stock_picking
from . import ups_request
8 changes: 2 additions & 6 deletions delivery_ups_oca/models/delivery_carrier.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ class DeliveryCarrier(models.Model):
string="Service code",
)
ups_default_packaging_id = fields.Many2one(
comodel_name="product.packaging",
comodel_name="stock.package.type",
string="Default Packaging Type",
domain=[("package_carrier_type", "=", "ups")],
)
Expand Down Expand Up @@ -156,11 +156,7 @@ def _create_ups_label(self, picking, labels):
val_list = []
for label in labels:
format_code = label["format_code"].upper()
attachment_name = "%s-%s.%s" % (
label["tracking_ref"],
format_code,
format_code,
)
attachment_name = f"{label['tracking_ref']}-{format_code}.{format_code}"
val_list.append(
self._prepare_ups_label_attachment(
picking,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from odoo import fields, models


class ProductPackaging(models.Model):
_inherit = "product.packaging"
class PackageType(models.Model):
_inherit = "stock.package.type"

package_carrier_type = fields.Selection(selection_add=[("ups", "UPS")])
19 changes: 10 additions & 9 deletions delivery_ups_oca/models/ups_request.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,8 @@ def __init__(self, carrier):
def _raise_for_status(self, status, skip_errors=True):
errors = status.get("response", {}).get("errors")
if errors:
msg = _("Sending to UPS: %s") % (
"\n".join("%(code)s %(message)s" % error for error in errors),
msg = _("Sending to UPS: {}").format(
"\n".join("{code} {message}".format(**error) for error in errors),
)
if skip_errors:
_logger.info(msg)
Expand All @@ -55,7 +55,8 @@ def _get_new_token(self):
if not (self.client_id and self.client_secret):
raise UserError(
_(
"Both Client ID and Client Secret must be set in UPS delivery carriers."
"Both Client ID and Client Secret"
" must be set in UPS delivery carriers."
)
)
url = "%s/security/v1/oauth/token" % self.url
Expand Down Expand Up @@ -165,7 +166,7 @@ def _prepare_create_shipping(self, picking):
for package in picking.package_ids
]
else:
# modelo: product.packaging
# modelo: stock.package.type
packages = []
package_info = self._quant_package_data_from_picking(
self.default_packaging_id, picking, False
Expand All @@ -175,7 +176,7 @@ def _prepare_create_shipping(self, picking):
)
for i in range(0, picking.number_of_packages):
package_item = package_info
package_name = "%s (%s)" % (picking.name, i + 1)
package_name = f"{picking.name} ({i+1})"
package_item["Description"] = package_name
package_item["NumOfPieces"] = "1"
package_item["Packaging"]["Description"] = package_name
Expand Down Expand Up @@ -363,7 +364,7 @@ def tracking_state_update(self, picking):
"M": "in_transit",
}
status = self._process_reply(
url="%s/api/track/v1/details/%s" % (self.url, picking.carrier_tracking_ref),
url=f"{self.url}/api/track/v1/details/{picking.carrier_tracking_ref}",
method="get",
headers_extra={
"transId": f"{datetime.datetime.now().timestamp()}",
Expand Down Expand Up @@ -396,9 +397,9 @@ def tracking_state_update(self, picking):
else:
for warning in shipment.get("warnings"):
states_list.append(
_("{} - Warning: {}").format(
datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"),
warning.get("message"),
_("{date} - Warning: {warn}").format(
date=datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"),
warn=warning.get("message"),
)
)

Expand Down
2 changes: 1 addition & 1 deletion delivery_ups_oca/readme/CONFIGURE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
To configure this module, you need to:

1. Add a carrier account with delivery type `ups` and fill in your
1. Add a Shipping Method (delivery.carrier) with provider `ups` and fill in your
credentials (UPS Client and UPS Client Secret)
2. Configure in Odoo all required fields of the UPS tab with your
account data <https://wwwapps.ups.com/ppc/ppc.html> (Shipper number,
Expand Down
4 changes: 2 additions & 2 deletions delivery_ups_oca/static/description/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -397,8 +397,8 @@ <h1 class="title">Delivery UPS OCA</h1>
<h1><a class="toc-backref" href="#toc-entry-1">Configuration</a></h1>
<p>To configure this module, you need to:</p>
<ol class="arabic simple">
<li>Add a carrier account with delivery type <tt class="docutils literal">ups</tt> and fill in your
credentials (UPS Client and UPS Client Secret)</li>
<li>Add a Shipping Method (delivery.carrier) with provider <tt class="docutils literal">ups</tt> and
fill in your credentials (UPS Client and UPS Client Secret)</li>
<li>Configure in Odoo all required fields of the UPS tab with your
account data <a class="reference external" href="https://wwwapps.ups.com/ppc/ppc.html">https://wwwapps.ups.com/ppc/ppc.html</a> (Shipper number,
Default Packaging, Package Dimension Code, Package Weight Code and
Expand Down
Loading

0 comments on commit 1ff5281

Please sign in to comment.