diff options
-rw-r--r-- | app/Controller/User.php | 9 | ||||
-rw-r--r-- | app/Template/user/index.php | 3 | ||||
-rw-r--r-- | app/Template/user/new.php | 38 | ||||
-rw-r--r-- | assets/css/app.css | 2 | ||||
-rw-r--r-- | assets/css/src/form.css | 2 | ||||
-rw-r--r-- | docs/user-management.markdown | 6 |
6 files changed, 34 insertions, 26 deletions
diff --git a/app/Controller/User.php b/app/Controller/User.php index 1a7810b0..6628bcb6 100644 --- a/app/Controller/User.php +++ b/app/Controller/User.php @@ -69,7 +69,6 @@ class User extends Base $this->response->html( $this->template->layout('user/index', array( 'board_selector' => $this->projectPermission->getAllowedProjects($this->userSession->getId()), - 'projects' => $this->project->getList(), 'title' => t('Users').' ('.$paginator->getTotal().')', 'paginator' => $paginator, ))); @@ -105,14 +104,19 @@ class User extends Base if ($valid) { + $project_id = empty($values['project_id']) ? 0 : $values['project_id']; + unset($values['project_id']); + $user_id = $this->user->create($values); if ($user_id !== false) { + $this->projectPermission->addMember($project_id, $user_id); $this->session->flash(t('User created successfully.')); $this->response->redirect($this->helper->url->to('user', 'show', array('user_id' => $user_id))); } else { $this->session->flashError(t('Unable to create your user.')); + $values['project_id'] = $project_id; } } @@ -128,7 +132,6 @@ class User extends Base { $user = $this->getUser(); $this->response->html($this->layout('user/show', array( - 'projects' => $this->projectPermission->getAllowedProjects($user['id']), 'user' => $user, 'timezones' => $this->config->getTimezones(true), 'languages' => $this->config->getLanguages(true), @@ -230,7 +233,7 @@ class User extends Base } $this->response->html($this->layout('user/notifications', array( - 'projects' => $this->projectPermission->getAllowedProjects($user['id']), + 'projects' => $this->projectPermission->getMemberProjects($user['id']), 'notifications' => $this->notification->readSettings($user['id']), 'user' => $user, ))); diff --git a/app/Template/user/index.php b/app/Template/user/index.php index 08184698..fc575466 100644 --- a/app/Template/user/index.php +++ b/app/Template/user/index.php @@ -43,9 +43,6 @@ <?= $user['twofactor_activated'] ? t('Yes') : t('No') ?> </td> <td> - <?= (isset($user['default_project_id']) && isset($projects[$user['default_project_id']])) ? $this->e($projects[$user['default_project_id']]) : t('None'); ?> - </td> - <td> <?php if ($user['notifications_enabled'] == 1): ?> <?= t('Enabled') ?> <?php else: ?> diff --git a/app/Template/user/new.php b/app/Template/user/new.php index 5c55b0bb..0db1e824 100644 --- a/app/Template/user/new.php +++ b/app/Template/user/new.php @@ -9,28 +9,36 @@ <?= $this->form->csrf() ?> - <?= $this->form->label(t('Username'), 'username') ?> - <?= $this->form->text('username', $values, $errors, array('autofocus', 'required', 'maxlength="50"')) ?><br/> + <div class="form-column"> + <?= $this->form->label(t('Username'), 'username') ?> + <?= $this->form->text('username', $values, $errors, array('autofocus', 'required', 'maxlength="50"')) ?><br/> - <?= $this->form->label(t('Name'), 'name') ?> - <?= $this->form->text('name', $values, $errors) ?><br/> + <?= $this->form->label(t('Name'), 'name') ?> + <?= $this->form->text('name', $values, $errors) ?><br/> - <?= $this->form->label(t('Email'), 'email') ?> - <?= $this->form->email('email', $values, $errors) ?><br/> + <?= $this->form->label(t('Email'), 'email') ?> + <?= $this->form->email('email', $values, $errors) ?><br/> - <?= $this->form->label(t('Password'), 'password') ?> - <?= $this->form->password('password', $values, $errors, array('required')) ?><br/> + <?= $this->form->label(t('Password'), 'password') ?> + <?= $this->form->password('password', $values, $errors, array('required')) ?><br/> - <?= $this->form->label(t('Confirmation'), 'confirmation') ?> - <?= $this->form->password('confirmation', $values, $errors, array('required')) ?><br/> + <?= $this->form->label(t('Confirmation'), 'confirmation') ?> + <?= $this->form->password('confirmation', $values, $errors, array('required')) ?><br/> + </div> + + <div class="form-column"> + <?= $this->form->label(t('Add project member'), 'project_id') ?> + <?= $this->form->select('project_id', $projects, $values, $errors) ?><br/> - <?= $this->form->label(t('Timezone'), 'timezone') ?> - <?= $this->form->select('timezone', $timezones, $values, $errors) ?><br/> + <?= $this->form->label(t('Timezone'), 'timezone') ?> + <?= $this->form->select('timezone', $timezones, $values, $errors) ?><br/> - <?= $this->form->label(t('Language'), 'language') ?> - <?= $this->form->select('language', $languages, $values, $errors) ?><br/> + <?= $this->form->label(t('Language'), 'language') ?> + <?= $this->form->select('language', $languages, $values, $errors) ?><br/> - <?= $this->form->checkbox('is_admin', t('Administrator'), 1, isset($values['is_admin']) && $values['is_admin'] == 1 ? true : false) ?> + <?= $this->form->checkbox('notifications_enabled', t('Enable notifications'), 1, isset($values['notifications_enabled']) && $values['notifications_enabled'] == 1 ? true : false) ?> + <?= $this->form->checkbox('is_admin', t('Administrator'), 1, isset($values['is_admin']) && $values['is_admin'] == 1 ? true : false) ?> + </div> <div class="form-actions"> <input type="submit" value="<?= t('Save') ?>" class="btn btn-blue"/> diff --git a/assets/css/app.css b/assets/css/app.css index 2035c877..0328d721 100644 --- a/assets/css/app.css +++ b/assets/css/app.css @@ -282,7 +282,7 @@ select:focus { } .form-actions { - margin-top: 20px; + padding-top: 20px; clear: both; } diff --git a/assets/css/src/form.css b/assets/css/src/form.css index dc101163..1c1b8ed2 100644 --- a/assets/css/src/form.css +++ b/assets/css/src/form.css @@ -77,7 +77,7 @@ select:focus { } .form-actions { - margin-top: 20px; + padding-top: 20px; clear: both; } diff --git a/docs/user-management.markdown b/docs/user-management.markdown index f26afacc..bd9cdb17 100644 --- a/docs/user-management.markdown +++ b/docs/user-management.markdown @@ -27,13 +27,13 @@ To add a new user, you must be administrator. 2. On the top, you have a link **New user** 3. Fill the form and save -When you create a new user, you have to specify those values: +![New user](http://kanboard.net/screenshots/documentation/new-user.png) + +When you create a new user, you have to specify at least those values: - **username**: This is the unique identifier of your user (login) - **password**: The password of your user must have at least 6 characters -Eventually, you can choose to assign a default project to this user and allow him to be administrator. - Edit users ---------- |