]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
Скрытие кнопок и полей
authorvladfo <fvv2011@gmail.com>
Wed, 16 Oct 2024 11:55:00 +0000 (14:55 +0300)
committervladfo <fvv2011@gmail.com>
Wed, 16 Oct 2024 11:55:00 +0000 (14:55 +0300)
erp24/controllers/crud/ClusterAdminController.php
erp24/views/crud/cluster-admin/_form.php
erp24/views/crud/cluster-admin/create.php
erp24/views/crud/cluster-admin/index.php
erp24/views/crud/cluster-admin/update.php
erp24/views/crud/cluster-admin/view.php

index ca06e7c7330d6921ee9855d96a3019926457d062..4fbfd922a6ac91257852442dc34cf9403cfb4674 100644 (file)
@@ -45,9 +45,11 @@ class ClusterAdminController extends Controller
         $searchModel = new ClusterAdminSearch();
         $dataProvider = $searchModel->search($this->request->queryParams);
 
+        $user = Yii::$app->user->identity;
         return $this->render('index', [
             'searchModel' => $searchModel,
             'dataProvider' => $dataProvider,
+            'user' => $user,
         ]);
     }
 
@@ -59,8 +61,10 @@ class ClusterAdminController extends Controller
      */
     public function actionView($id)
     {
+        $user = Yii::$app->user->identity;
         return $this->render('view', [
             'model' => $this->findModel($id),
+            'user' => $user,
         ]);
     }
 
@@ -106,10 +110,13 @@ class ClusterAdminController extends Controller
             ->where(['NOT IN', 'group_id', [-1, 1000]]) // Исключаем сотрудников с group_id = -1 и group_id = 1000
             ->all(), 'id', 'name');
 
+        $user = Yii::$app->user->identity;
+
         return $this->render('create', [
             'model' => $model,
             'clusters' => $clusters,
             'admins' => $admins,
+            'user' => $user,
         ]);
     }
 
@@ -128,8 +135,19 @@ class ClusterAdminController extends Controller
             return $this->redirect(['view', 'id' => $model->id]);
         }
 
+
+        // Получение данных для выпадающих списков
+        $clusters = ArrayHelper::map(Cluster::find()->all(), 'id', 'name');
+        $admins = ArrayHelper::map(Admin::find()
+            ->select(['id', 'name'])
+            ->where(['NOT IN', 'group_id', [-1, 1000]]) // Исключаем сотрудников с group_id = -1 и group_id = 1000
+            ->all(), 'id', 'name');
+        $user = Yii::$app->user->identity;
         return $this->render('update', [
             'model' => $model,
+            'clusters' => $clusters,
+            'admins' => $admins,
+            'user' => $user,
         ]);
     }
 
index bab10567043633edf313d89c1aea5a27c9e60c46..9bbf066785d73de9e21b298326360284be613667 100644 (file)
@@ -3,58 +3,67 @@
 use kartik\select2\Select2;
 use yii\helpers\Html;
 use yii\widgets\ActiveForm;
-use yii_app\records\Admin;
-use yii_app\records\Cluster;
+
+use yii_app\records\ClusterAdmin;
 
 
 /** @var yii\web\View $this */
-/** @var yii_app\records\ClusterAdmin $model */
+/** @var ClusterAdmin $model */
 /** @var yii\widgets\ActiveForm $form */
-/** @var array $clusters  */
-/** @var array $admins  */
+/** @var array $clusters */
+/** @var array $admins */
+/** @var yii_app\records\Admin $user */
+
 
 
 ?>
 
 <div class="cluster-admin-form">
-
-
     <?php if(Yii::$app->session->hasFlash('error')) { ?>
         <div class="alert alert-danger" role="alert">
-            <?=Yii::$app->session->getFlash('error')?>
+            <?= Yii::$app->session->getFlash('error') ?>
         </div>
     <?php } ?>
-<div class="col-6">
-    <?php $form = ActiveForm::begin(); ?>
-
-
 
