예제 #1
0
 /**
  * @param bool $performValidation
  *
  * @return bool
  */
 public function changePassword($performValidation = true)
 {
     if ($performValidation and !$this->validate()) {
         return false;
     }
     $this->user->password = $this->password;
     $this->user->removeConfirmationToken();
     return $this->user->save();
 }
 /**
  * @param bool $performValidation
  *
  * @return bool
  */
 public function sendEmail($performValidation = true)
 {
     if ($performValidation and !$this->validate()) {
         return false;
     }
     $this->user->generateConfirmationToken();
     $this->user->save(false);
     return Yii::$app->mailer->compose(Yii::$app->getModule('user-management')->mailerOptions['passwordRecoveryFormViewFile'], ['user' => $this->user])->setFrom(Yii::$app->getModule('user-management')->mailerOptions['from'])->setTo($this->email)->setSubject(UserManagementModule::t('front', 'Password reset for') . ' ' . Yii::$app->name)->send();
 }
예제 #3
0
 /**
  * Check if user has access to current route
  *
  * @param Action $action the action to be executed.
  *
  * @return boolean whether the action should continue to be executed.
  */
 public function beforeAction($action)
 {
     if ($action->id == 'captcha') {
         return true;
     }
     $route = '/' . $action->uniqueId;
     if (Route::isFreeAccess($route, $action)) {
         return true;
     }
     if (Yii::$app->user->isGuest) {
         $this->denyAccess();
     }
     // If user has been deleted, then destroy session and redirect to home page
     if (!Yii::$app->user->isGuest and Yii::$app->user->identity === null) {
         Yii::$app->getSession()->destroy();
         $this->denyAccess();
     }
     // Superadmin owns everyone
     if (Yii::$app->user->isSuperadmin) {
         return true;
     }
     if (Yii::$app->user->identity and Yii::$app->user->identity->status != User::STATUS_ACTIVE) {
         Yii::$app->user->logout();
         Yii::$app->getResponse()->redirect(Yii::$app->getHomeUrl());
     }
     if (User::canRoute($route)) {
         return true;
     }
     if (isset($this->denyCallback)) {
         call_user_func($this->denyCallback, null, $action);
     } else {
         $this->denyAccess();
     }
     return false;
 }
 public function safeDown()
 {
     $user = User::findByUsername('superadmin');
     if ($user) {
         $user->delete();
     }
 }
예제 #5
0
 /**
  * Finds user by [[username]]
  * @return User|null
  */
 public function getUser()
 {
     if ($this->_user === false) {
         $this->_user = User::findByUsername($this->username);
     }
     return $this->_user;
 }
예제 #6
0
 /**
  * Hide link if user hasn't access to it
  *
  * @inheritdoc
  */
 public static function a($text, $url = null, $options = [])
 {
     if (in_array($url, [null, '', '#'])) {
         return parent::a($text, $url, $options);
     }
     return User::canRoute($url) ? parent::a($text, $url, $options) : '';
 }
예제 #7
0
 /**
  * Finds user by [[username]]
  * @return User|null
  */
 public function getUser()
 {
     if ($this->_user === false) {
         $u = new \Yii::$app->user->identityClass();
         $this->_user = $u instanceof User ? $u->findByUsername($this->username) : User::findByUsername($this->username);
     }
     return $this->_user;
 }
예제 #8
0
 /**
  * List of items for backend side menu
  *
  * @return array
  */
 public static function getSideMenuItems()
 {
     $output = ['17' => ['label' => '<i class="fa fa-pagelines"></i> ' . ContentModule::t('app', 'Page templates'), 'url' => ['/content/content-template/index'], 'visible' => Yii::$app->getModule('content')->enableTemplates && User::canRoute(['/content/content-template/index'])], '18' => ['label' => '<i class="fa fa-code-fork"></i> ' . ContentModule::t('app', 'Template widgets'), 'url' => ['/content/content-template-widget/index'], 'visible' => Yii::$app->getModule('content')->enableTemplates && User::canRoute(['/content/content-template-widget/index'])], '19' => ['label' => '<i class="fa fa-table"></i> ' . ContentModule::t('app', 'Manage menus'), 'url' => ['/content/content-menu/index']]];
     $menus = ContentMenu::getListOfMenus();
     krsort($menus);
     foreach ($menus as $menu) {
         array_unshift($output, $menu);
     }
     return $output;
 }
