]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
Правки доступов и добавление группы руководитель HR
authorfomichev <vladimir.fomichev@erp-flowers.ru>
Tue, 19 Nov 2024 07:40:16 +0000 (10:40 +0300)
committerfomichev <vladimir.fomichev@erp-flowers.ru>
Tue, 19 Nov 2024 07:40:16 +0000 (10:40 +0300)
erp24/controllers/crud/ClusterAdminController.php
erp24/records/AdminGroup.php
erp24/views/crud/cluster-admin/index.php
erp24/views/crud/cluster-admin/view.php

index 1681fa68e685d522cc66d2e11bf2060d225c4207..076964c898169c4c245b014ef4a25ab1866a3785 100644 (file)
@@ -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('/');
 
         }
index e634b0e42fecf657d53517666fb74c24ae79ad95..1a5ff1abbae1bba697206689f70241d03efbff3c 100755 (executable)
@@ -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;
index 3e44de9b0a99a12ae8d746fbe2a89e9ab45dcb5c..22f827b057154207052326faf91f61dbc4abbaa2 100644 (file)
@@ -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;
index ff90984629078d281d0f759fafcda5a546b19036..ebc7e76a526209cfbbda8bad2b3a661fd51c12d5 100644 (file)
@@ -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;
     <?php   ActiveForm::end(); ?>
 
     <p>
-        <?php if (in_array($user->group_id, [81])): ?> <!-- Проверяем, принадлежит ли пользователь к группе 81 -->
+        <?php if (in_array($user->group_id, [AdminGroup::GROUP_IT, AdminGroup::DIRECTOR, AdminGroup::GROUP_HR, AdminGroup::GROUP_HR_DIRECTOR ])): ?> <!-- Проверяем, принадлежит ли пользователь к группе 81 -->
             <?= Html::a('Создать новую привязку', ['create', 'cluster_id' => $cluster->id], ['class' => 'btn btn-success']) ?>
         <?php endif; ?>
     </p>
@@ -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) {