-    <?= $form->field($model, 'cluster_id')->widget(Select2::class, [
-        'data' => $clusters,
-        'options' => ['placeholder' => 'Выберите куст...'],
-        'pluginOptions' => [
-            'allowClear' => true
-        ],
-    ]); ?>
-
-    <?= $form->field($model, 'admin_id')->widget(Select2::class, [
-        'data' => $admins,
-        'options' => ['placeholder' => 'Выберите кустового...'],
-        'pluginOptions' => [
-            'allowClear' => true
-        ],
-    ]); ?>
-
-    <?= $form->field($model, 'date_start')->input('date', [
-        'value' => date('Y-m-d'),
-    ]) ?>
-
-    <?= $form->field($model, 'date_end')->input('date', ['value' => date('Y-m-d', strtotime('2100-01-01')) ]) ?>
+    <div class="col-6">
+        <?php $form = ActiveForm::begin(); ?>
+
+        <?= $form->field($model, 'cluster_id')->widget(Select2::class, [
+            'data' => $clusters,
+            'options' => ['placeholder' => 'Выберите куст...'],
+            'pluginOptions' => [
+                'allowClear' => true
+            ],
+        ]); ?>
+
+        <?= $form->field($model, 'admin_id')->widget(Select2::class, [
+            'data' => $admins,
+            'options' => ['placeholder' => 'Выберите кустового...'],
+            'pluginOptions' => [
+                'allowClear' => true
+            ],
+        ]); ?>
+
+        <?php if (in_array($user->group_id , [81])): ?>
+            <!-- Поля для группы 81 -->
+            <?= $form->field($model, 'date_start')->input('date', [
+                'value' => date('Y-m-d'),
+            ]) ?>
+
+            <?= $form->field($model, 'date_end')->input('date', [
+                'value' => date('Y-m-d', strtotime('2100-01-01')),
+            ]) ?>
+        <?php else: ?>
+            <!-- Скрытые поля для других пользователей, чтобы сохранить значение по умолчанию -->
+            <?= $form->field($model, 'date_start')->hiddenInput(['value' => date('Y-m-d')])->label(false) ?>
+
+            <?= $form->field($model, 'date_end')->hiddenInput(['value' => date('Y-m-d', strtotime('2100-01-01'))])->label(false) ?>
+        <?php endif; ?>
+
+        <div class="form-group">
+            <?= Html::submitButton('Сохранить', ['class' => 'btn btn-success']) ?>
+        </div>
 
-    <div class="form-group">
-        <?= Html::submitButton('Сохранить', ['class' => 'btn btn-success']) ?>
+        <?php ActiveForm::end(); ?>
     </div>
-
-    <?php ActiveForm::end(); ?>
-</div>
-</div>
+</div>
\ No newline at end of file
index a70c6dc69ad6f1390f13eb6efea1b2c39d807432..66e35faf2ba2be5c442713d70be29134390ca65b 100644 (file)
@@ -2,10 +2,12 @@
 
 use yii\helpers\Html;
 
+
 /** @var yii\web\View $this */
 /** @var yii_app\records\ClusterAdmin $model */
 /** @var array $clusters  */
 /** @var array $admins  */
+/** @var yii_app\records\Admin $user */
 
 $this->title = 'Создание привязки Куста к Кустовому';
 $this->params['breadcrumbs'][] = ['label' => 'Cluster Admins', 'url' => ['index']];
@@ -19,6 +21,7 @@ $this->params['breadcrumbs'][] = $this->title;
         'model' => $model,
         'clusters' => $clusters,
         'admins' => $admins,
+        'user' => $user,
     ]) ?>
 
 </div>
index ddc22416d2c115cb08a3c568f06b6c5eb6d05a4f..e455c979d7e5233085c5f3c1c7576a791e8cb1aa 100644 (file)
@@ -1,5 +1,6 @@
 <?php
 
+
 use yii_app\records\ClusterAdmin;
 use yii\helpers\Html;
 use yii\helpers\Url;
