Skip to content

Commit 3f12bd5

Browse files
NICO-SOLUTIONSchaule97
authored andcommitted
[MIG] partner_invoicing_mode_at_shipping: Migration to 17.0
1 parent d3abea9 commit 3f12bd5

File tree

14 files changed

+38
-58
lines changed

14 files changed

+38
-58
lines changed

partner_invoicing_mode_at_shipping/README.rst

+6-1
Original file line numberDiff line numberDiff line change
@@ -69,10 +69,15 @@ Contributors
6969

7070
- Phuc (Tran Thanh) <[email protected]>
7171

72+
- Nils Coenen <[email protected]>
73+
74+
- Chau Le <[email protected]>
75+
7276
Other credits
7377
-------------
7478

75-
The development of this module has been financially supported by:
79+
The development and migration of this module has been financially
80+
supported by:
7681

7782
- Camptocamp
7883

partner_invoicing_mode_at_shipping/__manifest__.py

+4-1
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": "Partner Invoicing Mode At Shipping",
5-
"version": "16.0.1.2.0",
5+
"version": "17.0.1.0.0",
66
"summary": "Create invoices automatically when goods are shipped.",
77
"author": "Camptocamp, Odoo Community Association (OCA)",
88
"website": "https://github.com/OCA/account-invoicing",
@@ -13,5 +13,8 @@
1313
"views/res_partner.xml",
1414
],
1515
"depends": ["account", "partner_invoicing_mode", "queue_job", "stock"],
16+
"external_dependencies": {
17+
"python": ["openupgradelib"],
18+
},
1619
"pre_init_hook": "pre_init_hook",
1720
}

partner_invoicing_mode_at_shipping/hooks.py

+1-4
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
33
from openupgradelib import openupgrade
44

5-
from odoo import SUPERUSER_ID, api
6-
75

86
def _add_one_invoice_per_shipping(env):
97
if not openupgrade.column_exists(env.cr, "sale_order", "one_invoice_per_shipping"):
@@ -21,6 +19,5 @@ def _add_one_invoice_per_shipping(env):
2119
openupgrade.add_fields(env, field_spec)
2220

2321

24-
def pre_init_hook(cr):
25-
env = api.Environment(cr, SUPERUSER_ID, {})
22+
def pre_init_hook(env):
2623
_add_one_invoice_per_shipping(env)

partner_invoicing_mode_at_shipping/migrations/16.0.1.1.0/pre-migrate.py

-13
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
11
from . import res_partner
2-
from . import stock_move
32
from . import stock_picking
43
from . import sale_order

partner_invoicing_mode_at_shipping/models/stock_move.py

-19
This file was deleted.

partner_invoicing_mode_at_shipping/models/stock_picking.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Copyright 2020 Camptocamp SA
22
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html)
33

4-
from odoo import _, models
4+
from odoo import _, api, models
55

66

77
class StockPicking(models.Model):
@@ -27,6 +27,7 @@ def _invoicing_at_shipping_validation(self, invoices):
2727
lambda invoice: invoice.partner_id.invoicing_mode == "at_shipping"
2828
)
2929

30+
@api.model
3031
def _invoicing_at_shipping(self):
3132
self.ensure_one()
3233
sales = self._get_sales_order_to_invoice()

partner_invoicing_mode_at_shipping/readme/CONTRIBUTORS.md

+2
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,5 @@
33
> - Thierry Ducrest \<<[email protected]>\>
44
55
- Phuc (Tran Thanh) \<<[email protected]>\>
6+
- Nils Coenen \<<[email protected]>\>
7+
- Chau Le \<<[email protected]>\>
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
The development of this module has been financially supported by:
1+
The development and migration of this module has been financially supported by:
22

33
- Camptocamp

partner_invoicing_mode_at_shipping/static/description/index.html

+6-1
Original file line numberDiff line numberDiff line change
@@ -418,11 +418,16 @@ <h2><a class="toc-backref" href="#toc-entry-4">Contributors</a></h2>
418418
</li>
419419
<li><p class="first">Phuc (Tran Thanh) &lt;<a class="reference external" href="mailto:phuc&#64;trobz.com">phuc&#64;trobz.com</a>&gt;</p>
420420
</li>
421+
<li><p class="first">Nils Coenen &lt;<a class="reference external" href="mailto:nils.coenen&#64;nico-solutions.de">nils.coenen&#64;nico-solutions.de</a>&gt;</p>
422+
</li>
423+
<li><p class="first">Chau Le &lt;<a class="reference external" href="mailto:chaulb&#64;trobz.com">chaulb&#64;trobz.com</a>&gt;</p>
424+
</li>
421425
</ul>
422426
</div>
423427
<div class="section" id="other-credits">
424428
<h2><a class="toc-backref" href="#toc-entry-5">Other credits</a></h2>
425-
<p>The development of this module has been financially supported by:</p>
429+
<p>The development and migration of this module has been financially
430+
supported by:</p>
426431
<ul class="simple">
427432
<li>Camptocamp</li>
428433
</ul>

partner_invoicing_mode_at_shipping/tests/common.py

-2
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ def setUpClass(cls):
2727
},
2828
)
2929
],
30-
"pricelist_id": cls.env.ref("product.list0").id,
3130
}
3231
)
3332

@@ -51,6 +50,5 @@ def _create_order(cls):
5150
},
5251
)
5352
],
54-
"pricelist_id": cls.env.ref("product.list0").id,
5553
}
5654
)