예제 #9
0
 /**
  * @param int $id User ID
  *
  * @throws \yii\web\NotFoundHttpException
  * @return string
  */
 public function actionChangePassword($id)
 {
     $model = User::findOne($id);
     if (!$model) {
         throw new NotFoundHttpException('User not found');
     }
     $model->scenario = 'changePassword';
     if ($model->load(Yii::$app->request->post()) && $model->save()) {
         return $this->redirect(['view', 'id' => $model->id]);
     }
     return $this->renderIsAjax('changePassword', compact('model'));
 }
예제 #10
0
 public function search($params)
 {
     $query = User::find();
     $query->with(['roles']);
     if (!Yii::$app->user->isSuperadmin) {
         $query->where(['superadmin' => 0]);
     }
     $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => ['pageSize' => Yii::$app->request->cookies->getValue('_grid_page_size', 20)], 'sort' => ['defaultOrder' => ['id' => SORT_DESC]]]);
     if (!($this->load($params) && $this->validate())) {
         return $dataProvider;
     }
     if ($this->gridRoleSearch) {
         $query->joinWith(['roles']);
     }
     $query->andFilterWhere(['id' => $this->id, 'superadmin' => $this->superadmin, 'status' => $this->status, Yii::$app->getModule('user-management')->auth_item_table . '.name' => $this->gridRoleSearch, 'registration_ip' => $this->registration_ip, 'created_at' => $this->created_at, 'updated_at' => $this->updated_at, 'email_confirmed' => $this->email_confirmed]);
     $query->andFilterWhere(['like', 'username', $this->username])->andFilterWhere(['like', 'email', $this->email]);
     return $dataProvider;
 }
예제 #11
0
 /**
  * @param array $items
  *
  * @return bool
  */
 protected function ensureVisibility(&$items)
 {
     $allVisible = false;
     foreach ($items as &$item) {
         if (isset($item['url']) and !in_array($item['url'], ['', '#']) and !isset($item['visible'])) {
             $item['visible'] = User::canRoute($item['url']);
         }
         if (isset($item['items'])) {
             // If not children are visible - make invisible this node
             if (!$this->ensureVisibility($item['items']) and !isset($item['visible'])) {
                 $item['visible'] = false;
             }
         }
         if (isset($item['label']) and (!isset($item['visible']) or $item['visible'] === true)) {
             $allVisible = true;
         }
     }
     return $allVisible;
 }
예제 #12
0
 /**
  * @param int $id - User ID
  *
  * @return \yii\web\Response
  */
 public function actionSetRoles($id)
 {
     if (!Yii::$app->user->isSuperadmin and Yii::$app->user->id == $id) {
         Yii::$app->session->setFlash('error', UserManagementModule::t('back', 'You can not change own permissions'));
         return $this->redirect(['set', 'id' => $id]);
     }
     $oldAssignments = array_keys(Role::getUserRoles($id));
     // To be sure that user didn't attempt to assign himself some unavailable roles
     $newAssignments = array_intersect(Role::getAvailableRoles(Yii::$app->user->isSuperAdmin, true), Yii::$app->request->post('roles', []));
     $toAssign = array_diff($newAssignments, $oldAssignments);
     $toRevoke = array_diff($oldAssignments, $newAssignments);
     foreach ($toRevoke as $role) {
         User::revokeRole($id, $role);
     }
     foreach ($toAssign as $role) {
         User::assignRole($id, $role);
     }
     Yii::$app->session->setFlash('success', UserManagementModule::t('back', 'Saved'));
     return $this->redirect(['set', 'id' => $id]);
 }
