diff --git a/stock_vertical_lift/models/vertical_lift_operation_base.py b/stock_vertical_lift/models/vertical_lift_operation_base.py index 04b8d502c..ac3147244 100644 --- a/stock_vertical_lift/models/vertical_lift_operation_base.py +++ b/stock_vertical_lift/models/vertical_lift_operation_base.py @@ -4,7 +4,7 @@ import logging from collections import namedtuple -from odoo import api, fields, models +from odoo import _, api, fields, models from odoo.addons.base_sparse_field.models.fields import Serialized @@ -244,6 +244,18 @@ class VerticalLiftOperationBase(models.AbstractModel): ) return sum(quants.mapped("quantity")) + def _rainbow_man(self, message=None): + if not message: + message = _("Congrats, you cleared the queue!") + return { + "effect": { + "fadeout": "slow", + "message": message, + "img_url": "/web/static/src/img/smile.svg", + "type": "rainbow_man", + } + } + def _send_notification_refresh(self): """Send a refresh notification diff --git a/stock_vertical_lift/models/vertical_lift_operation_inventory.py b/stock_vertical_lift/models/vertical_lift_operation_inventory.py index 4cc5013a0..128f1ddb7 100644 --- a/stock_vertical_lift/models/vertical_lift_operation_inventory.py +++ b/stock_vertical_lift/models/vertical_lift_operation_inventory.py @@ -1,7 +1,7 @@ # Copyright 2019 Camptocamp SA # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -from odoo import _, api, fields, models +from odoo import api, fields, models from odoo.tools import float_compare from odoo.addons.base_sparse_field.models.fields import Serialized @@ -265,11 +265,4 @@ class VerticalLiftOperationInventory(models.Model): self.next_step() if self.step() == "noop": # sorry not sorry - return { - "effect": { - "fadeout": "slow", - "message": _("Congrats, you cleared the queue!"), - "img_url": "/web/static/src/img/smile.svg", - "type": "rainbow_man", - } - } + return self._rainbow_man() diff --git a/stock_vertical_lift/models/vertical_lift_operation_pick.py b/stock_vertical_lift/models/vertical_lift_operation_pick.py index 486ba9a10..fe396de79 100644 --- a/stock_vertical_lift/models/vertical_lift_operation_pick.py +++ b/stock_vertical_lift/models/vertical_lift_operation_pick.py @@ -83,11 +83,4 @@ class VerticalLiftOperationPick(models.Model): super().button_release() if self.step() == "noop": # sorry not sorry - return { - "effect": { - "fadeout": "slow", - "message": _("Congrats, you cleared the queue!"), - "img_url": "/web/static/src/img/smile.svg", - "type": "rainbow_man", - } - } + return self._rainbow_man() diff --git a/stock_vertical_lift/models/vertical_lift_operation_put.py b/stock_vertical_lift/models/vertical_lift_operation_put.py index 704d2c763..aa02ccb26 100644 --- a/stock_vertical_lift/models/vertical_lift_operation_put.py +++ b/stock_vertical_lift/models/vertical_lift_operation_put.py @@ -170,3 +170,9 @@ class VerticalLiftOperationPut(models.Model): def fetch_tray(self): self.current_move_line_id.fetch_vertical_lift_tray_dest() + + def button_release(self): + super().button_release() + if self.count_move_lines_to_do_all() == 0: + # sorry not sorry + return self._rainbow_man()