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]);
$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]);
}
}