예제 #13
0
 public function search($params)
 {
     $query = UserVisitLog::find();
     $query->joinWith(['user']);
     // Don't let non-superadmin view superadmin activity
     if (!Yii::$app->user->isSuperadmin) {
         $query->andWhere([User::tableName() . '.superadmin' => 0]);
     }
     $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => ['pageSize' => Yii::$app->request->cookies->getValue('_grid_page_size', 20)], 'sort' => ['defaultOrder' => ['id' => SORT_DESC]]]);
     if (!($this->load($params) && $this->validate())) {
         return $dataProvider;
     }
     if ($this->visit_time) {
         $tmp = explode(' - ', $this->visit_time);
         if (isset($tmp[0], $tmp[1])) {
             $query->andFilterWhere(['between', static::tableName() . '.visit_time', strtotime($tmp[0]), strtotime($tmp[1])]);
         }
     }
     $query->andFilterWhere([$this->tableName() . '.id' => $this->id]);
     $query->andFilterWhere(['like', User::tableName() . '.username', $this->user_id])->andFilterWhere(['like', static::tableName() . '.ip', $this->ip])->andFilterWhere(['like', static::tableName() . '.os', $this->os])->andFilterWhere(['like', static::tableName() . '.browser', $this->browser])->andFilterWhere(['like', static::tableName() . '.language', $this->language]);
     return $dataProvider;
 }
예제 #14
0
?>
				</div>
			</div>


			<?php 
Pjax::begin(['id' => 'user-grid-pjax']);
?>

			<?php 
echo GridView::widget(['id' => 'user-grid', 'dataProvider' => $dataProvider, 'pager' => ['options' => ['class' => 'pagination pagination-sm'], 'hideOnSinglePage' => true, 'lastPageLabel' => '>>', 'firstPageLabel' => '<<'], 'filterModel' => $searchModel, 'layout' => '{items}<div class="row"><div class="col-sm-8">{pager}</div><div class="col-sm-4 text-right">{summary}' . GridBulkActions::widget(['gridId' => 'user-grid', 'actions' => [Url::to(['bulk-activate', 'attribute' => 'status']) => GridBulkActions::t('app', 'Activate'), Url::to(['bulk-deactivate', 'attribute' => 'status']) => GridBulkActions::t('app', 'Deactivate'), '----' => [Url::to(['bulk-delete']) => GridBulkActions::t('app', 'Delete')]]]) . '</div></div>', 'columns' => [['class' => 'yii\\grid\\SerialColumn', 'options' => ['style' => 'width:10px']], ['class' => 'webvimark\\components\\StatusColumn', 'attribute' => 'superadmin', 'visible' => Yii::$app->user->isSuperadmin], ['attribute' => 'username', 'value' => function (User $model) {
    return Html::a($model->username, ['view', 'id' => $model->id], ['data-pjax' => 0]);
}, 'format' => 'raw'], ['attribute' => 'email', 'format' => 'raw', 'visible' => User::hasPermission('viewUserEmail')], ['class' => 'webvimark\\components\\StatusColumn', 'attribute' => 'email_confirmed', 'visible' => User::hasPermission('viewUserEmail')], ['attribute' => 'gridRoleSearch', 'filter' => ArrayHelper::map(Role::getAvailableRoles(Yii::$app->user->isSuperAdmin), 'name', 'description'), 'value' => function (User $model) {
    return implode(', ', ArrayHelper::map($model->roles, 'name', 'description'));
}, 'format' => 'raw', 'visible' => User::hasPermission('viewUserRoles')], ['attribute' => 'registration_ip', 'value' => function (User $model) {
    return Html::a($model->registration_ip, "http://ipinfo.io/" . $model->registration_ip, ["target" => "_blank"]);
}, 'format' => 'raw', 'visible' => User::hasPermission('viewRegistrationIp')], ['value' => function (User $model) {
    return GhostHtml::a(UserManagementModule::t('back', 'Roles and permissions'), ['/user-management/user-permission/set', 'id' => $model->id], ['class' => 'btn btn-sm btn-primary', 'data-pjax' => 0]);
}, 'format' => 'raw', 'visible' => User::canRoute('/user-management/user-permission/set'), 'options' => ['width' => '10px']], ['value' => function (User $model) {
    return GhostHtml::a(UserManagementModule::t('back', 'Change password'), ['change-password', 'id' => $model->id], ['class' => 'btn btn-sm btn-default', 'data-pjax' => 0]);
}, 'format' => 'raw', 'options' => ['width' => '10px']], ['class' => 'webvimark\\components\\StatusColumn', 'attribute' => 'status', 'optionsArray' => [[User::STATUS_ACTIVE, UserManagementModule::t('back', 'Active'), 'success'], [User::STATUS_INACTIVE, UserManagementModule::t('back', 'Inactive'), 'warning'], [User::STATUS_BANNED, UserManagementModule::t('back', 'Banned'), 'danger']]], ['class' => 'yii\\grid\\CheckboxColumn', 'options' => ['style' => 'width:10px']], ['class' => 'yii\\grid\\ActionColumn', 'contentOptions' => ['style' => 'width:70px; text-align:center;']]]]);
?>

			<?php 
