From: Vladimir Fomichev Date: Thu, 2 Oct 2025 09:39:20 +0000 (+0300) Subject: Логирование X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=db67a9c43828ec3db6d8e412972110d86ee8d0a5;p=erp24_rep%2Fyii-erp24%2F.git Логирование --- diff --git a/erp24/controllers/MarketplacePricesController.php b/erp24/controllers/MarketplacePricesController.php index 106b3a34..95f62e49 100644 --- a/erp24/controllers/MarketplacePricesController.php +++ b/erp24/controllers/MarketplacePricesController.php @@ -163,6 +163,19 @@ 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 + ]); + if (!$mpPriceLog->save()) { + Yii::error("Ошибка создания лога цены: " . json_encode($mpPriceLog->getErrors()), __METHOD__); + } + return $this->redirect(['view', 'id' => $model->id]); } } else { @@ -208,8 +221,29 @@ class MarketplacePricesController extends Controller { $model = $this->findModel($id); - if ($this->request->isPost && $model->load($this->request->post()) && $model->save()) { - return $this->redirect(['view', 'id' => $model->id]); + if ($this->request->isPost && $model->load($this->request->post())) { + // Сохраняем предыдущие значения для логирования + $beforePrice = $model->price; + $beforeOldPrice = $model->old_price; + + 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 (!$mpPriceLog->save()) { + Yii::error("Ошибка создания лога цены: " . json_encode($mpPriceLog->getErrors()), __METHOD__); + } + } + + return $this->redirect(['view', 'id' => $model->id]); + } } // Данные для выпадающих списков