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('У Вас нет доступа на "Права доступа".');
     }
 }
Пример #2
0
 public function getPermactiontype()
 {
     return $this->hasOne(\app\models\Actions::className(), ['ID' => 'ACTION_ID']);
 }
Пример #3
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getActions()
 {
     return $this->hasMany(Actions::className(), ['action_type_id' => 'id']);
 }
Пример #4
0
								                    	} 
								                    }
								                    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'];