From 310188bd3039bb85ce080dd7567eedc5c967806c Mon Sep 17 00:00:00 2001 From: Abhishek Kumar Date: Thu, 9 Nov 2023 15:19:48 +0530 Subject: [PATCH] Display errors --- classes/controller/AdminController.php | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/classes/controller/AdminController.php b/classes/controller/AdminController.php index 712650a5c..511cdcb80 100644 --- a/classes/controller/AdminController.php +++ b/classes/controller/AdminController.php @@ -4009,21 +4009,29 @@ class AdminControllerCore extends Controller * @return bool true if success * @throws PrestaShopException */ - protected function processBulkStatusSelection($status, $redirect = true) + protected function processBulkStatusSelection($status) { $result = true; if (is_array($this->boxes) && !empty($this->boxes)) { foreach ($this->boxes as $id) { /** @var ObjectModel $object */ - $object = new $this->className((int)$id); - $object->setFieldsToUpdate(array('active' => true)); - $object->active = (int)$status; - $result &= $object->update(); - } - } + $object = new $this->className((int) $id); + $object->active = (int) $status; + $isUpdated = (bool) $object->update(); + $result &= $isUpdated; - if ($redirect && $result) { - $this->redirect_after = self::$currentIndex.'&conf=5&token='.$this->token; + if (!$isUpdated) { + $this->errors[] = sprintf($this->l('Can\'t update #%d status.'), (int) $id); + } + } + + if ($result) { + $this->redirect_after = self::$currentIndex.'&conf=5&token='.$this->token; + } else { + $this->errors[] = $this->l('An error occurred while updating the status.'); + } + } else { + $this->errors[] = $this->l('You must select at least one item to perform a bulk action.'); } return $result;