From 150ebd3cfa6771b44d2e184c37ac6efd3d7922d0 Mon Sep 17 00:00:00 2001 From: fomichev Date: Tue, 19 Nov 2024 10:40:16 +0300 Subject: [PATCH] =?utf8?q?=D0=9F=D1=80=D0=B0=D0=B2=D0=BA=D0=B8=20=D0=B4?= =?utf8?q?=D0=BE=D1=81=D1=82=D1=83=D0=BF=D0=BE=D0=B2=20=D0=B8=20=D0=B4?= =?utf8?q?=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B3?= =?utf8?q?=D1=80=D1=83=D0=BF=D0=BF=D1=8B=20=D1=80=D1=83=D0=BA=D0=BE=D0=B2?= =?utf8?q?=D0=BE=D0=B4=D0=B8=D1=82=D0=B5=D0=BB=D1=8C=20HR?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- erp24/controllers/crud/ClusterAdminController.php | 14 +++++++------- erp24/records/AdminGroup.php | 1 + erp24/views/crud/cluster-admin/index.php | 3 ++- erp24/views/crud/cluster-admin/view.php | 6 ++++-- 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/erp24/controllers/crud/ClusterAdminController.php b/erp24/controllers/crud/ClusterAdminController.php index 1681fa68..076964c8 100644 --- a/erp24/controllers/crud/ClusterAdminController.php +++ b/erp24/controllers/crud/ClusterAdminController.php @@ -58,7 +58,7 @@ class ClusterAdminController extends Controller */ public function actionIndex() { - if (!in_array(Admin::findOne([Yii::$app->user->id])->group_id, [AdminGroup::GROUP_IT, AdminGroup::DIRECTOR, AdminGroup::GROUP_HR ])) { + if (!in_array(Admin::findOne([Yii::$app->user->id])->group_id, [AdminGroup::GROUP_IT, AdminGroup::DIRECTOR, AdminGroup::GROUP_HR, AdminGroup::GROUP_HR_DIRECTOR ])) { return $this->redirect('/'); } @@ -78,7 +78,7 @@ class ClusterAdminController extends Controller ->where(['IN', 'group_id', [7]]) ->all(), 'id', 'name'); - // Создаем массив для сопоставления кустов и их статуса + $clusterMapping = []; foreach ($clusters as $cluster) { $clusterMapping[$cluster['id']] = [ @@ -178,7 +178,7 @@ class ClusterAdminController extends Controller public function actionView($id) { - if (!in_array(Admin::findOne([Yii::$app->user->id])->group_id, [AdminGroup::GROUP_IT, AdminGroup::DIRECTOR, AdminGroup::GROUP_HR ])) { + if (!in_array(Admin::findOne([Yii::$app->user->id])->group_id, [AdminGroup::GROUP_IT, AdminGroup::DIRECTOR, AdminGroup::GROUP_HR, AdminGroup::GROUP_HR_DIRECTOR ])) { return $this->redirect('/'); } @@ -211,7 +211,7 @@ class ClusterAdminController extends Controller */ public function actionCreate($cluster_id) { - if (!in_array(Admin::findOne([Yii::$app->user->id])->group_id, [AdminGroup::GROUP_IT, AdminGroup::DIRECTOR, AdminGroup::GROUP_HR ])) { + if (!in_array(Admin::findOne([Yii::$app->user->id])->group_id, [AdminGroup::GROUP_IT, AdminGroup::DIRECTOR, AdminGroup::GROUP_HR, AdminGroup::GROUP_HR_DIRECTOR ])) { return $this->redirect('/'); } @@ -318,7 +318,7 @@ class ClusterAdminController extends Controller */ public function actionUpdate($id) { - if (!in_array(Admin::findOne([Yii::$app->user->id])->group_id, [AdminGroup::GROUP_IT, AdminGroup::DIRECTOR, AdminGroup::GROUP_HR ])) { + if (!in_array(Admin::findOne([Yii::$app->user->id])->group_id, [AdminGroup::GROUP_IT, AdminGroup::DIRECTOR, AdminGroup::GROUP_HR, AdminGroup::GROUP_HR_DIRECTOR ])) { return $this->redirect('/'); } @@ -426,7 +426,7 @@ class ClusterAdminController extends Controller } } - // Сохраняем модель, если нет ошибок + if ($model->save()) { Yii::$app->session->setFlash('success', 'Запись успешно обновлена.'); return $this->redirect(['view', 'id' => $model->cluster_id]); @@ -456,7 +456,7 @@ class ClusterAdminController extends Controller */ public function actionDelete($id) { - if (!in_array(Admin::findOne([Yii::$app->user->id])->group_id, [AdminGroup::GROUP_IT, AdminGroup::DIRECTOR, AdminGroup::GROUP_HR ])) { + if (!in_array(Admin::findOne([Yii::$app->user->id])->group_id, [AdminGroup::GROUP_IT, AdminGroup::DIRECTOR, AdminGroup::GROUP_HR, AdminGroup::GROUP_HR_DIRECTOR ])) { return $this->redirect('/'); } diff --git a/erp24/records/AdminGroup.php b/erp24/records/AdminGroup.php index e634b0e4..1a5ff1ab 100755 --- a/erp24/records/AdminGroup.php +++ b/erp24/records/AdminGroup.php @@ -21,6 +21,7 @@ class AdminGroup extends ActiveRecord const DIRECTOR = 1; const GROUP_HR = 20; + const GROUP_HR_DIRECTOR = 8; const GROUP_LOGIST_TRANSPORT = 15; const GROUP_FLORIST_DAY = 30; const GROUP_FLORIST_NIGHT = 35; diff --git a/erp24/views/crud/cluster-admin/index.php b/erp24/views/crud/cluster-admin/index.php index 3e44de9b..22f827b0 100644 --- a/erp24/views/crud/cluster-admin/index.php +++ b/erp24/views/crud/cluster-admin/index.php @@ -5,6 +5,7 @@ use kartik\select2\Select2; use yii\helpers\ArrayHelper; use yii\helpers\Html; use yii\grid\GridView; +use yii_app\records\AdminGroup; /* @var $this yii\web\View */ /* @var $clusterMapping array */ @@ -85,7 +86,7 @@ $this->params['breadcrumbs'][] = $this->title; }, 'create' => function ($url, $model, $key) { - if ($model['status'] === 'Нет записей') { + if ($model['status'] === 'Нет записей' && in_array(Yii::$app->user->identity->group_id, [AdminGroup::GROUP_IT, AdminGroup::DIRECTOR, AdminGroup::GROUP_HR, AdminGroup::GROUP_HR_DIRECTOR ])) { return Html::a('Создать новую привязку', ['create', 'cluster_id' => $key], ['class' => 'btn btn-success']); } return null; diff --git a/erp24/views/crud/cluster-admin/view.php b/erp24/views/crud/cluster-admin/view.php index ff909846..ebc7e76a 100644 --- a/erp24/views/crud/cluster-admin/view.php +++ b/erp24/views/crud/cluster-admin/view.php @@ -5,6 +5,8 @@ use yii\widgets\DetailView; use yii\grid\GridView; use yii\data\ArrayDataProvider; use yii\widgets\ActiveForm; +use yii_app\records\AdminGroup; + /** @var yii\web\View $this */ /** @var yii_app\records\Cluster $cluster */ /** @var array $clusterAdmins */ @@ -33,7 +35,7 @@ $this->params['breadcrumbs'][] = $this->title;

- group_id, [81])): ?> + group_id, [AdminGroup::GROUP_IT, AdminGroup::DIRECTOR, AdminGroup::GROUP_HR, AdminGroup::GROUP_HR_DIRECTOR ])): ?> $cluster->id], ['class' => 'btn btn-success']) ?>

@@ -87,7 +89,7 @@ $this->params['breadcrumbs'][] = $this->title; return true; }, 'delete' => function ($model) use ($user) { - return in_array($user->group_id, [81]); + return in_array($user->group_id, [AdminGroup::GROUP_IT, AdminGroup::DIRECTOR, AdminGroup::GROUP_HR, AdminGroup::GROUP_HR_DIRECTOR ]); }, ], 'urlCreator' => function ($action, $model, $key, $index) { -- 2.39.5