예제 #1
0
 public function actionFixpermission()
 {
     $auth = Yii::$app->authManager;
     $itemPermission = $auth->getPermissions();
     $actionList = AuthActionList::find()->all();
     $actionList = \app\helpers\ArrayHelper::map($actionList, '_id', 'is_permission');
     if ($itemPermission) {
         foreach ($itemPermission as $item) {
             $updatePermission = AuthActionList::findOne($item->name);
             if ($updatePermission and $updatePermission->is_permission !== "1") {
                 $updatePermission->is_permission = "1";
                 $updatePermission->save();
             }
         }
     }
     $this->redirect(['/account/rbac/actionlist']);
 }
예제 #2
0
 public function run()
 {
     $output = '';
     if (!isset($this->options['class']) or empty($this->options['class'])) {
         $this->options['class'] = 'form-control';
     }
     if (!isset($this->options['id']) or empty($this->options['id'])) {
         $this->options['id'] = 'locationCity';
     }
     if (!isset($this->options['onchange']) or empty($this->options['onchange'])) {
         $this->options['onchange'] = 'selected_region(this.value)';
     }
     $cities = ArrayHelper::map(LocationCity::find()->orderBy('title ASC')->all(), '_id', 'title');
     $output = Html::activeDropDownList($this->model, $this->attribute, $cities, $this->options);
     $output .= '<div id="district"></div>';
     echo $output;
 }
예제 #3
0
파일: Message.php 프로젝트: quynhvv/stepup
 public function getUserOptions()
 {
     return ArrayHelper::map(User::find()->where(['status' => '1'])->andWhere(['NOT', '_id', Yii::$app->user->id])->orderBy('email')->all(), '_id', 'email');
 }
예제 #4
0
 /**
  * Updates an existing Form model (except id).
  * Updates an existing FormData model (only data field).
  * Updates an existing FormConfirmation model (except id & form_id).
  * Updates an existing FormEmail model (except id & form_id).
  * If update is successful, the browser will be redirected to the 'index' page.
  *
  * @param int|null $id
  * @return string|\yii\web\Response
  * @throws NotFoundHttpException
  * @throws \Exception
  * @throws \yii\db\Exception
  */
 public function actionSettings($id = null)
 {
     /** @var \app\models\Form $formModel */
     $formModel = $this->findFormModel($id);
     $formDataModel = $formModel->formData;
     $formConfirmationModel = $formModel->formConfirmation;
     $formEmailModel = $formModel->formEmail;
     $formUIModel = $formModel->ui;
     $postData = Yii::$app->request->post();
     if ($formModel->load($postData) && $formConfirmationModel->load($postData) && $formEmailModel->load($postData) && $formUIModel->load($postData) && Model::validateMultiple([$formModel, $formConfirmationModel, $formEmailModel, $formUIModel])) {
         // Save data in single transaction
         $transaction = Form::getDb()->beginTransaction();
         try {
             // Save Form Model
             if (!$formModel->save()) {
                 throw new \Exception(Yii::t("app", "Error saving Form Model"));
             }
             // Save data field in FormData model
             if (isset($postData['Form']['name'])) {
                 // Convert JSON Data of Form Data Model to PHP Array
                 /** @var \app\components\JsonToArrayBehavior $builderField */
                 $builderField = $formDataModel->behaviors['builderField'];
                 // Set form name by json key path. If fail, throw \ArrayAccessException
                 $builderField->setSafeValue('settings.name', $postData['Form']['name']);
                 // Save to DB
                 $builderField->save();
                 // If fail, throw \Exception
             }
             // Save FormConfirmation Model
             if (!$formConfirmationModel->save()) {
                 throw new \Exception(Yii::t("app", "Error saving Form Confirmation Model"));
             }
             // Save FormEmail Model
             if (!$formEmailModel->save()) {
                 throw new \Exception(Yii::t("app", "Error saving Form Email Model"));
             }
             // Save FormUI Model
             if (!$formUIModel->save()) {
                 throw new \Exception(Yii::t("app", "Error saving Form UI Model"));
             }
             $transaction->commit();
             Yii::$app->getSession()->setFlash('success', Yii::t('app', 'The form settings have been successfully updated'));
             return $this->redirect(['index']);
         } catch (\Exception $e) {
             // Rolls back the transaction
             $transaction->rollBack();
             // Rethrow the exception
             throw $e;
         }
     } else {
         // Select id & name of all themes in the system
         $themes = Theme::find()->select(['id', 'name'])->asArray()->all();
         $themes = ArrayHelper::map($themes, 'id', 'name');
         return $this->render('settings', ['formModel' => $formModel, 'formDataModel' => $formDataModel, 'formConfirmationModel' => $formConfirmationModel, 'formEmailModel' => $formEmailModel, 'formUIModel' => $formUIModel, 'themes' => $themes]);
     }
 }
