]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
[ERP-250] загрузка нужной вкладки
authorAlexander Smirnov <fredeom@mail.ru>
Fri, 13 Dec 2024 08:02:22 +0000 (11:02 +0300)
committerAlexander Smirnov <fredeom@mail.ru>
Fri, 13 Dec 2024 08:02:22 +0000 (11:02 +0300)
erp24/controllers/UsersMessageManagementController.php
erp24/views/users-message-management/index.php
erp24/web/js/users-message-management/index.js

index 581cba9755570fb9a282cafdc65f012c8292dacf..ca762f3a15378b23f5199de94877bf34927d2c01 100644 (file)
@@ -15,8 +15,14 @@ use yii_app\records\UsersMessageManagementLogs;
 class UsersMessageManagementController extends Controller
 {
     public static function saveLogs($old, $new) {
+        $cnt = 0;
         foreach (array_keys($old) as $oldKey) {
             if ($new[$oldKey] != $old[$oldKey]) {
+                $cnt++;
+            }
+        }
+        foreach (array_keys($old) as $oldKey) {
+            if ($cnt >1 && $new[$oldKey] != $old[$oldKey]) {
                 $log = new UsersMessageManagementLogs;
                 $log->field_name = $oldKey;
                 $log->value_old = '' . $old[$oldKey];
@@ -46,6 +52,7 @@ class UsersMessageManagementController extends Controller
 
         $oldAttributes = $model->getAttributes();
 
+        $tab = 1;
         if (Yii::$app->request->isPost && $model->load(Yii::$app->request->post())) {
             if (!$model->created_at) {
                 $model->created_at = date('Y-m-d H:i:s');
@@ -57,14 +64,19 @@ class UsersMessageManagementController extends Controller
                 $model->save();
                 $newAttributes = $model->getAttributes();
                 self::saveLogs($oldAttributes, $newAttributes);
+
+                Yii::$app->session->setFlash('success', 'Настройки успешно сохранены');
+
+                return $this->redirect(Yii::$app->request->referrer);
             } else {
                 if (!empty(array_intersect_key($model->getErrors(), ['offer_1' => 1, 'offer_2' => 2, 'offer_whatsapp' => 3, 'offer_text' => 4]))) {
                     Yii::$app->session->setFlash('error', "Перейдите на вкладку Сообщения рассылки, чтобы заполнить пустые поля");
+                    $tab = 2;
                 }
             }
         }
 
-        return $this->render('index', compact('model'));
+        return $this->render('index', compact('model', 'tab'));
     }
 
     public function actionLogs() {
index 42e1d6a38a58740722bda10dd36a062907447414..b25ba5d83621b4c2530eb5131d17d9db0768b922 100644 (file)
@@ -9,7 +9,9 @@ use yii_app\records\Admin;
 use yii_app\records\UsersMessageManagement;
 
 /* @var $model UsersMessageManagement */
+/* @var $tab integer */
 
+$this->registerJs('var tab = ' . \yii\helpers\Json::encode(['tab' => $tab]), \yii\web\View::POS_END);
 $this->registerJsFile('/js/users-message-management/index.js', ['position' => \yii\web\View::POS_END]);
 
 $this->registerCss('
@@ -30,6 +32,14 @@ $this->registerCss('
         </div>
     <?php endif; ?>
 
+    <?php if (Yii::$app->session->hasFlash('success')): ?>
+        <div class="alert alert-success alert-dismissable">
+            <button aria-hidden="true" data-dismiss="alert" class="close" type="button">×</button>
+            <?= Yii::$app->session->getFlash('success') ?>
+            <?php Yii::$app->session->setFlash('success', null) ?>
+        </div>
+    <?php endif; ?>
+
     <h1>Настройка управления рассылками клиентам</h1>
 
     <?php $form = ActiveForm::begin([
index 8b78f288491fdce9542ef90c0f911a05d7699fbc..2f71e881bdfccbd9281c8e06ed164349f5ef09d1 100644 (file)
@@ -34,7 +34,7 @@ function addCharCounter(sel, maxNumber) {
 }
 
 $(document).ready(() => {
-    showTab('mainTab');
+    showTab(tab.tab === 1 ? 'mainTab' : 'messageTab');
     addCharCounter("#usersmessagemanagement-offer_1", 10000);
     addCharCounter("#usersmessagemanagement-offer_2", 10000);
     addCharCounter("#usersmessagemanagement-offer_text", 900);