Skip to content

Commit 53a0107

Browse files
misern2victoralmau
authored andcommitted
[IMP] delivery_price_method: black, isort, prettier
1 parent 87a16a3 commit 53a0107

File tree

4 files changed

+86
-75
lines changed

4 files changed

+86
-75
lines changed

delivery_price_method/__manifest__.py

+10-15
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,14 @@
22
# Copyright 2020 Tecnativa - Pedro M. Baeza
33
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
44
{
5-
'name': 'Delivery Price Method',
6-
'summary': 'Provides fields to be able to contemplate the tracking states'
7-
'and also adds a global fields',
8-
'author': 'Trey (www.trey.es), '
9-
'Odoo Community Association (OCA)',
10-
'website': 'https://github.com/OCA/delivery-carrier',
11-
'license': 'AGPL-3',
12-
'category': 'Delivery',
13-
'version': '12.0.1.0.0',
14-
'depends': [
15-
'delivery',
16-
],
17-
'data': [
18-
'views/delivery_carrier_views.xml',
19-
],
5+
"name": "Delivery Price Method",
6+
"summary": "Provides fields to be able to contemplate the tracking states"
7+
"and also adds a global fields",
8+
"author": "Trey (www.trey.es), " "Odoo Community Association (OCA)",
9+
"website": "https://github.com/OCA/delivery-carrier",
10+
"license": "AGPL-3",
11+
"category": "Delivery",
12+
"version": "12.0.1.0.0",
13+
"depends": ["delivery"],
14+
"data": ["views/delivery_carrier_views.xml"],
2015
}

delivery_price_method/models/delivery_carrier.py

+7-8
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,16 @@
55

66

77
class DeliveryCarrier(models.Model):
8-
_inherit = 'delivery.carrier'
8+
_inherit = "delivery.carrier"
99

1010
price_method = fields.Selection(
1111
selection=[
12-
('carrier', 'Carrier obtained price'),
13-
('fixed', 'Fixed price'),
14-
('base_on_rule', 'Based on Rules'),
12+
("carrier", "Carrier obtained price"),
13+
("fixed", "Fixed price"),
14+
("base_on_rule", "Based on Rules"),
1515
],
16-
string='Price method',
17-
default='carrier',
16+
string="Price method",
17+
default="carrier",
1818
)
1919

2020
def rate_shipment(self, order):
@@ -33,8 +33,7 @@ def rate_shipment(self, order):
3333
def send_shipping(self, pickings):
3434
res = super().send_shipping(pickings)
3535
if self.price_method in ("fixed", "base_on_rule"):
36-
rates = getattr(
37-
self, '%s_send_shipping' % self.price_method)(pickings)
36+
rates = getattr(self, "%s_send_shipping" % self.price_method)(pickings)
3837
for index, rate in enumerate(rates):
3938
del rate["tracking_number"] # remove offending key
4039
res[index].update(rate)

delivery_price_method/tests/test_delivery_price_method.py

+53-45
Original file line numberDiff line numberDiff line change
@@ -9,35 +9,40 @@ class TestDeliveryPriceMethod(SavepointCase):
99
def setUpClass(cls):
1010
super().setUpClass()
1111
self = cls
12-
product_shipping_cost = self.env['product.product'].create({
13-
'type': 'service',
14-
'name': 'Shipping costs',
15-
'standard_price': 10,
16-
'list_price': 100,
17-
})
18-
self.carrier = self.env['delivery.carrier'].create({
19-
'name': 'Test carrier',
20-
'delivery_type': 'fixed',
21-
'product_id': product_shipping_cost.id,
22-
'fixed_price': 99.99,
23-
})
24-
self.pricelist = self.env["product.pricelist"].create({
25-
"name": "Test pricelist",
26-
"item_ids": [(0, 0, {
27-
"applied_on": "3_global",
28-
"base": "list_price",
29-
})],
30-
})
31-
self.product = self.env.ref('product.product_delivery_01')
32-
self.partner = self.env.ref('base.res_partner_12')
33-
self.sale = self.env['sale.order'].create({
34-
'partner_id': self.partner.id,
35-
'pricelist_id': self.pricelist.id,
36-
'carrier_id': self.carrier.id,
37-
'order_line': [(0, 0, {
38-
'product_id': self.product.id,
39-
'product_uom_qty': 1})]
40-
})
12+
product_shipping_cost = self.env["product.product"].create(
13+
{
14+
"type": "service",
15+
"name": "Shipping costs",
16+
"standard_price": 10,
17+
"list_price": 100,
18+
}
19+
)
20+
self.carrier = self.env["delivery.carrier"].create(
21+
{
22+
"name": "Test carrier",
23+
"delivery_type": "fixed",
24+
"product_id": product_shipping_cost.id,
25+
"fixed_price": 99.99,
26+
}
27+
)
28+
self.pricelist = self.env["product.pricelist"].create(
29+
{
30+
"name": "Test pricelist",
31+
"item_ids": [(0, 0, {"applied_on": "3_global", "base": "list_price"})],
32+
}
33+
)
34+
self.product = self.env.ref("product.product_delivery_01")
35+
self.partner = self.env.ref("base.res_partner_12")
36+
self.sale = self.env["sale.order"].create(
37+
{
38+
"partner_id": self.partner.id,
39+
"pricelist_id": self.pricelist.id,
40+
"carrier_id": self.carrier.id,
41+
"order_line": [
42+
(0, 0, {"product_id": self.product.id, "product_uom_qty": 1})
43+
],
44+
}
45+
)
4146