partner_invoicing_mode_at_shipping/tests/test_invoice_mode_at_shipping.py

+12-12
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ def test_invoice_created_at_shipping(self):
1919
self.so1.action_confirm()
2020
for picking in self.so1.picking_ids:
2121
for move in picking.move_ids:
22-
move.quantity_done = move.product_uom_qty
22+
move.quantity = move.product_uom_qty
2323
picking.action_assign()
2424
with mute_logger("odoo.addons.queue_job.delay"):
25-
picking.with_context(test_queue_job_no_delay=True).button_validate()
25+
picking.with_context(queue_job__no_delay=True).button_validate()
2626
self.assertEqual(len(self.so1.invoice_ids), 1)
2727
self.assertEqual(self.so1.invoice_ids.state, "posted")
2828

@@ -32,10 +32,10 @@ def test_invoice_not_created_at_shipping(self):
3232
self.so1.action_confirm()
3333
for picking in self.so1.picking_ids:
3434
for move in picking.move_ids:
35-
move.quantity_done = move.product_uom_qty
35+
move.quantity = move.product_uom_qty
3636
picking.action_assign()
3737
with mute_logger("odoo.addons.queue_job.delay"):
38-
picking.with_context(test_queue_job_no_delay=True).button_validate()
38+
picking.with_context(queue_job__no_delay=True).button_validate()
3939
self.assertEqual(len(self.so1.invoice_ids), 0)
4040

4141
def test_picking_multi_order_single_invoice(self):
@@ -50,10 +50,10 @@ def test_picking_multi_order_single_invoice(self):
5050
so2.picking_ids.move_ids.picking_id = picking
5151
# Transfer the remaining picking with moves
5252
for move in picking.move_ids:
53-
move.quantity_done = move.product_uom_qty
53+
move.quantity = move.product_uom_qty
5454
picking.action_assign()
5555
with mute_logger("odoo.addons.queue_job.delay"):
56-
picking.with_context(test_queue_job_no_delay=True).button_validate()
56+
picking.with_context(queue_job__no_delay=True).button_validate()
5757
self.assertEqual(len(self.so1.invoice_ids), 1)
5858
self.assertEqual(self.so1.invoice_ids.state, "posted")
5959
self.assertEqual(self.so1.invoice_ids, so2.invoice_ids)
@@ -70,10 +70,10 @@ def test_picking_multi_order_multi_invoice(self):
7070
so2.picking_ids.move_ids.picking_id = picking
7171
# Transfer the remaining picking with moves
7272
for move in picking.move_ids:
73-
move.quantity_done = move.product_uom_qty
73+
move.quantity = move.product_uom_qty
7474
picking.action_assign()
7575
with mute_logger("odoo.addons.queue_job.delay"):
76-
picking.with_context(test_queue_job_no_delay=True).button_validate()
76+
picking.with_context(queue_job__no_delay=True).button_validate()
7777
self.assertEqual(len(self.so1.invoice_ids), 1)
7878
self.assertEqual(self.so1.invoice_ids.state, "posted")
7979
self.assertEqual(len(so2.invoice_ids), 1)
@@ -85,20 +85,20 @@ def test_picking_backorder(self):
8585
self.partner.invoicing_mode = "at_shipping"
8686
self.so1.action_confirm()
8787
picking = self.so1.picking_ids
88-
picking.move_ids.quantity_done = 2
88+
picking.move_ids.quantity = 2
8989
picking.action_assign()
9090
with mute_logger("odoo.addons.queue_job.delay"):
9191
picking.with_context(
92-
skip_backorder=True, test_queue_job_no_delay=True
92+
skip_backorder=True, queue_job__no_delay=True
9393
).button_validate()
9494
self.assertEqual(len(self.so1.invoice_ids), 1)
9595
self.assertEqual(self.so1.invoice_ids.state, "posted")
9696
# Now process the backorder
9797
backorder = self.so1.picking_ids - picking
98-
backorder.move_ids.quantity_done = 2
98+
backorder.move_ids.quantity = 2
9999
backorder.action_assign()
100100
with mute_logger("odoo.addons.queue_job.delay"):
101-
backorder.with_context(test_queue_job_no_delay=True).button_validate()
101+
backorder.with_context(queue_job__no_delay=True).button_validate()
102102
self.assertEqual(len(self.so1.invoice_ids), 2)
103103
self.assertTrue(
104104
all(invoice.state == "posted") for invoice in self.so1.invoice_ids

partner_invoicing_mode_at_shipping/tests/test_invoice_mode_group_delivery.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ def test_invoice_created_at_shipping_per_delivery(self):
2424
picking = self.so1.picking_ids
2525

2626
# Deliver partially
27-
picking.move_ids.quantity_done = 2.0
27+
picking.move_ids.write({"quantity": 2.0, "picked": True})
2828
with trap_jobs() as trap:
2929
picking._action_done()
3030
trap.assert_enqueued_job(
@@ -43,7 +43,7 @@ def test_invoice_created_at_shipping_per_delivery(self):
4343
backorder = self.so1.picking_ids - picking
4444
self.assertTrue(backorder)
4545

46-
backorder.move_ids.quantity_done = 2.0
46+
backorder.move_ids.write({"quantity": 2.0, "picked": True})
4747
with trap_jobs() as trap:
4848
backorder._action_done()
4949
trap.assert_enqueued_job(

requirements.txt

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# generated from manifests external_dependencies
2+
openupgradelib

0 commit comments

Comments
 (0)