예제 #5
0
파일: index.php 프로젝트: tsyrya/mybriop
$this->registerCss($style);
$roles = Yii::$app->authManager->getRolesByUser(Yii::$app->user->id);
?>

<div ng-app="rukovoditel" ng-controller="RukovoditelKomissiiController as rk">
    <div class="inline-block">

        <div class="inline-block">
            <?php 
if (isset($roles[\app\enums2\Rol::SOTRUDNIK_OTDELA_ATTESTACII])) {
    echo Html::label('Комиссия', 'komissiya', []);
    echo Html::dropDownList('komissiya', null, \app\entities\AttestacionnayaKomissiya::find()->formattedAll(\app\entities\EntityQuery::DROP_DOWN, 'nazvanie'), ['id' => 'komissiya', 'class' => 'form-control inline-block', 'ng-model' => "rk.komissiya"]);
} else {
    //echo Html::input('hidden','komissiya',$komissiyaId,['id' => 'komissiya']);
    echo Html::label('Комиссия', 'komissiya', []);
    echo Html::dropDownList('komissiya', null, \app\helpers\ArrayHelper::map($komissiyaId, 'attestacionnaya_komissiya', 'attestacionnayaKomissiyaRel.nazvanie'), ['id' => 'komissiya', 'class' => 'form-control inline-block', 'ng-model' => "rk.komissiya"]);
}
?>
        </div>

        <div class="inline-block">
            <?php 
echo Html::label('Период прохождения аттестации', 'periods', []);
?>
            <?php 
echo Html::dropDownList('periods', null, $periods_for_dropdown, ['id' => 'periods', 'class' => 'form-control inline-block', 'ng-disabled' => 'rk.allUnfinished']);
?>
        </div>
        <div class="inline-block checkbox filter-block">
            <label for="all_unfinished">
                <input type="checkbox" id="all_unfinished" ng-change="s.toggleUnfinished()" ng-model="rk.allUnfinished"/>
예제 #6
0
 public static function getOptions()
 {
     return \app\helpers\ArrayHelper::map(self::find()->where(['status' => '1'])->orderBy('sort')->all(), '_id', 'title');
 }
예제 #7
0
    <div class="row m-b-sm">
        <div class="col-lg-12">
            <div id="msg" style="display: none;" class="alert alert-dismissable"></div>
            <?php 
if (!empty($role)) {
    echo Html::buttonInput(Yii::t('common', 'Save'), ['class' => 'btn btn-primary m-r-md', 'onclick' => 'addPermissionFromRole();']);
}
echo Html::dropDownList('choseRole', $role, ArrayHelper::map($auth->getRoles(), 'name', 'description'), ['prompt' => Yii::t('account', 'Select a role'), 'class' => 'chosen-select', 'id' => 'role', 'onchange' => 'changeUrlPermission()']);
?>
        </div>
    </div>
    <div id="message"></div>

    <?php 
if (!empty($role)) {
    echo Html::hiddenInput('allPermission', implode(',', \app\helpers\ArrayHelper::map($dataProvider->getModels(), '_id', 'name')), ['id' => 'allPermission']);
    echo GridView::widget(['panel' => ['heading' => Yii::t(Yii::$app->controller->module->id, 'Account'), 'tableOptions' => ['id' => 'listDefault']], 'dataProvider' => $dataProvider, 'filterModel' => $searchModel, 'columns' => [['class' => 'app\\modules\\account\\components\\SelectPermissionForRoleColumn'], 'name', 'description', 'rule_name'], 'responsive' => true, 'hover' => true]);
}
?>


