예제 #1
0
 /**
  * Edits a user
  *
  * @return type
  */
 public function actionEdit()
 {
     $user = UserEditForm::findOne(['id' => Yii::$app->request->get('id')]);
     $user->initGroupSelection();
     if ($user == null) {
         throw new \yii\web\HttpException(404, Yii::t('AdminModule.controllers_UserController', 'User not found!'));
     }
     $user->scenario = 'editAdmin';
     $user->profile->scenario = 'editAdmin';
     $profile = $user->profile;
     // Build Form Definition
     $definition = [];
     $definition['elements'] = [];
     // Add User Form
     $definition['elements']['User'] = ['type' => 'form', 'title' => 'Account', 'elements' => ['username' => ['type' => 'text', 'class' => 'form-control', 'maxlength' => 25], 'email' => ['type' => 'text', 'class' => 'form-control', 'maxlength' => 100], 'groupSelection' => ['id' => 'user_edit_groups', 'type' => 'multiselectdropdown', 'items' => UserEditForm::getGroupItems()], 'status' => ['type' => 'dropdownlist', 'class' => 'form-control', 'items' => [User::STATUS_ENABLED => Yii::t('AdminModule.controllers_UserController', 'Enabled'), User::STATUS_DISABLED => Yii::t('AdminModule.controllers_UserController', 'Disabled'), User::STATUS_NEED_APPROVAL => Yii::t('AdminModule.controllers_UserController', 'Unapproved')]]]];
     // Add Profile Form
     $definition['elements']['Profile'] = array_merge(array('type' => 'form'), $profile->getFormDefinition());
     // Get Form Definition
     $definition['buttons'] = array('save' => array('type' => 'submit', 'label' => Yii::t('AdminModule.controllers_UserController', 'Save'), 'class' => 'btn btn-primary'), 'become' => array('type' => 'submit', 'label' => Yii::t('AdminModule.controllers_UserController', 'Become this user'), 'class' => 'btn btn-danger'), 'delete' => array('type' => 'submit', 'label' => Yii::t('AdminModule.controllers_UserController', 'Delete'), 'class' => 'btn btn-danger'));
     $form = new HForm($definition);
     $form->models['User'] = $user;
     $form->models['Profile'] = $profile;
     if ($form->submitted('save') && $form->validate()) {
         if ($form->save()) {
             return $this->redirect(['/admin/user']);
         }
     }
     // This feature is used primary for testing, maybe remove this in future
     if ($form->submitted('become')) {
         Yii::$app->user->switchIdentity($form->models['User']);
         return $this->redirect(Url::home());
     }
     if ($form->submitted('delete')) {
         return $this->redirect(['/admin/user/delete', 'id' => $user->id]);
     }
     return $this->render('edit', array('hForm' => $form, 'user' => $user));
 }
예제 #2
0
 /**
  * Edits a user
  *
  * @return type
  */
 public function actionEdit()
 {
     $user = User::findOne(['id' => Yii::$app->request->get('id')]);
     if ($user == null) {
         throw new \yii\web\HttpException(404, Yii::t('AdminModule.controllers_UserController', 'User not found!'));
     }
     $user->scenario = 'editAdmin';
     $user->profile->scenario = 'editAdmin';
     $profile = $user->profile;
     // Build Form Definition
     $definition = array();
     $definition['elements'] = array();
     // Add User Form
     $definition['elements']['User'] = array('type' => 'form', 'title' => 'Account', 'elements' => array('username' => array('type' => 'text', 'class' => 'form-control', 'maxlength' => 25), 'email' => array('type' => 'text', 'class' => 'form-control', 'maxlength' => 100), 'group_id' => array('type' => 'dropdownlist', 'class' => 'form-control', 'items' => \yii\helpers\ArrayHelper::map(Group::find()->all(), 'id', 'name')), 'super_admin' => array('type' => 'checkbox'), 'auth_mode' => array('type' => 'dropdownlist', 'disabled' => 'disabled', 'class' => 'form-control', 'items' => array(User::AUTH_MODE_LOCAL => Yii::t('AdminModule.controllers_UserController', 'Local'), User::AUTH_MODE_LDAP => Yii::t('AdminModule.controllers_UserController', 'LDAP'))), 'status' => array('type' => 'dropdownlist', 'class' => 'form-control', 'items' => array(User::STATUS_ENABLED => Yii::t('AdminModule.controllers_UserController', 'Enabled'), User::STATUS_DISABLED => Yii::t('AdminModule.controllers_UserController', 'Disabled'), User::STATUS_NEED_APPROVAL => Yii::t('AdminModule.controllers_UserController', 'Unapproved')))));
     // Add Profile Form
     $definition['elements']['Profile'] = array_merge(array('type' => 'form'), $profile->getFormDefinition());
     // Get Form Definition
     $definition['buttons'] = array('save' => array('type' => 'submit', 'label' => Yii::t('AdminModule.controllers_UserController', 'Save'), 'class' => 'btn btn-primary'), 'become' => array('type' => 'submit', 'label' => Yii::t('AdminModule.controllers_UserController', 'Become this user'), 'class' => 'btn btn-danger'), 'delete' => array('type' => 'submit', 'label' => Yii::t('AdminModule.controllers_UserController', 'Delete'), 'class' => 'btn btn-danger'));
     $form = new HForm($definition);
     $form->models['User'] = $user;
     $form->models['Profile'] = $profile;
     if ($form->submitted('save') && $form->validate()) {
         if ($form->save()) {
             return $this->redirect(Url::toRoute('/admin/user'));
         }
     }
     // This feature is used primary for testing, maybe remove this in future
     if ($form->submitted('become')) {
         Yii::$app->user->switchIdentity($form->models['User']);
         return $this->redirect(Url::toRoute("/"));
     }
     if ($form->submitted('delete')) {
         return $this->redirect(Url::toRoute(['/admin/user/delete', 'id' => $user->id]));
     }
     return $this->render('edit', array('hForm' => $form));
 }
 /** 
  * Edit a karma record
  */
 public function actionEdit()
 {
     $id = (int) Yii::$app->request->get('id');
     $user = User::findOne(['id' => $id]);
     $karma = Karma::findOne(['id' => $id]);
     if ($karma == null) {
         throw new \yii\web\HttpException(404, "Karma record not found!");
     }
     // Build Form Definition
     $definition = array();
     $definition['elements'] = array();
     // Define Form Eleements
     $definition['elements']['Karma'] = array('type' => 'form', 'title' => 'Karma', 'elements' => array('name' => array('type' => 'text', 'class' => 'form-control', 'maxlength' => 25), 'points' => array('type' => 'text', 'class' => 'form-control', 'maxlength' => 10), 'description' => array('type' => 'text', 'class' => 'form-control', 'maxlength' => 1000)));
     // Get Form Definition
     $definition['buttons'] = array('save' => array('type' => 'submit', 'label' => 'Save', 'class' => 'btn btn-primary'), 'delete' => array('type' => 'submit', 'label' => 'Delete', 'class' => 'btn btn-danger'));
     $form = new HForm($definition);
     $form->models['Karma'] = $karma;
     if ($form->submitted('save') && $form->validate()) {
         if ($form->save()) {
             return $this->redirect(Url::toRoute(['edit', 'id' => $karma->id]));
         }
     }
     if ($form->submitted('delete')) {
         return $this->redirect(Url::toRoute(['delete', 'id' => $karma->id]));
     }
     return $this->render('edit', array('hForm' => $form));
 }