Pjax::end();
?>

		</div>
	</div>
</div>
예제 #15
0
 public function actionAction()
 {
     if (User::hasRole('admin')) {
         //\Yii::trace('### ### ### Тест лога');
         //Проверяем был ли выбрана комманда
         $ids = Yii::$app->request->post('ActionForm');
         //\Yii::trace(Yii::$app->request->post('ActionForm'));
         //Проверяем, выбран ли пустой id, если да, то как будто только открыли
         if ($ids and ArrayHelper::isIn('', $ids)) {
             $ids = null;
         }
         //Для проверки отправки запроса получаем значение
         $page = Yii::$app->request->post('adr');
         if ($ids) {
             //Если выбран ID
             $model = $this->findModel($ids);
             return $this->render('action', ['model' => $model, 'ghide' => 1, 'gadr' => '10.24.2.188', 'guser' => '', 'gpass' => '', 'gid' => $model->id, 'gcommand' => $model->actionstring, 'gparams' => $model->params, 'pagein' => '', 'pageout' => '']);
         } elseif ($page) {
             //Если отправлен запрос
             $ids = Yii::$app->request->post('id');
             $model = $this->findModel($ids);
             $vagon = new Vagon();
             $pagein = 'http://' . Yii::$app->request->post('adr') . '/crq?req=' . Yii::$app->request->post('string') . '&' . Yii::$app->request->post('params');
             $user = Yii::$app->request->post('user');
             $pass = Yii::$app->request->post('pass');
             return $this->render('action', ['model' => $model, 'ghide' => 2, 'gadr' => Yii::$app->request->post('adr'), 'guser' => $user, 'gpass' => $pass, 'gid' => $model->id, 'gcommand' => Yii::$app->request->post('string'), 'gparams' => Yii::$app->request->post('params'), 'pagein' => $pagein, 'pageout' => $vagon->getCurlOut($pagein, $user, $pass)]);
         } else {
             //Если форму только открыли
             return $this->render('action', ['model' => new ActionForm(), 'ghide' => 0, 'gadr' => '', 'guser' => '', 'gpass' => '', 'gid' => '', 'gcommand' => '', 'gparams' => '', 'pagein' => '', 'pageout' => '']);
         }
     } else {
         throw new NotFoundHttpException('Страница не найдена.');
     }
 }
예제 #16
0
파일: User.php 프로젝트: gpis88ce/Gpis88ce
 /**
  * Check that there is no such confirmed E-mail in the system
  */
 public function validateEmailConfirmedUnique()
 {
     if ($this->email) {
         $exists = User::findOne(['email' => $this->email, 'email_confirmed' => 1]);
         if ($exists and $exists->id != $this->id) {
             $this->addError('email', UserManagementModule::t('front', 'This E-mail already exists'));
         }
     }
 }
예제 #17
0
 protected function changeRoleAction($model)
 {
     if (!($user = User::findOne(['username' => $model->profile_id]))) {
         return;
     }
     switch ($model->role) {
         case 'admin':
             User::assignRole($user->id, 'unicredQuestionListSystemAdmin');
             User::revokeRole($user->id, 'unicredQuestionListSystemCommercialDirector');
             User::revokeRole($user->id, 'unicredQuestionListSystemManager');
             break;
         case 'manager':
             User::assignRole($user->id, 'unicredQuestionListSystemManager');
             User::revokeRole($user->id, 'unicredQuestionListSystemCommercialDirector');
             User::revokeRole($user->id, 'unicredQuestionListSystemAdmin');
             break;
         case 'empl':
             User::assignRole($user->id, 'unicredQuestionListSystemManager');
             User::revokeRole($user->id, 'unicredQuestionListSystemCommercialDirector');
             User::revokeRole($user->id, 'unicredQuestionListSystemAdmin');
             break;
         case 'comdir':
             User::assignRole($user->id, 'unicredQuestionListSystemCommercialDirector');
             User::revokeRole($user->id, 'unicredQuestionListSystemManager');
             User::revokeRole($user->id, 'unicredQuestionListSystemAdmin');
             break;
     }
 }
