]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
Убираем shift
authorVladimir Fomichev <vladimir.fomichev@erp-flowers.ru>
Mon, 1 Dec 2025 15:09:43 +0000 (18:09 +0300)
committerVladimir Fomichev <vladimir.fomichev@erp-flowers.ru>
Mon, 1 Dec 2025 15:09:43 +0000 (18:09 +0300)
erp24/actions/grade/AdminUpdateAction.php

index ed7152430dbc91507cec0014b23eb1136c7fde7c..825ae240dca740955374ba1277e95e05d6e5dfd3 100644 (file)
@@ -113,14 +113,9 @@ class AdminUpdateAction extends Action
                     $attributes['group_name'] = $attributes['custom_position'];
                 }
                 
-                // Обработка специфичных полей в зависимости от типа группы
-                if ($isSpecialGroup) {
-                    // Для специальных групп работников сохраняем employee_position_id
-                    unset($attributes['shift']);
-                } else {
-                    // Для остальных групп очищаем employee_position_id
+                // Для не-специальных групп очищаем employee_position_id
+                if (!$isSpecialGroup) {
                     $attributes['employee_position_id'] = null;
-                    unset($attributes['shift']);
                 }
                 
                 // Очищаем custom_position в любом случае
@@ -186,17 +181,18 @@ class AdminUpdateAction extends Action
             }
         }
 
-        $adminGroups = [AdminGroup::NOT_INITIALIZED_GROUP => 'Не выбрана'];
-        foreach (AdminGroup::find()->all() as $adminGroupId => $adminGroup) {
-            $adminGroups[$adminGroup->id] = $adminGroup->name;
-        }
+        $adminGroups = [AdminGroup::NOT_INITIALIZED_GROUP => 'Не выбрана'] + 
+            ArrayHelper::map(AdminGroup::find()->all(), 'id', 'name');
 
-        $adminArr = [];
-        foreach (Admin::find()->with('adminGroup')->all() as $admin) {
-            $adminArr[] = ['id' => $admin->id, 'name' => $admin->name, 'groupName' => $admin->adminGroup->name ?? "Другие"];
-        }
+        $admins = ArrayHelper::map(
+            Admin::find()->with('adminGroup')->all(), 
+            'id', 
+            'name', 
+            function($model) {
+                return $model->adminGroup->name ?? 'Другие';
+            }
+        );
 
-        $admins = ArrayHelper::map($adminArr, 'id', 'name', 'groupName');
         $positions = EmployeePosition::find()->orderBy('posit')->all();
         $cityStores = ArrayHelper::map(CityStore::find()->select(['id', 'name'])->all(), 'id', 'name');