@@ -9,6 +10,7 @@ use yii\grid\GridView;
 /** @var yii\web\View $this */
 /** @var yii_app\records\ClusterAdminSearch $searchModel */
 /** @var yii\data\ActiveDataProvider $dataProvider */
+/** @var yii_app\records\Admin $user */
 
 $this->title = 'Привязка Куст-Кустовой';
 $this->params['breadcrumbs'][] = $this->title;
@@ -46,6 +48,15 @@ $this->params['breadcrumbs'][] = $this->title;
             'date_end',
             [
                 'class' => ActionColumn::class,
+                'template' => '{view} {update} {delete}', // По умолчанию включаем все кнопки
+                'visibleButtons' => [
+                    'update' => function ($model) use ($user) {
+                        return in_array($user->group_id, [81]); // Показывать кнопку 'update' только для группы 81
+                    },
+                    'delete' => function ($model) use ($user) {
+                        return in_array($user->group_id, [81]); // Показывать кнопку 'delete' только для группы 81
+                    },
+                ],
                 'urlCreator' => function ($action, ClusterAdmin $model, $key, $index, $column) {
                     return Url::toRoute([$action, 'id' => $model->id]);
                 }
index b51539c47a2f821572d73231fea02c87e1c52114..5ef6a0cbf2f0f1bd8edb63fda815953f2e4d73d7 100644 (file)
@@ -2,10 +2,12 @@
 
 use yii\helpers\Html;
 
+
 /** @var yii\web\View $this */
 /** @var yii_app\records\ClusterAdmin $model */
 /** @var array $clusters  */
 /** @var array $admins  */
+/** @var yii_app\records\Admin $user */
 
 $this->title = 'Редактирование привязки куста к кустовому: ' . $model->id;
 $this->params['breadcrumbs'][] = ['label' => 'Cluster Admins', 'url' => ['index']];
@@ -20,6 +22,7 @@ $this->params['breadcrumbs'][] = 'Update';
         'model' => $model,
         'clusters' => $clusters,
         'admins' => $admins,
+        'user' => $user,
     ]) ?>
 
 </div>
index 046aacf4e7041f64fc753fe82f61b37a9897bba9..d5a3b7c8f316278c95485f2dd2c56a787645db75 100644 (file)
@@ -5,6 +5,7 @@ use yii\widgets\DetailView;
 
 /** @var yii\web\View $this */
 /** @var yii_app\records\ClusterAdmin $model */
+/** @var yii_app\records\Admin $user */
 
 $this->title = "Привязка кустового к кусту №" . $model->id . " от " . $model->date_start;
 $this->params['breadcrumbs'][] = ['label' => 'Cluster Admins', 'url' => ['index']];
@@ -15,15 +16,18 @@ $this->params['breadcrumbs'][] = $this->title;
 
     <h1><?= Html::encode($this->title) ?></h1>
 
+
     <p>
-        <?= Html::a('Изменить', ['update', 'id' => $model->id], ['class' => 'btn btn-primary']) ?>
-        <?= Html::a('Удалить', ['delete', 'id' => $model->id], [
-            'class' => 'btn btn-danger',
-            'data' => [
-                'confirm' => 'Вы уверены что хотите удалить запись?',
-                'method' => 'post',
-            ],
-        ]) ?>
+        <?php if (in_array($user->group_id, [81])): ?> <!-- Проверяем, принадлежит ли пользователь к группе 81 -->
+            <?= Html::a('Изменить', ['update', 'id' => $model->id], ['class' => 'btn btn-primary']) ?>
+            <?= Html::a('Удалить', ['delete', 'id' => $model->id], [
+                'class' => 'btn btn-danger',
+                'data' => [
+                    'confirm' => 'Вы уверены что хотите удалить запись?',
+                    'method' => 'post',
+                ],
+            ]) ?>
+        <?php endif; ?>
     </p>
 
     <?= DetailView::widget([