diff --git a/backend/controllers/BlogCategoryController.php b/backend/controllers/BlogCategoryController.php index 13cf2bf63..02b6bb95e 100644 --- a/backend/controllers/BlogCategoryController.php +++ b/backend/controllers/BlogCategoryController.php @@ -91,7 +91,12 @@ public function actionCreate() if($response->getStatusCode() != 200) { - Yii::$app->session->addFlash("error", json_encode($response->data['message'])); + Yii::warning([ + 'message' => 'Blog category create failed', + 'status' => $response->getStatusCode(), + 'provider_message' => isset($response->data['message']) ? $response->data['message'] : null, + ], __METHOD__); + Yii::$app->session->addFlash("error", Yii::t('app', 'Unable to save blog category. Please try again.')); return $this->render('create', [ "category" => $params @@ -133,7 +138,13 @@ public function actionUpdate($id) $response = Yii::$app->blogManager->updateCategory($id, $params); if($response->getStatusCode() != 200) { - Yii::$app->session->addFlash("error", json_encode($response->data['message'])); + Yii::warning([ + 'message' => 'Blog category update failed', + 'status' => $response->getStatusCode(), + 'category_id' => $id, + 'provider_message' => isset($response->data['message']) ? $response->data['message'] : null, + ], __METHOD__); + Yii::$app->session->addFlash("error", Yii::t('app', 'Unable to save blog category. Please try again.')); } else { return $this->redirect(['view', 'id' => $id]); } @@ -156,7 +167,13 @@ public function actionDelete($id) $response = Yii::$app->blogManager->deleteCategory($id); if($response->getStatusCode() != 200) { - Yii::$app->session->addFlash("error", json_encode($response->data['message'])); + Yii::warning([ + 'message' => 'Blog category delete failed', + 'status' => $response->getStatusCode(), + 'category_id' => $id, + 'provider_message' => isset($response->data['message']) ? $response->data['message'] : null, + ], __METHOD__); + Yii::$app->session->addFlash("error", Yii::t('app', 'Unable to delete blog category. Please try again.')); return $this->redirect(['view', 'id' => $id]); } @@ -176,11 +193,9 @@ protected function findModel($id) $response = Yii::$app->blogManager->viewCategory($id); if($response->getStatusCode() != 200 || empty($response->data['ID'])) { - // Yii::$app->session->addFlash("error", json_encode($response->data['message'])); - throw new NotFoundHttpException(Yii::t('app', 'The requested page does not exist.')); } return $response->data; } -} \ No newline at end of file +} diff --git a/tests/check-backend-blog-category-error-flashes.sh b/tests/check-backend-blog-category-error-flashes.sh new file mode 100644 index 000000000..e8eecf547 --- /dev/null +++ b/tests/check-backend-blog-category-error-flashes.sh @@ -0,0 +1,18 @@ +#!/usr/bin/env bash +set -euo pipefail + +target="backend/controllers/BlogCategoryController.php" + +grep -q "Blog category create failed" "$target" +grep -q "Blog category update failed" "$target" +grep -q "Blog category delete failed" "$target" +grep -q "Unable to save blog category. Please try again." "$target" +grep -q "Unable to delete blog category. Please try again." "$target" +grep -q "provider_message" "$target" + +if grep -Fq "addFlash(\"error\", json_encode(\$response->data['message']))" "$target"; then + echo "backend blog category controller still flashes raw provider messages" >&2 + exit 1 +fi + +echo "Backend blog category error flash guard passed."