From 05c6bef55fb32d19191839318ece09cb62608db7 Mon Sep 17 00:00:00 2001 From: Saran440 Date: Wed, 15 Oct 2025 17:20:24 +0700 Subject: [PATCH] [FIX] base_cancel_confirm: split method to update value in docs --- base_cancel_confirm/model/base_cancel_confirm.py | 5 ++++- base_cancel_confirm/wizard/cancel_confirm.py | 14 ++++++++++---- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/base_cancel_confirm/model/base_cancel_confirm.py b/base_cancel_confirm/model/base_cancel_confirm.py index 7b0278e09b..dc296bda65 100644 --- a/base_cancel_confirm/model/base_cancel_confirm.py +++ b/base_cancel_confirm/model/base_cancel_confirm.py @@ -49,8 +49,11 @@ def open_cancel_confirm_wizard(self): } return action + def _get_value_clear_cancel(self): + return {"cancel_confirm": False, "cancel_reason": False} + def clear_cancel_confirm_data(self): - self.write({"cancel_confirm": False, "cancel_reason": False}) + self.write(self._get_value_clear_cancel()) def get_view(self, view_id=None, view_type="form", **options): res = super().get_view(view_id=view_id, view_type=view_type, **options) diff --git a/base_cancel_confirm/wizard/cancel_confirm.py b/base_cancel_confirm/wizard/cancel_confirm.py index c5c80b27c0..50aee0cfdb 100644 --- a/base_cancel_confirm/wizard/cancel_confirm.py +++ b/base_cancel_confirm/wizard/cancel_confirm.py @@ -18,15 +18,21 @@ class CancelConfirm(models.TransientModel): required=True, ) + def _get_dict_update(self): + """Hooks this method to update value in docs""" + dict_update = {"cancel_confirm": True} + # Cancel Reason + if self.has_cancel_reason in ["optional", "required"]: + dict_update.update({"cancel_reason": self.cancel_reason}) + return dict_update + def confirm_cancel(self): self.ensure_one() res_model = self._context.get("cancel_res_model") res_ids = self._context.get("cancel_res_ids") cancel_method = self._context.get("cancel_method") docs = self.env[res_model].browse(res_ids) - docs.write({"cancel_confirm": True}) - # Cancel Reason - if self.has_cancel_reason in ["optional", "required"]: - docs.write({"cancel_reason": self.cancel_reason}) + dict_update = self._get_dict_update() + docs.write(dict_update) res = getattr(docs, cancel_method)() return res