Skip to content

Commit

Permalink
[MIG] sale_stock_line_sequence: Migration to 14.0
Browse files Browse the repository at this point in the history
  • Loading branch information
OriolMForgeFlow committed Aug 17, 2023
1 parent c745570 commit aab4536
Show file tree
Hide file tree
Showing 6 changed files with 34 additions and 16 deletions.
2 changes: 1 addition & 1 deletion sale_stock_line_sequence/__manifest__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
{
"name": "Sale Stock Order Line Sequence",
"summary": "Glue Module for Sale Order Line Sequence and Stock Picking Line Sequence",
"version": "13.0.1.0.0",
"version": "14.0.1.0.0",
"author": "ForgeFlow, Odoo Community Association (OCA)",
"category": "Sales",
"website": "https:/OCA/sale-workflow",
Expand Down
1 change: 1 addition & 0 deletions sale_stock_line_sequence/models/__init__.py
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
from . import sale_order
from . import stock_move
22 changes: 10 additions & 12 deletions sale_stock_line_sequence/models/sale_order.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,18 +15,16 @@ def _update_moves_sequence(self):
for ptype in order.order_line.mapped("product_id.type")
]
):
pickings = order.picking_ids.filtered(
lambda x: x.state not in ("done", "cancel")
)
if pickings:
picking = pickings[0]
order_lines = order.order_line.filtered(
lambda l: l.product_id.type in ["product", "consu"]
)
for move, line in zip(
sorted(picking.move_lines, key=lambda m: m.id), order_lines
):
move.write({"sequence": line.sequence})
for picking in order.picking_ids:
for move in picking.move_lines:
if move.sale_line_id.display_type:
continue

Check warning on line 21 in sale_stock_line_sequence/models/sale_order.py

View check run for this annotation

Codecov / codecov/patch

sale_stock_line_sequence/models/sale_order.py#L21

Added line #L21 was not covered by tests
move.write({"sequence": move.sale_line_id.visible_sequence})

def action_confirm(self):
res = super().action_confirm()
self._update_moves_sequence()
return res

def write(self, line_values):
res = super(SaleOrder, self).write(line_values)
Expand Down
19 changes: 19 additions & 0 deletions sale_stock_line_sequence/models/stock_move.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Copyright 2023 Forgeflow S.L.
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).

from odoo import _, api, models
from odoo.exceptions import UserError


class StockMove(models.Model):
_inherit = "stock.move"

@api.onchange("sequence")
def _onchange_sequence(self):
if self.sale_line_id:
raise UserError(

Check warning on line 14 in sale_stock_line_sequence/models/stock_move.py

View check run for this annotation

Codecov / codecov/patch

sale_stock_line_sequence/models/stock_move.py#L14

Added line #L14 was not covered by tests
_(
"Not allowed to change the sequence of moves from the picking, "
"you can do it from the SO."
)
)
2 changes: 1 addition & 1 deletion sale_stock_line_sequence/readme/DESCRIPTION.rst
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Glue module between Sale Order Line Sequence and Stock Picking Line Sequence that assigns sequence correctly to the move associated with the sale order line it references when there are sections or notes in the sale order.
Glue module between Sale Order Line Sequence and Sale Stock that assigns sequence correctly to the move associated with the sale order line it references when there are sections or notes in the sale order.
4 changes: 2 additions & 2 deletions sale_stock_line_sequence/tests/test_line_sequence.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ def test_sale_order_moves_line_sequence(self):
self.assertNotEquals(len(so.order_line), len(moves))

for move in moves:
self.assertEqual(move.sequence, move.sale_line_id.sequence)
self.assertEqual(move.sequence, move.sale_line_id.visible_sequence)

def test_write_purchase_order_line(self):
vals = {
Expand Down Expand Up @@ -110,4 +110,4 @@ def test_write_purchase_order_line(self):

moves = so.picking_ids[0].move_ids_without_package
for move in moves:
self.assertEqual(move.sequence, move.sale_line_id.sequence)
self.assertEqual(move.sequence, move.sale_line_id.visible_sequence)

0 comments on commit aab4536

Please sign in to comment.