Skip to content

Commit effa715

Browse files
[MIG] sale_margin_delivered: Migration to 17.0
1 parent 188f95f commit effa715

File tree

8 files changed

+32
-51
lines changed

8 files changed

+32
-51
lines changed

sale_margin_delivered/README.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,9 @@ Contributors
105105

106106
- Eduardo de Miguel (`Moduon <https://www.moduon.team/>`__)
107107
- Rafael Blasco (`Moduon <https://www.moduon.team/>`__)
108+
- `Heliconia Solutions Pvt. Ltd. <https://www.heliconia.io>`__
109+
110+
- Bhavesh Heliconia
108111

109112
Maintainers
110113
-----------

sale_margin_delivered/__manifest__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
33
{
44
"name": "Sale Margin Delivered",
5-
"version": "16.0.2.0.0",
5+
"version": "17.0.1.0.0",
66
"author": "Tecnativa, Odoo Community Association (OCA)",
77
"website": "https://github.com/OCA/margin-analysis",
88
"category": "Sales",

sale_margin_delivered/migrations/16.0.1.0.0/post-migration.py

Lines changed: 0 additions & 16 deletions
This file was deleted.

sale_margin_delivered/migrations/16.0.2.0.0/post-migration.py

Lines changed: 0 additions & 15 deletions
This file was deleted.

sale_margin_delivered/models/sale_margin.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,10 @@ def _compute_margin_delivered(self):
8181
)
8282