예제 #18
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getUser()
 {
     return $this->hasOne(User::className(), ['id' => 'user_id']);
 }
예제 #19
0
                <div class="pull-left info">
                    <p><?php 
    echo Yii::$app->user->identity->username;
    ?>
</p>
                    <?php 
    echo Html::a('<i class="fa fa-circle text-success"></i>' . Yii::t('app', 'Online'), ['/user/profile']);
    ?>
                </div>
            </div>
        <?php 
}
?>

        <?php 
$adminSiteMenu[0] = ['label' => 'MAIN NAVIGATION', 'options' => ['class' => 'header'], 'template' => '{label}'];
$adminSiteMenu[1] = ['label' => 'Dashboard', 'icon' => 'fa fa-dashboard', 'items' => [['icon' => 'fa fa-circle-o', 'label' => 'Home', 'url' => ['/site/index']]]];
$adminSiteMenu[2] = ['label' => 'BADGE AND MULTILEVEL', 'options' => ['class' => 'header'], 'template' => '{label}'];
$adminSiteMenu[3] = ['label' => 'Multilevel', 'icon' => 'fa fa-share', 'options' => ['class' => 'treeview'], 'items' => [['icon' => 'fa fa-circle-o', 'label' => 'Level One', 'url' => '#'], ['icon' => 'fa fa-circle-o', 'label' => 'Level One', 'url' => '#', 'items' => [['icon' => 'fa fa-circle-o', 'label' => 'Badge', 'url' => '#', 'badge' => '2'], ['icon' => 'fa fa-circle-o', 'label' => 'Badge red', 'url' => '#', 'badge' => '2', 'badgeBgClass' => 'bg-red'], ['icon' => 'fa fa-circle-o', 'label' => 'Badge options', 'url' => '#', 'badge' => '2', 'badgeOptions' => ['class' => 'label pull-right bg-yellow']]]], ['icon' => 'fa fa-circle-o', 'label' => 'Level One', 'url' => '#']]];
$adminSiteMenu[4] = ['label' => Yii::t('app', 'Security'), 'icon' => 'fa fa-shield', 'options' => ['class' => 'treeview'], 'items' => [['icon' => 'fa fa-users', 'label' => Yii::t('app', 'Users'), 'options' => ['class' => 'treeview'], 'url' => Yii::$app->urlManager->createUrl('/user-management/user'), 'active' => Yii::$app->controller->id == 'user' && Yii::$app->controller->action->id == 'index' ? true : false, 'visible' => User::hasPermission('viewUsers', true)], ['icon' => 'fa fa-circle-o', 'label' => Yii::t('app', 'Roles'), 'options' => ['class' => 'treeview'], 'url' => Yii::$app->urlManager->createUrl('/user-management/role'), 'active' => Yii::$app->controller->id == 'role' && Yii::$app->controller->action->id == 'index' ? true : false, 'visible' => User::hasPermission('viewRoles', true)], ['icon' => 'fa fa-key', 'label' => Yii::t('app', 'Permissions'), 'options' => ['class' => 'treeview'], 'url' => Yii::$app->urlManager->createUrl('/user-management/permission'), 'active' => Yii::$app->controller->id == 'permission' && Yii::$app->controller->action->id == 'index' ? true : false, 'visible' => User::hasPermission('viewPermissions', true)], ['icon' => 'fa fa-circle-o', 'label' => Yii::t('app', 'Visit Log'), 'options' => ['class' => 'treeview'], 'url' => Yii::$app->urlManager->createUrl('/user-management/user-visit-log'), 'active' => Yii::$app->controller->id == 'user-visit-log' && Yii::$app->controller->action->id == 'index' ? true : false, 'visible' => User::hasPermission('viewVisitLog', true)]]];
$adminSiteMenu[5] = ['label' => 'LABELS', 'options' => ['class' => 'header'], 'template' => '{label}'];
$adminSiteMenu[6] = ['icon' => 'fa fa-circle-o text-aqua', 'label' => 'Information', 'url' => '#'];
$adminSiteMenu[7] = ['icon' => 'fa fa-circle-o text-yellow', 'label' => 'Warning', 'url' => '#'];
$adminSiteMenu[8] = ['icon' => 'fa fa-circle-o text-red', 'label' => 'Important', 'url' => '#'];
// Sort the menu
ksort($adminSiteMenu);
echo MainSidebar::widget(['items' => $adminSiteMenu]);
?>
    </section>
