From: Vladimir Fomichev Date: Thu, 2 Oct 2025 10:15:02 +0000 (+0300) Subject: Логирование изменения X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=5e8f15f57f55d68aed00a7c3c378923dbf3bc9fd;p=erp24_rep%2Fyii-erp24%2F.git Логирование изменения --- 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]); } }