From 5e8f15f57f55d68aed00a7c3c378923dbf3bc9fd Mon Sep 17 00:00:00 2001 From: Vladimir Fomichev Date: Thu, 2 Oct 2025 13:15:02 +0300 Subject: [PATCH] =?utf8?q?=D0=9B=D0=BE=D0=B3=D0=B8=D1=80=D0=BE=D0=B2=D0=B0?= =?utf8?q?=D0=BD=D0=B8=D0=B5=20=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD?= =?utf8?q?=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../MarketplacePricesController.php | 60 +++++++++++-------- 1 file changed, 35 insertions(+), 25 deletions(-) diff --git a/erp24/controllers/MarketplacePricesController.php b/erp24/controllers/MarketplacePricesController.php index 95f62e49..59bb3f35 100644 --- a/erp24/controllers/MarketplacePricesController.php +++ b/erp24/controllers/MarketplacePricesController.php @@ -163,17 +163,22 @@ class MarketplacePricesController extends Controller if ($this->request->isPost) { if ($model->load($this->request->post()) && $model->save()) { - // Логирование создания - $mpPriceLog = new MarketplacePricesLog([ - 'marketplace_prices_id' => $model->id, - 'price_before' => null, - 'price_after' => $model->price, - 'old_price_before' => null, - 'old_price_after' => $model->old_price, - 'action' => 1, // create - ]); + $userId = Yii::$app->user->id ?? null; + + $mpPriceLog = new MarketplacePricesLog(); + $mpPriceLog->marketplace_prices_id = $model->id; + $mpPriceLog->price_before = null; + $mpPriceLog->price_after = $model->price; + $mpPriceLog->old_price_before = null; + $mpPriceLog->old_price_after = $model->old_price; + $mpPriceLog->changed_at = date('Y-m-d H:i:s'); + $mpPriceLog->changed_by = $userId; + $mpPriceLog->action = 1; // create + if (!$mpPriceLog->save()) { - Yii::error("Ошибка создания лога цены: " . json_encode($mpPriceLog->getErrors()), __METHOD__); + Yii::error("Ошибка создания лога цены: " . json_encode($mpPriceLog->getErrors()) . ". User ID: {$userId}, Model ID: {$model->id}", __METHOD__); + } else { + Yii::warning("Лог цены успешно создан. Model ID: {$model->id}, User ID: {$userId}", __METHOD__); } return $this->redirect(['view', 'id' => $model->id]); @@ -222,26 +227,31 @@ class MarketplacePricesController extends Controller $model = $this->findModel($id); if ($this->request->isPost && $model->load($this->request->post())) { - // Сохраняем предыдущие значения для логирования - $beforePrice = $model->price; - $beforeOldPrice = $model->old_price; + $beforePrice = $model->getOldAttribute('price'); + $beforeOldPrice = $model->getOldAttribute('old_price'); + + $changedPrice = $model->price !== $beforePrice; + $changedOldPrice = $model->old_price !== $beforeOldPrice; + + $userId = Yii::$app->user->id ?? null; if ($model->save()) { - // Логирование обновления - if ($beforePrice !== $model->price || $beforeOldPrice !== $model->old_price) { - $mpPriceLog = new MarketplacePricesLog([ - 'marketplace_prices_id' => $model->id, - 'price_before' => $beforePrice, - 'price_after' => $model->price, - 'old_price_before' => $beforeOldPrice, - 'old_price_after' => $model->old_price, - 'action' => 2, // update - ]); + if ($changedPrice || $changedOldPrice) { + $mpPriceLog = new MarketplacePricesLog(); + $mpPriceLog->marketplace_prices_id = $model->id; + $mpPriceLog->action = 2; // update + $mpPriceLog->price_before = $beforePrice; + $mpPriceLog->price_after = $model->price; + $mpPriceLog->old_price_before = $beforeOldPrice; + $mpPriceLog->old_price_after = $model->old_price; + $mpPriceLog->changed_at = date('Y-m-d H:i:s'); + $mpPriceLog->changed_by = $userId; if (!$mpPriceLog->save()) { - Yii::error("Ошибка создания лога цены: " . json_encode($mpPriceLog->getErrors()), __METHOD__); + Yii::error("Ошибка создания лога цены: " . json_encode($mpPriceLog->getErrors()) . ". User ID: {$userId}, Model ID: {$model->id}", __METHOD__); + } else { + Yii::warning("Лог цены успешно создан. Model ID: {$model->id}, User ID: {$userId}", __METHOD__); } } - return $this->redirect(['view', 'id' => $model->id]); } } -- 2.39.5