</aside>
 /**
  * Creates a default header view of an log entry
  *
  * @param $logModel
  *      the log entry
  * @param $behavior
  *      the LoggableBehavior instance of this log entry
  * @return string
  *      default header view of an log entry
  * @throws Exception
  *      if a param is null
  */
 public static function createLogEntryHeader($behavior, $logModel)
 {
     if (!is_null($behavior) && !is_null($logModel)) {
         $user = User::findOne(["id" => $logModel->created_by]);
         $action = $logModel->action;
         $date = $logModel->created_at;
         $action = $behavior->getActionType($action);
         $output = self::$icons[$action];
         switch ($action) {
             case self::ACTION_CREATE:
                 $output .= '&emsp;Erstellt';
                 break;
             case self::ACTION_UPDATE:
                 $output .= '&emsp;Bearbeitet';
                 break;
             case self::ACTION_VIEW:
                 $output .= '&emsp;Angesehen';
                 break;
             case self::ACTION_DELETE:
                 $output .= '&emsp;Gelöscht';
                 break;
         }
         $output .= ' von <b>' . $user->username . '</b><div class="pull-right">' . date('d.m.y, H:i', $date) . '</div>';
         return $output;
     }
     throw new Exception('Params are null!');
 }
예제 #21
0
 /**
  * Updates an existing AnswerList model.
  * For ajax request will return json object
  * and for non-ajax request if update is successful, the browser will be redirected to the 'view' page.
  * @param integer $id
  * @return mixed
  */
 public function actionUpdate($id)
 {
     $request = Yii::$app->request;
     $model = $this->findModel($id);
     $modelsQuestionList = QuestionList::find()->all();
     $questionLists = ArrayHelper::map($modelsQuestionList, 'id', 'title');
     $statusList = $model->statusList;
     $viewName = 'update';
     // коммерческий директор может только менять статус опросного листа
     if (!User::hasRole(['unicredQuestionListSystemAdmin'])) {
         $viewName = 'update_status';
         unset($statusList['answered']);
     }
     $modelsOffice = Office::find()->all();
     $DoList = ArrayHelper::map($modelsOffice, 'id', 'name');
     if ($request->isAjax) {
         /*
          *   Process for ajax request
          */
         Yii::$app->response->format = Response::FORMAT_JSON;
         if ($request->isGet) {
             return ['title' => "Update AnswerList #" . $id, 'content' => $this->renderAjax($viewName, ['model' => $model, 'questionLists' => $questionLists, 'DoList' => $DoList, 'statusList' => $statusList]), 'footer' => Html::button('Close', ['class' => 'btn btn-default pull-left', 'data-dismiss' => "modal"]) . Html::button('Save', ['class' => 'btn btn-primary', 'type' => "submit"])];
         } else {
             if ($model->load($request->post())) {
                 $model->list_name = $model->questionList->title;
                 if ($model->save()) {
                     return $this->redirect(['index']);
                 }
                 /*if ($model->save()) return [
                       'forceReload'=>'#crud-datatable-pjax',
                       'title'=> "AnswerList #".$id,
                       'content'=>$this->renderAjax('view', [
                           'model' => $model,
                           'questionLists' => $questionLists,
                           'DoList' => $DoList,
                           'answersDataProvider' => new ArrayDataProvider([
                               'allModels' => $model->answers,
                           ]),
                       ]),
                       'footer'=> Html::button('Close',['class'=>'btn btn-default pull-left','data-dismiss'=>"modal"]).
                               Html::a('Edit',['update','id'=>$id],['class'=>'btn btn-primary','role'=>'modal-remote'])
                   ];*/
             } else {
                 return ['title' => "Update AnswerList #" . $id, 'content' => $this->renderAjax($viewName, ['model' => $model, 'questionLists' => $questionLists, 'DoList' => $DoList, 'statusList' => $statusList]), 'footer' => Html::button('Close', ['class' => 'btn btn-default pull-left', 'data-dismiss' => "modal"]) . Html::button('Save', ['class' => 'btn btn-primary', 'type' => "submit"])];
             }
         }
     } else {
         /*
          *   Process for non-ajax request
          */
         if ($model->load($request->post())) {
             $model->list_name = $model->questionList->title;
             if ($model->save()) {
                 return $this->redirect(['view', 'id' => $model->id]);
             }
         } else {
             return $this->render($viewName, ['model' => $model, 'questionLists' => $questionLists, 'DoList' => $DoList, 'statusList' => $statusList]);
         }
     }
 }
