Skip to content

Commit

Permalink
Merge PR #1870 into 16.0
Browse files Browse the repository at this point in the history
Signed-off-by EmilioPascual
  • Loading branch information
OCA-git-bot committed Feb 12, 2025
2 parents bb7db5f + 2a687be commit 51acdad
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 16 deletions.
14 changes: 2 additions & 12 deletions stock_picking_batch_validate_confirm/models/stock_picking_batch.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,24 +15,14 @@ def action_done(self):
[("state", "not in", ("cancel", "done"))]
)
if pending_orig_moves:
return self._action_generate_batch_confirm_wizard(pending_orig_moves)
return self._action_generate_batch_confirm_wizard()
return super().action_done()

def _action_generate_batch_confirm_wizard(self, pending_orig_moves):
view = self.env.ref(
"stock_picking_batch_validate_confirm.stock_picking_batch_confirm_view_form"
)
def _action_generate_batch_confirm_wizard(self):
return {
"name": _("Batch Confirm"),
"type": "ir.actions.act_window",
"view_mode": "form",
"res_model": "stock.picking.batch.confirm",
"views": [(view.id, "form")],
"view_id": view.id,
"target": "new",
"context": dict(
self.env.context,
default_batch_id=self.id,
default_move_ids=[(6, 0, pending_orig_moves.ids)],
),
}
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,9 @@ def test_batch_confirm(self):
],
}
)
batch = batch.with_context(
active_model=batch._name, active_id=batch.id, active_ids=batch.ids
)
self.env["stock.quant"]._update_available_quantity(
self.productA, self.location, 10.0
)
Expand All @@ -88,7 +91,9 @@ def test_batch_confirm(self):
res_dict = batch.action_done()
self.assertEqual(res_dict.get("res_model"), "stock.picking.batch.confirm")
wizard = Form(
self.env[res_dict["res_model"]].with_context(**res_dict["context"])
self.env[res_dict["res_model"]].with_context(
batch.env.context, **res_dict.get("context", {})
)
).save()
wizard.button_validate()
self.assertEqual(batch.state, "done")
Original file line number Diff line number Diff line change
@@ -1,15 +1,36 @@
# Copyright 2024 Moduon Team S.L.
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl-3.0)

from odoo import fields, models
from odoo import api, fields, models


class StockPickingBatchConfirm(models.TransientModel):
_name = "stock.picking.batch.confirm"
_description = "Wizard Batch Confirm"

batch_id = fields.Many2one("stock.picking.batch", string="Batch")
move_ids = fields.Many2many("stock.move", string="Moves")
batch_id = fields.Many2one(
"stock.picking.batch",
string="Batch",
required=True,
default=lambda self: self._default_batch_id(),
)
move_ids = fields.Many2many(
"stock.move", string="Moves", compute="_compute_move_ids"
)

@api.model
def _default_batch_id(self):
"""Get batch from context."""
if self.env.context.get("active_model") == "stock.picking.batch":
return self.env.context.get("active_id")

@api.depends("batch_id")
def _compute_move_ids(self):
"""Get moves from batch."""
for wizard in self:
wizard.move_ids = wizard.batch_id.move_ids.move_orig_ids.filtered_domain(
[("state", "not in", ("cancel", "done"))]
)

def button_validate(self):
return self.batch_id.with_context(skip_batch_confirm=True).action_done()

0 comments on commit 51acdad

Please sign in to comment.