public function actionIndex() { $permissions_for_change_permissions = \app\models\Permissions::find()->where('(SUBJECT_TYPE = :subject_type and SUBJECT_ID = :user_id and DEL_TRACT_ID = :del_tract and PERM_LEVEL = :perm_level and ACTION_ID = :action) or (SUBJECT_TYPE = :subject_type_dolg and SUBJECT_ID = :dolg_id and DEL_TRACT_ID = :del_tract and PERM_LEVEL = :perm_level and ACTION_ID = :action)', ['subject_type_dolg' => 1, 'dolg_id' => \Yii::$app->session->get('user.user_iddolg'), 'action' => 1, 'subject_type' => 2, 'user_id' => \Yii::$app->user->id, 'del_tract' => 0, 'perm_level' => 2])->one(); /* Проверка на доступ пользователя к странице */ if ($permissions_for_change_permissions) { /* Формирование списка должностей */ $query = new \yii\db\Query(); $query->select('NAIMDOLG AS name, IDDOLG AS id')->from('STIGIT.V_F_SHRAS')->orderBy('NAIMDOLG asc'); $command = $query->createCommand(); $v_f_shras = $command->queryAll(); /* Формирование списка пользователей */ $query = new \yii\db\Query(); $query->select('TN AS tn, FIO AS fio')->from('STIGIT.V_F_PERS')->orderBy('FIO asc'); $command = $query->createCommand(); $v_f_pers = $command->queryAll(); /* Формирование списка доступных действий */ $actions = \app\models\Actions::find()->orderBy('ACTION_DESC asc')->all(); /* Формирование списка состояний */ $states_list = \app\models\States::find()->all(); /* Рендер страницы и передача сформированных переменных в нее */ return $this->render('index', ['v_f_shras' => $v_f_shras, 'v_f_pers' => $v_f_pers, 'actions' => $actions, 'states_list' => $states_list]); } else { /* Вызываем эксепшн в случае, если доступ к странце запрещен */ throw new \yii\web\ForbiddenHttpException('У Вас нет доступа на "Права доступа".'); } }
public function getPermactiontype() { return $this->hasOne(\app\models\Actions::className(), ['ID' => 'ACTION_ID']); }
/** * @return \yii\db\ActiveQuery */ public function getActions() { return $this->hasMany(Actions::className(), ['action_type_id' => 'id']); }
} } if(more && more.dnd && (operation === 'move_node' || operation === 'copy_node') && (node_parent.id === '#' || node_parent.parents.length != 1 || isset_children === 'false' )) { return false; } return true; }, "data" : [ <?php foreach ($v_f_pers as $v_f_per) { echo '{"id" : "v_f_per_' . $v_f_per['tn'] . '", "icon" : "glyphicon glyphicon-user", "parent" : "#", "text" : "' . $v_f_per['fio'] . '", "li_attr" : { "data-panel" : "v_f_pers", "data-id" : "' . $v_f_per['tn'] . '" }},'; $inner_list = \app\models\Permissions::find()->where(['SUBJECT_TYPE' => 2, 'SUBJECT_ID' => $v_f_per['tn'], 'DEL_TRACT_ID' => 0])->orderBy('PERM_TYPE')->all(); if ($inner_list) { foreach ($inner_list as $li) { if ($li->PERM_TYPE == 1) { $result_li = \app\models\Actions::findOne($li->ACTION_ID); echo '{"id" : "' . $li->ID . '", "icon" : "glyphicon glyphicon-cog", "parent" : "v_f_per_' . $v_f_per['tn'] . '", "text" : "' . $result_li->ACTION_DESC . '", "li_attr" : { "data-id" : "' . $li->ID . '", "data-perm-level" : "' . $li->PERM_LEVEL . '", "class" : "inner-node-state"}},'; } elseif ($li->PERM_TYPE == 2) { $result_li = \app\models\States::findOne($li->ACTION_ID); echo '{"id" : "' . $li->ID . '", "icon" : "glyphicon glyphicon-check", "parent" : "v_f_per_' . $v_f_per['tn'] . '", "text" : "' . $result_li->STATE_NAME . '", "li_attr" : { "data-id" : "' . $li->ID . '", "data-perm-level" : "' . $li->PERM_LEVEL . '", "class" : "inner-node-state"}},'; } } } } ?> ], }, }).on("copy_node.jstree", function (e, data) { //store in database var parent_id = $('#jstree-v_f_pers').jstree(true).get_node(data.node.parents[0]).li_attr['data-id']; var parent_type = $('#jstree-v_f_pers').jstree(true).get_node(data.node.parents[0]).li_attr['data-panel'];