8383
if line.product_id.type != "product":
84-
currency = line.order_id.pricelist_id.currency_id
84+
currency = (
85+
line.order_id.pricelist_id.currency_id
86+
or line.company_id.currency_id
87+
)
8588
price = line.purchase_price
8689
line.margin_delivered = currency.round(
8790
line.price_subtotal - (price * line.qty_delivered)

sale_margin_delivered/readme/CONTRIBUTORS.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,5 @@
55
- Pilar Vargas
66
- Eduardo de Miguel ([Moduon](https://www.moduon.team/))
77
- Rafael Blasco ([Moduon](https://www.moduon.team/))
8+
- [Heliconia Solutions Pvt. Ltd.](https://www.heliconia.io)
9+
- Bhavesh Heliconia

sale_margin_delivered/static/description/index.html

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -448,6 +448,10 @@ <h2><a class="toc-backref" href="#toc-entry-7">Contributors</a></h2>
448448
</li>
449449
<li>Eduardo de Miguel (<a class="reference external" href="https://www.moduon.team/">Moduon</a>)</li>
450450
<li>Rafael Blasco (<a class="reference external" href="https://www.moduon.team/">Moduon</a>)</li>
451+
<li><a class="reference external" href="https://www.heliconia.io">Heliconia Solutions Pvt. Ltd.</a><ul>
452+
<li>Bhavesh Heliconia</li>
453+
</ul>
454+
</li>
451455
</ul>
452456
</div>
453457
<div class="section" id="maintainers">

sale_margin_delivered/tests/test_sale_margin_delivered.py

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -87,8 +87,8 @@ def test_sale_margin_delivered(self):
8787
sale_order.action_confirm()
8888
picking = sale_order.picking_ids
8989
picking.action_assign()
90-
picking.move_line_ids.qty_done = 3.0
91-
picking._action_done()
90+
picking.move_ids.quantity = 3.0
91+
picking.with_context(skip_backorder=True).button_validate()
9292
order_line = sale_order.order_line[:1]
9393
self.assertEqual(order_line.margin_delivered, 30.0)
9494
self.assertEqual(order_line.margin_delivered_percent, 0.5)
@@ -100,8 +100,8 @@ def test_sale_margin_delivered_excess(self):
100100
sale_order.action_confirm()
101101
picking = sale_order.picking_ids
102102
picking.action_assign()
103-
picking.move_line_ids.qty_done = 12.0
104-
picking._action_done()
103+
picking.move_line_ids.quantity = 12.0
104+
picking.with_context(skip_backorder=True).button_validate()
105105
order_line = sale_order.order_line[:1]
106106
self.assertEqual(order_line.margin_delivered, 120.0)
107107
self.assertEqual(order_line.margin_delivered_percent, 0.5)
@@ -121,15 +121,15 @@ def _create_return(self, picking, qty_refund=3.0, to_refund=False):
121121
return_wiz.product_return_moves.write(
122122
{"quantity": qty_refund, "to_refund": to_refund}
123123
)
124-
new_picking_id, pick_type_id = return_wiz._create_returns()
125-
return self.env["stock.picking"].browse(new_picking_id)
124+
res = return_wiz.action_create_returns()
125+
return self.env["stock.picking"].browse(res["res_id"])
126126

127127
def _validate_so_picking(self, sale_order, qty_done=6.0):
128128
"""Validate picking"""
129129
picking = sale_order.picking_ids
130130
picking.action_assign()
131-
picking.move_line_ids.qty_done = qty_done
132-
picking._action_done()
131+
picking.move_line_ids.quantity = qty_done
132+
picking.with_context(skip_backorder=True).button_validate()
133133
return picking
134134

135135
def test_sale_margin_delivered_return_to_refund(self):
@@ -138,8 +138,8 @@ def test_sale_margin_delivered_return_to_refund(self):
138138
sale_order.action_confirm()
139139
picking = self._validate_so_picking(sale_order, qty_done=6.0)
140140
picking_return = self._create_return(picking, qty_refund=3.0, to_refund=True)
141-
picking_return.move_line_ids.qty_done = 3.0
142-
picking_return._action_done()
141+
picking_return.move_line_ids.quantity = 3.0
142+
picking_return.with_context(skip_backorder=True).button_validate()
143143
order_line = sale_order.order_line[:1]
144144
self.assertEqual(order_line.margin_delivered, 30.0)
145145
self.assertEqual(order_line.margin_delivered_percent, 0.5)
@@ -151,8 +151,8 @@ def test_sale_margin_delivered_return_to_refund_excess(self):
151151
sale_order.action_confirm()
152152
picking = self._validate_so_picking(sale_order, qty_done=12.0)
153153
picking_return = self._create_return(picking, qty_refund=3.0, to_refund=True)
154-
picking_return.move_line_ids.qty_done = 3.0
155-
picking_return._action_done()
154+
picking_return.move_line_ids.quantity = 3.0
155+
picking_return.with_context(skip_backorder=True).button_validate()
156156
order_line = sale_order.order_line[:1]
157157
self.assertEqual(order_line.margin_delivered, 90.0)
158158
self.assertEqual(order_line.margin_delivered_percent, 0.5)
@@ -164,7 +164,7 @@ def test_sale_margin_delivered_return_no_refund(self):
164164
sale_order.action_confirm()
165165
picking = self._validate_so_picking(sale_order, qty_done=6.0)
166166
picking_return = self._create_return(picking, qty_refund=3.0, to_refund=False)
167-
picking_return.move_line_ids.qty_done = 3.0
167+
picking_return.move_line_ids.quantity = 3.0
168168
picking_return._action_done()
169169
order_line = sale_order.order_line[:1]
170170
self.assertEqual(order_line.margin_delivered, 60.0)
@@ -177,7 +177,7 @@ def test_sale_margin_delivered_return_no_refund_excess(self):
177177
sale_order.action_confirm()
178178
picking = self._validate_so_picking(sale_order, qty_done=12.0)
179179
picking_return = self._create_return(picking, qty_refund=3.0, to_refund=False)
180-
picking_return.move_line_ids.qty_done = 3.0
180+
picking_return.move_line_ids.quantity = 3.0
181181
picking_return._action_done()
182182
order_line = sale_order.order_line[:1]
183183
self.assertEqual(order_line.margin_delivered, 120.0)
@@ -192,8 +192,8 @@ def test_sale_margin_delivered_precision(self):
192192
sale_order.action_confirm()
193193
picking = sale_order.picking_ids
194194
picking.action_assign()
195-
picking.move_line_ids.qty_done = 6.0
196-
picking._action_done()
195+
picking.move_line_ids.quantity = 6.0
196+
picking.with_context(skip_backorder=True).button_validate()
197197
order_line = sale_order.order_line[:1]
198198
# price_subtotal is rounded
199199
self.assertEqual(order_line.price_subtotal, 100.45)
@@ -212,8 +212,8 @@ def test_sale_margin_no_cost(self):
212212
sale_order.action_confirm()
213213
picking = sale_order.picking_ids
214214
picking.action_assign()
215-
picking.move_line_ids.qty_done = 6.0
216-
picking._action_done()
215+
picking.move_line_ids.quantity = 6.0
216+
picking.with_context(skip_backorder=True).button_validate()
217217
order_line = sale_order.order_line[:1]
218218
# price_subtotal is rounded
219219
self.assertEqual(order_line.margin_delivered, 120)

0 commit comments

Comments
 (0)