4247
def test_delivery_price_fixed(self):
4348
sale = self.sale
@@ -56,26 +61,29 @@ def test_delivery_price_fixed(self):
5661
self.assertEquals(picking.carrier_price, 99.99)
5762

5863
def test_delivery_price_method(self):
59-
self.carrier.write({
60-
'price_method': 'fixed',
61-
'fixed_price': 99.99,
62-
})
64+
self.carrier.write({"price_method": "fixed", "fixed_price": 99.99})
6365
sale = self.sale
6466
sale.get_delivery_price()
6567
self.assertEquals(sale.delivery_price, 99.99)
66-
self.carrier.write({
67-
'price_method': 'fixed',
68-
'fixed_price': 5,
69-
})
68+
self.carrier.write({"price_method": "fixed", "fixed_price": 5})
7069
sale.get_delivery_price()
7170
self.assertEquals(sale.delivery_price, 5)
72-
self.carrier.write({
73-
'price_method': 'base_on_rule',
74-
'price_rule_ids': [(0, 0, {
75-
'variable': 'quantity',
76-
'operator': '==',
77-
'max_value': 1,
78-
'list_base_price': 11.11})]
79-
})
71+
self.carrier.write(
72+
{
73+
"price_method": "base_on_rule",
74+
"price_rule_ids": [
75+
(
76+
0,
77+
0,
78+
{
79+
"variable": "quantity",
80+
"operator": "==",
81+
"max_value": 1,
82+
"list_base_price": 11.11,
83+
},
84+
)
85+
],
86+
}
87+
)
8088
sale.get_delivery_price()
8189
self.assertEquals(sale.delivery_price, 11.11)

delivery_price_method/views/delivery_carrier_views.xml

+16-7
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,34 @@
1-
<?xml version="1.0" encoding="utf-8"?>
1+
<?xml version="1.0" encoding="utf-8" ?>
22
<!--
33
Copyright 2020 Trey, Kilobytes de Soluciones
44
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
55
-->
66
<odoo>
77
<record id="view_delivery_carrier_form" model="ir.ui.view">
88
<field name="model">delivery.carrier</field>
9-
<field name="inherit_id" ref="delivery.view_delivery_carrier_form"/>
9+
<field name="inherit_id" ref="delivery.view_delivery_carrier_form" />
1010
<field name="arch" type="xml">
1111
<xpath expr="//field[@name='integration_level']" position="after">
12-
<field name="price_method" attrs="{'invisible': [('delivery_type', 'in', ['fixed', 'base_on_rule'])], 'required': [('delivery_type', 'not in', ['fixed', 'base_on_rule'])]}"/>
12+
<field
13+
name="price_method"
14+
attrs="{'invisible': [('delivery_type', 'in', ['fixed', 'base_on_rule'])], 'required': [('delivery_type', 'not in', ['fixed', 'base_on_rule'])]}"
15+
/>
1316
</xpath>
1417
<xpath expr="(//page)[1]" position="before">
15-
<page string="Pricing" attrs="{'invisible': [('delivery_type', 'in', ['fixed', 'base_on_rule'])]}">
18+
<page
19+
string="Pricing"
20+
attrs="{'invisible': [('delivery_type', 'in', ['fixed', 'base_on_rule'])]}"
21+
>
1622
<group attrs="{'invisible':[('price_method', '!=', 'fixed')]}">
1723
<group>
18-
<field name="fixed_price"/>
24+
<field name="fixed_price" />
1925
</group>
2026
</group>
21-
<group name="general" attrs="{'invisible':[('price_method', '!=', 'base_on_rule')]}">
22-
<field name="price_rule_ids" nolabel="1"/>
27+
<group
28+
name="general"
29+
attrs="{'invisible':[('price_method', '!=', 'base_on_rule')]}"
30+
>
31+
<field name="price_rule_ids" nolabel="1" />
2332
</group>
2433
</page>
2534
</xpath>

0 commit comments

Comments
 (0)