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']); }
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; }
public function getUserOptions() { return ArrayHelper::map(User::find()->where(['status' => '1'])->andWhere(['NOT', '_id', Yii::$app->user->id])->orderBy('email')->all(), '_id', 'email'); }
/** * 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]); } }
$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"/>
public static function getOptions() { return \app\helpers\ArrayHelper::map(self::find()->where(['status' => '1'])->orderBy('sort')->all(), '_id', 'title'); }
<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
public static function getKomissiiForDropDown() { $komissii = static::find()->all(); return ArrayHelper::map($komissii, 'id', 'nazvanie'); }
/** * 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]); }
}], ['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]); } }
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); }
public function getFieldsForEmail() { $submissionFields = $this->getFieldsForSubmissions(); return ArrayHelper::map($submissionFields, 'name', 'label'); }
/** * 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')); }
$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"/>
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; }
public static function getCandidatesOptions() { return ArrayHelper::map(UserJobSeekerResume::find()->where([])->asArray()->all(), '_id', 'candidate_id'); }