Skip to content

Commit

Permalink
[MIG] delivery_postlogistics: Migration to 18.0
Browse files Browse the repository at this point in the history
  • Loading branch information
bizzappdev committed Jan 28, 2025
1 parent 5293e95 commit b156eb5
Show file tree
Hide file tree
Showing 16 changed files with 57 additions and 47 deletions.
4 changes: 2 additions & 2 deletions delivery_postlogistics/__manifest__.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@
{
"name": "PostLogistics Shipping - “Barcode” web service",
"summary": "Print PostLogistics shipping labels using the Barcode web service",
"version": "16.0.1.1.0",
"version": "18.0.1.0.0",
"author": "Camptocamp,Odoo Community Association (OCA)",
"maintainer": "Camptocamp",
"license": "AGPL-3",
"category": "Delivery",
"complexity": "normal",
"depends": ["delivery", "mail", "base", "stock"],
"depends": ["delivery", "mail", "base", "stock", "stock_delivery"],
"website": "https://github.com/OCA/delivery-carrier",
"data": [
"security/ir.model.access.csv",
Expand Down
4 changes: 2 additions & 2 deletions delivery_postlogistics/models/delivery_carrier.py
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ def onchange_prod_environment(self):
def postlogistics_get_tracking_link(self, picking):
return (
"https://service.post.ch/EasyTrack/"
"submitParcelData.do?formattedParcelCodes=%s" % picking.carrier_tracking_ref
f"submitParcelData.do?formattedParcelCodes={picking.carrier_tracking_ref}"
)

def postlogistics_cancel_shipment(self, pickings):
Expand Down Expand Up @@ -158,7 +158,7 @@ def verify_credentials(self):
return message

def _compute_can_generate_return(self):
res = super(DeliveryCarrier, self)._compute_can_generate_return()
res = super()._compute_can_generate_return()
for carrier in self:
if carrier.delivery_type == "postlogistics":
carrier.can_generate_return = True
Expand Down
2 changes: 1 addition & 1 deletion delivery_postlogistics/models/stock_move.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ class StockMove(models.Model):
_inherit = "stock.move"

def _get_new_picking_values(self):
vals = super(StockMove, self)._get_new_picking_values()
vals = super()._get_new_picking_values()

order_commitment_date = (
self.sale_line_id and self.sale_line_id.order_id.commitment_date
Expand Down
3 changes: 2 additions & 1 deletion delivery_postlogistics/models/stock_package_type.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ class PackageType(models.Model):
_inherit = "stock.package.type"

package_carrier_type = fields.Selection(
selection_add=[("postlogistics", "PostLogistics")]
selection_add=[("postlogistics", "PostLogistics")],
ondelete={"postlogistics": "set default"},
)

def _get_packaging_codes(self):
Expand Down
14 changes: 8 additions & 6 deletions delivery_postlogistics/postlogistics/web_service.py
Original file line number Diff line number Diff line change
Expand Up @@ -343,7 +343,7 @@ def add_item(package=None):
# start with 9 to ensure uniqueness and use 7 digits
# of picking number
picking_num = _compile_itemnum.sub("", picking.name)
item_number = "9%s" % picking_num[-7:].zfill(7)
item_number = f"9{picking_num[-7:].zfill(7)}"
else:
item_number = self._get_item_number(picking, pack_counter)
item["itemNumber"] = item_number
Expand Down Expand Up @@ -461,7 +461,8 @@ def _request_access_token(cls, delivery_carrier):
) as error:
raise UserError(
_(
"Postlogistics service is not accessible at the moment. Error code: %s. "
"Postlogistics service is not accessible at the moment. Error code:"
" %s. "
"Please try again later." % (response.status_code or "None")
)
) from error
Expand Down Expand Up @@ -546,7 +547,7 @@ def generate_label(self, picking, packages):
response = requests.post(
url=generate_label_url,
headers={
"Authorization": "Bearer %s" % access_token,
"Authorization": f"Bearer {access_token}",
"accept": "application/json",
"content-type": "application/json",
},
Expand All @@ -559,9 +560,10 @@ def generate_label(self, picking, packages):
res["errors"] = response.content.decode("utf-8")
_logger.warning(
"Shipping label could not be generated.\n"
"Request: %(datas)s\n"
"Response: %(error)s"
% {"datas": json.dumps(data), "error": res["errors"]}
"Request: {datas}\n"
"Response: {error}".format(
datas=json.dumps(data), error=res["errors"]
)
)
return [res]

Expand Down
2 changes: 1 addition & 1 deletion delivery_postlogistics/tests/common.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

from ..postlogistics.web_service import PostlogisticsWebService

ENDPOINT_URL = "https://wedecint.post.ch/"
ENDPOINT_URL = "https://localhost:8069/"
CLIENT_ID = "XXX"
CLIENT_SECRET = "XXX"
LICENSE = "XXX"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ interactions:
content-type:
- application/x-www-form-urlencoded
method: POST
uri: https://wedecint.post.ch/WEDECOAuth/token
uri: https://localhost:8069/WEDECOAuth/token
response:
body:
string: '{"access_token":"XXX","token_type":"Bearer","expires_in":60}'
Expand Down Expand Up @@ -67,7 +67,7 @@ interactions:
content-type:
- application/json
method: POST
uri: https://wedecint.post.ch/api/barcode/v1/generateAddressLabel
uri: https://localhost:8069/api/barcode/v1/generateAddressLabel
response:
body:
string: "{\n \"labelDefinition\" : {\n \"labelLayout\" : \"A6\",\n \"\
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ interactions:
content-type:
- application/x-www-form-urlencoded
method: POST
uri: https://wedecint.post.ch/WEDECOAuth/token
uri: https://localhost:8069/WEDECOAuth/token
response:
body:
string: '{"access_token":"XXX","token_type":"Bearer","expires_in":60}'
Expand Down Expand Up @@ -67,7 +67,7 @@ interactions:
content-type:
- application/json
method: POST
uri: https://wedecint.post.ch/api/barcode/v1/generateAddressLabel
uri: https://localhost:8069/api/barcode/v1/generateAddressLabel
response:
body:
string: "{\n \"labelDefinition\" : {\n \"labelLayout\" : \"A6\",\n \"\
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ interactions:
content-type:
- application/x-www-form-urlencoded
method: POST
uri: https://wedecint.post.ch/WEDECOAuth/token
uri: https://localhost:8069/WEDECOAuth/token
response:
body:
string: ''
Expand All @@ -33,4 +33,4 @@ interactions:
status:
code: 503
message: Service Unavailable
version: 1
version: 1
4 changes: 2 additions & 2 deletions delivery_postlogistics/tests/test_packaging_code.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Copyright 2022 Camptocamp SA
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl)

from odoo.tests.common import Form, TransactionCase
from odoo.tests import Form, TransactionCase

PACKAGE_CODE = "blah-biddy, bloo-blah, blah-blah-biddy, bloo-blah"
EXPECTED_CODES = ["blah-biddy", "bloo-blah", "blah-blah-biddy", "bloo-blah"]
Expand All @@ -13,7 +13,7 @@ class TestPackagingCode(TransactionCase):

@classmethod
def setUpClass(cls):
super(TestPackagingCode, cls).setUpClass()
super().setUpClass()
cls.env = cls.env(context=dict(cls.env.context, tracking_disable=True))
cls.carrier = cls.env.ref("delivery.delivery_carrier")
cls.carrier.delivery_type = "postlogistics"
Expand Down
3 changes: 2 additions & 1 deletion delivery_postlogistics/tests/test_postlogistics.py
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,8 @@ def test_postlogistics_rate_shipment(self):
def test_postlogistics_get_token_error(self):
with recorder.use_cassette("test_token_error") as cassette:
err_msg = (
"Postlogistics service is not accessible at the moment. Error code: 503. "
"Postlogistics service is not accessible at the moment. Error code:"
" 503. "
"Please try again later."
)
with self.assertRaisesRegex(UserError, err_msg):
Expand Down
22 changes: 11 additions & 11 deletions delivery_postlogistics/views/delivery.xml
Original file line number Diff line number Diff line change
Expand Up @@ -11,22 +11,22 @@
<page
name="postlogistics"
string="PostLogistics"
attrs="{'invisible': [('delivery_type', '!=', 'postlogistics')]}"
invisible="delivery_type != 'postlogistics'"
>
<group>
<group string="Credentials">
<field
name="postlogistics_endpoint_url"
attrs="{'required': [('delivery_type', '=', 'postlogistics')]}"
required="delivery_type == 'postlogistics'"
/>
<field
name="postlogistics_client_id"
attrs="{'required': [('delivery_type', '=', 'postlogistics')]}"
required="delivery_type == 'postlogistics'"
/>
<field
name="postlogistics_client_secret"
password="True"
attrs="{'required': [('delivery_type', '=', 'postlogistics')]}"
required="delivery_type == 'postlogistics'"
/>
<button
name="verify_credentials"
Expand All @@ -38,33 +38,33 @@
<group string="Template">
<field
name="postlogistics_label_layout"
attrs="{'required': [('delivery_type', '=', 'postlogistics')]}"
required="delivery_type == 'postlogistics'"
/>
<field
name="postlogistics_output_format"
attrs="{'required': [('delivery_type', '=', 'postlogistics')]}"
required="delivery_type == 'postlogistics'"
/>
<field
name="postlogistics_resolution"
attrs="{'required': [('delivery_type', '=', 'postlogistics')]}"
required="delivery_type == 'postlogistics'"
/>
</group>
<group string="Misc.">
<field
name="postlogistics_license_id"
attrs="{'required': [('delivery_type', '=', 'postlogistics')]}"
required="delivery_type == 'postlogistics'"
/>
<field
name="postlogistics_default_package_type_id"
attrs="{'required': [('delivery_type', '=', 'postlogistics')]}"
required="delivery_type == 'postlogistics'"
/>
<field
name="postlogistics_tracking_format"
attrs="{'required': [('delivery_type', '=', 'postlogistics')]}"
required="delivery_type == 'postlogistics'"
/>
<field
name="postlogistics_proclima_logo"
attrs="{'required': [('delivery_type', '=', 'postlogistics')]}"
required="delivery_type == 'postlogistics'"
/>
<field name="postlogistics_office" />
</group>
Expand Down
6 changes: 3 additions & 3 deletions delivery_postlogistics/views/postlogistics_license.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,19 @@
<field name="name">postlogistics.license.view_list</field>
<field name="model">postlogistics.license</field>
<field name="arch" type="xml">
<tree editable="bottom">
<list editable="bottom">
<field name="name" />
<field name="number" />
<field name="sequence" invisible="True" />
<field name="company_id" groups="base.group_multi_company" />
</tree>
</list>
</field>
</record>
<record id="action_postlogistics_licenses" model="ir.actions.act_window">
<field name="name">PostLogistics Licenses</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">postlogistics.license</field>
<field name='view_mode'>tree</field>
<field name='view_mode'>list</field>
</record>
<menuitem
id="menu_postlogistics_licenses"
Expand Down
15 changes: 9 additions & 6 deletions delivery_postlogistics/views/stock.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,33 +4,36 @@
<odoo>
<record id="view_picking_withcarrier_out_form" model="ir.ui.view">
<field name="model">stock.picking</field>
<field name="inherit_id" ref="delivery.view_picking_withcarrier_out_form" />
<field
name="inherit_id"
ref="stock_delivery.view_picking_withcarrier_out_form"
/>
<field name="arch" type="xml">
<field name="state" position="before">
<button
name="action_generate_carrier_label"
help="Create Shipping Label 🚚"
attrs="{'invisible': ['|', '|', ('state', '!=', 'done'), ('delivery_type', '!=', 'postlogistics'), ('picking_type_code', '=', 'incoming')]}"
invisible="state != 'done' or delivery_type != 'postlogistics' or picking_type_code == 'incoming'"
string="Create Shipping Label 🚚"
type="object"
/>
</field>

<button name="print_return_label" position="attributes">
<attribute
name="attrs"
>{'invisible':['|', ('is_return_picking', '=', False),('picking_type_code', '!=', 'incoming')]}</attribute>
name="invisible"
>"is_return_picking == False or picking_type_code != 'incoming'"</attribute>
</button>

<xpath expr="//page//group[@name='carrier_data']/.." position="after">
<separator
string="Delivery instructions"
attrs="{'invisible': [('delivery_type', '!=', 'postlogistics')]}"
invisible="delivery_type != 'postlogistics'"
/>
<group>
<group
name="delivery_instructions"
attrs="{'invisible': [('delivery_type', '!=', 'postlogistics')]}"
invisible="delivery_type != 'postlogistics'"
>
<field name="delivery_fixed_date" />
<field name="delivery_place" />
Expand Down
11 changes: 7 additions & 4 deletions delivery_postlogistics/views/stock_package_type_view.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,20 @@
<record id="stock_package_type_form_delivery" model="ir.ui.view">
<field name="name">stock.package.type.form.inherit</field>
<field name="model">stock.package.type</field>
<field name="inherit_id" ref="delivery.stock_package_type_form_delivery" />
<field
name="inherit_id"
ref="stock_delivery.stock_package_type_form_delivery"
/>
<field name="arch" type="xml">
<field name="shipper_package_code" position="attributes">
<attribute
name="attrs"
>{"required": [("package_carrier_type", "=", "postlogistics")]}</attribute>
name="required"
>package_carrier_type == 'postlogistics'</attribute>
</field>
<field name="shipper_package_code" position="after">
<span
colspan="2"
attrs="{'invisible': [('package_carrier_type', '!=', 'postlogistics')]}"
invisible="package_carrier_type != 'postlogistics'"
>See section 8.10 of <a
target="new"
href="https://developer.post.ch/en/digital-commerce-api"
Expand Down
2 changes: 1 addition & 1 deletion delivery_postlogistics/wizard/stock_picking_return.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ class ReturnPicking(models.TransientModel):
_inherit = "stock.return.picking"

def _create_returns(self):
new_picking, pick_type_id = super(ReturnPicking, self)._create_returns()
new_picking, pick_type_id = super()._create_returns()
if self.picking_id.delivery_type == "postlogistics":
picking = self.env["stock.picking"].browse(new_picking)
picking.write({"carrier_id": self.picking_id.carrier_id.id})
Expand Down

0 comments on commit b156eb5

Please sign in to comment.