From: fomichev Date: Tue, 19 Nov 2024 07:40:16 +0000 (+0300) Subject: Правки доступов и добавление группы руководитель HR X-Git-Tag: 1.7~228^2~1 X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=150ebd3cfa6771b44d2e184c37ac6efd3d7922d0;p=erp24_rep%2Fyii-erp24%2F.git Правки доступов и добавление группы руководитель HR --- 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) {