From 0ba56e17a67508d7b5881b22d0340c9332d90fbe Mon Sep 17 00:00:00 2001 From: Vladimir Fomichev Date: Mon, 1 Dec 2025 18:09:43 +0300 Subject: [PATCH] =?utf8?q?=D0=A3=D0=B1=D0=B8=D1=80=D0=B0=D0=B5=D0=BC=20shi?= =?utf8?q?ft?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- erp24/actions/grade/AdminUpdateAction.php | 28 ++++++++++------------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/erp24/actions/grade/AdminUpdateAction.php b/erp24/actions/grade/AdminUpdateAction.php index ed715243..825ae240 100644 --- a/erp24/actions/grade/AdminUpdateAction.php +++ b/erp24/actions/grade/AdminUpdateAction.php @@ -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'); -- 2.39.5