</div>
<script type="text/javascript">
    function addPermissionFromRole() {
        var ids = $('input[name="selection[]"]:checked').serialize();
        var choseRole = $('#role option:selected').val();
        var allpermission = $('#allPermission').val();
        $.ajax({
            type: "POST",
            dataType: "json",
            url: "<?php 
예제 #8
0
 public static function getKomissiiForDropDown()
 {
     $komissii = static::find()->all();
     return ArrayHelper::map($komissii, 'id', 'nazvanie');
 }
예제 #9
0
 /**
  * Update an existing User model. If update is successful, the browser
  * will be redirected to the 'view' page.
  *
  * @param string $id
  * @return mixed
  */
 public function actionUpdate($id)
 {
     // set up user and profile
     $user = $this->findModel($id);
     $user->setScenario("admin");
     $profile = $user->profile;
     // load post data and validate
     $post = Yii::$app->request->post();
     if ($user->load($post) && $user->validate() && $profile->load($post) && $profile->validate()) {
         //Save user
         $user->save(false);
         // Save profile
         $profile->setUser($user->id)->save(false);
         // Remove old forms permissions
         FormUser::deleteAll(['user_id' => $user->id]);
         // Save new forms permissions
         $forms = Yii::$app->request->post('forms');
         if (isset($forms) && is_array($forms)) {
             // Set news
             foreach ($forms as $form_id) {
                 $formUser = new FormUser();
                 $formUser->form_id = $form_id;
                 $formUser->user_id = $user->id;
                 $formUser->save();
             }
         }
         Yii::$app->getSession()->setFlash('success', Yii::t('app', 'The user has been successfully updated.'));
         return $this->redirect(['index']);
     }
     // Get all forms
     $forms = Form::find()->select(['id', 'name'])->orderBy('updated_at DESC')->all();
     // Map id => name
     $forms = ArrayHelper::map($forms, 'id', 'name');
     // Get forms of the selected user
     $userForms = FormUser::find()->select(['form_id'])->where(['user_id' => $user->id])->asArray()->all();
     // Get only ids
     $userForms = ArrayHelper::getColumn($userForms, 'form_id');
     // render
     return $this->render('update', ['user' => $user, 'profile' => $profile, 'forms' => $forms, 'userForms' => $userForms]);
 }
예제 #10
0
파일: spisok.php 프로젝트: tsyrya/mybriop
}], ['format' => 'raw', 'value' => function ($kurs) {
    /* @var $kurs KursExtended */
    $editLinkClass = '';
    if ($kurs->statusProgrammy == StatusProgrammyKursa::ZAVERSHENA) {
        $editLinkClass = ' hidden';
    }
    $result = Html::a('Редактор', ['/kurs/edit', 'id' => $kurs->id], ['class' => 'btn btn-primary' . $editLinkClass]) . Html::tag('p', '', ['class' => $editLinkClass]) . Html::button('Сделать копию', ['class' => 'btn btn-primary', 'ng-click' => 'main.copyProgram(' . $kurs->id . ')']) . Html::tag('p') . Html::button('Удалить программу', ['class' => 'btn btn-primary', 'ng-click' => 'main.deleteProgram(' . $kurs->id . ')']);
    /* @var $kurs2 Kurs */
    $kurs2 = Kurs::findOne($kurs->id);
    if ($kurs2 && $kurs2->allowsZanyatiyaChange()) {
        $raspBtn = Html::a('Расписание', ['/upravlenie-kursami/raspisanie/zanyatie', 'kurs' => $kurs->id], ['class' => 'btn btn-primary']);
        $result .= Html::tag('p') . $raspBtn;
    }
    return $result;
}]]]);
$years = ArrayHelper::map(\app\entities\Kurs::find()->select(['EXTRACT(YEAR FROM plan_prospekt_god) as year'])->distinct()->orderBy('year')->where(['rukovoditel' => Yii::$app->user->fizLico->id])->asArray()->all(), 'year', 'year');
?>

<div id="copying-form" class="copying-form" ng-controller="CopyingController as copying" ng-show="copying.isShow">
    <div class="form-group">
        <div class="inline-block">
            <label for="plan_prospekt_years">Выберите год</label>
            <?php 
echo Html::dropDownList('plan_prospekt_years', null, $years, ['id' => 'plan_prospekt_years', 'class' => 'form-control', 'ng-model' => 'copying.year']);
?>
        </div>
<!--        <button ng-click="copying.loadKursy()" class="btn btn-primary inline-block vbottom">Загрузить доступные программы</button>-->
        <h4 ng-show="copying.kursy[copying.year].length>0">Выберите курс из списка</h4>
        <div id="plan_prospekts" ng-repeat="kurs in copying.kursy[copying.year]">
            <div class="kurs" ng-class="kurs.id == copying.to ? 'chosen_kurs' : ''" ng-click="copying.chooseKurs(kurs.id)">
                {{$index+1}}. {{kurs.nazvanie}}
 /**
  * Updates an existing Template model.
  * If update is successful, the browser will be redirected to the 'view' page.
  * @param integer $id
  * @return mixed
  */
 public function actionSettings($id)
 {
     $model = $this->findModel($id);
     if ($model->load(Yii::$app->request->post()) && $model->save()) {
         return $this->redirect(['view', 'id' => $model->id]);
     } else {
         // Select id & name of all template categories in the system
         $categories = TemplateCategory::find()->select(['id', 'name'])->asArray()->all();
         $categories = ArrayHelper::map($categories, 'id', 'name');
         return $this->render('settings', ['model' => $model, 'categories' => $categories]);
     }
 }
