]> gitweb.erp-flowers.ru Git - yii-erp24/.git/commitdiff
add legacy fill reload
authorAlexander Smirnov <fredeom@mail.ru>
Thu, 14 Mar 2024 10:44:32 +0000 (13:44 +0300)
committerAlexander Smirnov <fredeom@mail.ru>
Thu, 14 Mar 2024 10:44:32 +0000 (13:44 +0300)
erp24/models/LoginForm.php
erp24/records/Admin.php
erp24/web/index.php

index c9b6d7be5c9ca7a5562f036001bf3a3d130acc96..64ab1ef17f408b43110294754762a04c286bd9f5 100644 (file)
@@ -61,71 +61,12 @@ class LoginForm extends Model
     {
         $user = $this->getUser();
         if ($this->validate() && $user) {
-            $this->legacyFill();
+            $user->legacyFill();
             return \Yii::$app->user->login($user, 3600 * 24 * 30);
         }
 
         return false;
     }
-    private function legacyFill()
-    {
-        $user = $this->getUser();
-
-        $user->updateAttributes(['lasttime' => new Expression("NOW()")]);
-
-        $_SESSION['admin_id'] = $user->id;
-        $_SESSION['group_id'] = $user->group_id;
-        $_SESSION["store_arr_dostup"] = explode(",", $user->store_arr);
-        $_SESSION["store_arr_guid_dostup"] = explode(",", $user->store_arr_guid);
-        $_SESSION["org_id_default"] = $user->org_id;
-        $_SESSION["sklad_id_default"] = $user->sklad_id;
-        $ava = 'i/heart.webp';
-        $_SESSION["avatarka"] = $ava;
-
-        $_SESSION["view_modules"] = json_decode($user->popular_modules, true, 512, JSON_UNESCAPED_UNICODE);
-
-        $_SESSION['name_admin'] = $user->name;
-
-        $_SESSION['city_arr_dostup'] = [];
-        $_SESSION['sklad_arr_dostup'] = [];
-        $_SESSION['sites_arr_dostup'] = [];
-        $_SESSION['filial_arr_dostup'] = [];
-
-        $_SESSION['sklad_dostup_all'] = [];
-        $_SESSION['city_dostup_all'] = [];
-        $_SESSION['sites_dostup_all'] = [];
-        $_SESSION['filial_dostup_all'] = [];
-        $_SESSION['kassa_dostup_all'] = [];
-
-        $_SESSION["admin_photo"] = $ava;
-        $_SESSION['dostup_area'] = "";
-
-        $_SESSION['dostup_area'] = [];
-        $group = AdminGroup::findOne($user->group_id);
-        $_SESSION['admin_group_name'] = $group->name ?? "Какая-то...";
-        $_SESSION['name_group_admin'] = $group->name ?? "Какая-то...";
-        $_SESSION['status_dostup_arr'] = [];
-        $_SESSION['admin_group_add_arr'] = [];
-
-        $_SESSION['modul_arr_dostup'] = [];
-        $_SESSION['group_dostup'] = [];
-
-        $_SESSION['filial_dostup_city'] = [];
-
-        $_SESSION['filial_city_arr'] = [];
-
-        $_SESSION['seo_sites_arr'] = [];
-
-        $_SESSION['filial_dostup_city'] = [];
-        $_SESSION['filial_id'] = $user->filial_id;
-        $_SESSION['filial_default_city_id'] = 1921;
-        $_SESSION['filial_sites_arr'] = [];
-
-        $_SESSION['manager_id'] = $user->manager_id ?? null;
-        $_SESSION['content_dostup'] = $user->content_dostup ?? null;
-
-//        $_SESSION['name_group_admin'] = "Пользователь";
-    }
 
     /**
      * Finds user by [[username]]
index 58a3d02828de19e706f7d232410266e33df61686..98cc247682f2894b89aa78e9ca7b4d565db0ca74 100755 (executable)
@@ -7,6 +7,7 @@ use svay\FaceDetector;
 use yii\base\NotSupportedException;
 use yii\db\ActiveQueryInterface;
 use yii\db\ActiveRecord;
+use yii\db\Expression;
 use yii\helpers\ArrayHelper;
 use yii\web\IdentityInterface;
 
@@ -621,4 +622,64 @@ class Admin extends ActiveRecord implements IdentityInterface
     {
         return $this->hasOne(ExportImportTable::class, ['entity_id' => 'id'])->where(['entity' => "admin", 'export_id' => 1]);
     }
+
+    public function legacyFill()
+    {
+        $user = $this;
+
+        $user->updateAttributes(['lasttime' => new Expression("NOW()")]);
+
+        $_SESSION['admin_id'] = $user->id;
+        $_SESSION['group_id'] = $user->group_id;
+        $_SESSION["store_arr_dostup"] = explode(",", $user->store_arr);
+        $_SESSION["store_arr_guid_dostup"] = explode(",", $user->store_arr_guid);
+        $_SESSION["org_id_default"] = $user->org_id;
+        $_SESSION["sklad_id_default"] = $user->sklad_id;
+        $ava = 'i/heart.webp';
+        $_SESSION["avatarka"] = $ava;
+
+        $_SESSION["view_modules"] = json_decode($user->popular_modules, true, 512, JSON_UNESCAPED_UNICODE);
+
+        $_SESSION['name_admin'] = $user->name;
+
+        $_SESSION['city_arr_dostup'] = [];
+        $_SESSION['sklad_arr_dostup'] = [];
+        $_SESSION['sites_arr_dostup'] = [];
+        $_SESSION['filial_arr_dostup'] = [];
+
+        $_SESSION['sklad_dostup_all'] = [];
+        $_SESSION['city_dostup_all'] = [];
+        $_SESSION['sites_dostup_all'] = [];
+        $_SESSION['filial_dostup_all'] = [];
+        $_SESSION['kassa_dostup_all'] = [];
+
+        $_SESSION["admin_photo"] = $ava;
+        $_SESSION['dostup_area'] = "";
+
+        $_SESSION['dostup_area'] = [];
+        $group = AdminGroup::findOne($user->group_id);
+        $_SESSION['admin_group_name'] = $group->name ?? "Какая-то...";
+        $_SESSION['name_group_admin'] = $group->name ?? "Какая-то...";
+        $_SESSION['status_dostup_arr'] = [];
+        $_SESSION['admin_group_add_arr'] = [];
+
+        $_SESSION['modul_arr_dostup'] = [];
+        $_SESSION['group_dostup'] = [];
+
+        $_SESSION['filial_dostup_city'] = [];
+
+        $_SESSION['filial_city_arr'] = [];
+
+        $_SESSION['seo_sites_arr'] = [];
+
+        $_SESSION['filial_dostup_city'] = [];
+        $_SESSION['filial_id'] = $user->filial_id;
+        $_SESSION['filial_default_city_id'] = 1921;
+        $_SESSION['filial_sites_arr'] = [];
+
+        $_SESSION['manager_id'] = $user->manager_id ?? null;
+        $_SESSION['content_dostup'] = $user->content_dostup ?? null;
+
+//        $_SESSION['name_group_admin'] = "Пользователь";
+    }
 }
\ No newline at end of file
index 21568001fb31caf06bf92e2792c686ea85df8b7b..f94e1302a2168eca4c256bab2f214109d0a4f912 100644 (file)
@@ -39,4 +39,10 @@ if (
 //$app->params['API2_TOKEN'] = $app->db->createCommand(
 //    'SELECT access_token FROM api_user WHERE "login"=\'erp\' LIMIT 1;')->queryAll()[0]['access_token'] ?? null;
 
+$app->on(\yii\base\Application::EVENT_BEFORE_REQUEST, function ($event) {
+    if (!Yii::$app->user->isGuest && !isset($_SESSION['admin_id'])) {
+        Yii::$app->user->identity->legacyFill();
+    }
+});
+
 $app->run();