예제 #22
0
 * @var $widget webvimark\ybc\content\models\ContentTemplateWidget
 */
use webvimark\modules\UserManagement\models\User;
use yii\helpers\Html;
?>

<div class="widget-element" data-widget-id="<?php 
echo $widget->id;
?>
">
	<div class="panel panel-warning">
		<div class="panel-heading">
			<strong>

				<?php 
if ($widget->has_settings == 1 && $widget->link_to_settings && User::canRoute(Yii::$app->homeUrl . ltrim($widget->link_to_settings, '/'))) {
    ?>
					<?php 
    echo Html::a("<i class='fa fa-cogs'></i>", Yii::$app->homeUrl . ltrim($widget->link_to_settings, '/'), ['target' => '_blank', 'class' => 'tn']);
    ?>

				<?php 
} else {
    ?>
					<i class='fa fa-th'></i>

				<?php 
}
?>

				<span>
예제 #23
0
 /**
  * Receive token, find user by it and confirm email
  *
  * @param string $token
  *
  * @throws \yii\web\NotFoundHttpException
  * @return string|\yii\web\Response
  */
 public function actionConfirmEmailReceive($token)
 {
     $user = User::findByConfirmationToken($token);
     if (!$user) {
         throw new NotFoundHttpException(UserManagementModule::t('front', 'Token not found. It may be expired'));
     }
     $user->email_confirmed = 1;
     $user->removeConfirmationToken();
     $user->save(false);
     return $this->renderIsAjax('confirmEmailSuccess', compact('user'));
 }
예제 #24
0
파일: _form.php 프로젝트: gpis88ce/Gpis88ce

	<?php 
if (User::hasPermission('bindUserToIp')) {
    ?>

		<?php 
    echo $form->field($model, 'bind_to_ip')->textInput(['maxlength' => 255])->hint(UserManagementModule::t('back', 'For example: 123.34.56.78, 168.111.192.12'));
    ?>

	<?php 
}
?>

	<?php 
if (User::hasPermission('editUserEmail')) {
    ?>

		<?php 
    echo $form->field($model, 'email')->textInput(['maxlength' => 255]);
    ?>
		<?php 
    echo $form->field($model, 'email_confirmed')->checkbox();
    ?>

	<?php 
}
?>


	<div class="form-group">
예제 #25
0
파일: view.php 프로젝트: gpis88ce/Gpis88ce
echo $this->title;
?>
</h2>

	<div class="panel panel-default">
		<div class="panel-body">

		    <p>
			<?php 
echo GhostHtml::a(UserManagementModule::t('back', 'Edit'), ['update', 'id' => $model->id], ['class' => 'btn btn-sm btn-primary']);
?>
			<?php 
echo GhostHtml::a(UserManagementModule::t('back', 'Create'), ['create'], ['class' => 'btn btn-sm btn-success']);
?>
			<?php 
echo GhostHtml::a(UserManagementModule::t('back', 'Roles and permissions'), ['/user-management/user-permission/set', 'id' => $model->id], ['class' => 'btn btn-sm btn-default']);
?>

			<?php 
echo GhostHtml::a(UserManagementModule::t('back', 'Delete'), ['delete', 'id' => $model->id], ['class' => 'btn btn-sm btn-danger pull-right', 'data' => ['confirm' => UserManagementModule::t('back', 'Are you sure you want to delete this user?'), 'method' => 'post']]);
?>
		    </p>

			<?php 