예제 #12
0
파일: Job.php 프로젝트: quynhvv/stepup
 public function getIndustryNames()
 {
     $items = array();
     if ($this->industry and is_array($this->industry)) {
         $items = ArrayHelper::map(JobIndustry::find()->where(['in', '_id', $this->industry])->asArray()->all(), '_id', 'title');
     }
     return implode('<br/>', $items);
 }
예제 #13
0
 public function getFieldsForEmail()
 {
     $submissionFields = $this->getFieldsForSubmissions();
     return ArrayHelper::map($submissionFields, 'name', 'label');
 }
예제 #14
0
 /**
  * Gets all a combined map of all the settings.
  *
  * @return array
  */
 public function getSettings()
 {
     $settings = static::find()->where(['status' => true])->asArray()->all();
     return array_merge_recursive(ArrayHelper::map($settings, 'key', 'value', 'category'), ArrayHelper::map($settings, 'key', 'type', 'category'));
 }
예제 #15
0
파일: index.php 프로젝트: agarb7/mybriop
$this->registerCss($style);
$roles = Yii::$app->authManager->getRolesByUser(Yii::$app->user->id);
?>

<div ng-app="rukovoditel" ng-controller="RukovoditelKomissiiController as rk">
    <div class="inline-block">

        <div class="inline-block">
            <?php 
if (isset($roles[\app\enums2\Rol::SOTRUDNIK_OTDELA_ATTESTACII])) {
    echo Html::label('Комиссия', 'komissiya', []);
    echo Html::dropDownList('komissiya', null, \app\entities\AttestacionnayaKomissiya::find()->formattedAll(\app\entities\EntityQuery::DROP_DOWN, 'nazvanie'), ['id' => 'komissiya', 'class' => 'form-control inline-block', 'ng-model' => "rk.komissiya", 'onChange' => 'change_url()', 'ng-change' => 'rk.loadRabotniki()']);
} else {
    //echo Html::input('hidden','komissiya',$komissiyaId,['id' => 'komissiya']);
    echo Html::label('Комиссия', 'komissiya', []);
    echo Html::dropDownList('komissiya', null, \app\helpers\ArrayHelper::map($komissiyaId, 'attestacionnaya_komissiya', 'attestacionnayaKomissiyaRel.nazvanie'), ['id' => 'komissiya', 'class' => 'form-control inline-block', 'ng-model' => "rk.komissiya", 'onChange' => 'change_url()', 'ng-change' => 'rk.loadRabotniki()']);
}
?>
        </div>

        <div class="inline-block">
            <?php 
echo Html::label('Период прохождения аттестации', 'periods', []);
?>
            <?php 
echo Html::dropDownList('periods', null, $periods_for_dropdown, ['id' => 'periods', 'class' => 'form-control inline-block', 'ng-disabled' => 'rk.allUnfinished', 'onChange' => 'change_url()']);
?>
        </div>
        <div class="inline-block checkbox filter-block">
            <label for="all_unfinished">
                <input type="checkbox" id="all_unfinished" ng-change="s.toggleUnfinished()" ng-model="rk.allUnfinished"/>
예제 #16
0
 private function getStrukturnyePodrazdeleniya($prepIds)
 {
     $raw = (new Query())->select(['id' => 'r.fiz_lico', 'name' => 'coalesce(sp.sokrashennoe_nazvanie, sp.nazvanie)'])->from('rabota_fiz_lica r')->leftJoin('dolzhnost_fiz_lica_na_rabote d', 'd.rabota_fiz_lica = r.id')->leftJoin('strukturnoe_podrazdelenie sp', 'sp.id = d.strukturnoe_podrazdelenie')->where(['and', ['r.fiz_lico' => $prepIds], 'coalesce(sp.sokrashennoe_nazvanie, sp.nazvanie) is not null'])->all();
     $grouped = ArrayHelper::map($raw, 'name', 'name', 'id');
     return $grouped;
 }
예제 #17
0
파일: Project.php 프로젝트: quynhvv/stepup
 public static function getCandidatesOptions()
 {
     return ArrayHelper::map(UserJobSeekerResume::find()->where([])->asArray()->all(), '_id', 'candidate_id');
 }