echo DetailView::widget(['model' => $model, 'attributes' => ['id', ['attribute' => 'status', 'value' => User::getStatusValue($model->status)], 'username', ['attribute' => 'email', 'value' => $model->email, 'format' => 'email', 'visible' => User::hasPermission('viewUserEmail')], ['attribute' => 'email_confirmed', 'value' => $model->email_confirmed, 'format' => 'boolean', 'visible' => User::hasPermission('viewUserEmail')], ['label' => UserManagementModule::t('back', 'Roles'), 'value' => implode('<br>', ArrayHelper::map(Role::getUserRoles($model->id), 'name', 'description')), 'visible' => User::hasPermission('viewUserRoles'), 'format' => 'raw'], ['attribute' => 'bind_to_ip', 'visible' => User::hasPermission('bindUserToIp')], array('attribute' => 'registration_ip', 'value' => Html::a($model->registration_ip, "http://ipinfo.io/" . $model->registration_ip, ["target" => "_blank"]), 'format' => 'raw', 'visible' => User::hasPermission('viewRegistrationIp')), 'created_at:datetime', 'updated_at:datetime']]);
?>

		</div>
	</div>
</div>
예제 #26
0
 /**
  * Check received confirmation token and if user found - activate it, set username, roles and log him in
  *
  * @param string $token
  *
  * @return bool|User
  */
 public function checkConfirmationToken($token)
 {
     $user = User::findInactiveByConfirmationToken($token);
     if ($user) {
         $user->username = $user->email;
         $user->status = User::STATUS_ACTIVE;
         $user->email_confirmed = 1;
         $user->removeConfirmationToken();
         $user->save(false);
         $roles = (array) Yii::$app->getModule(\Yii::$app->user->moduleAliasName)->rolesAfterRegistration;
         foreach ($roles as $role) {
             User::assignRole($user->id, $role);
         }
         Yii::$app->user->login($user);
         return $user;
     }
     return false;
 }
예제 #27
0
파일: system.php 프로젝트: robky/tb
?>
      <title><?php 
echo Html::encode($this->title);
?>
</title>
      <?php 
$this->head();
?>
   </head>
   <body>          
      <div class="wrap">
         <?php 
$this->beginBody();
NavBar::begin(['brandLabel' => 'TisBOX', 'brandUrl' => Yii::$app->homeUrl, 'renderInnerContainer' => FALSE, 'options' => ['class' => 'navbar-inverse navbar-fixed-top']]);
echo Nav::widget(['options' => ['class' => 'navbar-nav navbar-right', 'style' => 'padding-right: 40px'], 'items' => [User::hasRole('admin') ? ['label' => 'Админка', 'items' => [['label' => 'Test', 'url' => ['system/test']], ['label' => 'УСПД', 'url' => ['system/action']], ['label' => 'Данные', 'url' => ['system/out']], ['label' => 'Получить', 'url' => ['system/in']], ['label' => 'Дерево', 'url' => ['/tree']]]] : '', ['label' => Yii::$app->user->identity->username, 'items' => [['label' => 'Выход', 'url' => ['/user-management/auth/logout']]]]]]);
echo Nav::widget(['options' => ['class' => 'navbar-nav navbar-right', 'style' => 'padding-right: 40px'], 'items' => [User::hasRole('admin') ? ['label' => 'Таблица', 'items' => [['label' => 'Сборщики', 'url' => ['/table/usd']], ['label' => 'Приборы', 'url' => ['/table/device']], ['label' => 'Каналы', 'url' => ['/table/data-list']]]] : '']]);
NavBar::end();
?>
         <div class="container-fluid" style="padding-top: 60px">
            <div class="row">
               <div class="sidebar col-md-2">
                  <?php 
/* Sidebar content */
echo Nav::widget(['encodeLabels' => false, 'options' => ['class' => 'nav-pills nav-stacked'], 'items' => [['label' => '<span class="glyphicon glyphicon-tasks"></span> &nbsp; Данные', 'url' => ['system/data']], ['label' => '<span class="glyphicon glyphicon-print"></span> &nbsp; Отчеты', 'url' => ['#']], ['label' => '<span class="glyphicon glyphicon-import"></span> &nbsp; Импорт', 'url' => ['system/import']], ['label' => '<span class="glyphicon glyphicon-export"></span> &nbsp; Экспорт', 'url' => ['system/export']], ['label' => '<span class="glyphicon glyphicon-wrench"></span> &nbsp; Настройки', 'url' => ['#']]]]);
?>
                  <p></p>

                  <?php 
/*
 //Строка поиска
 ActiveForm::begin(