Enable/Disable users

This commit is contained in:
Frederic Guillot
2016-02-13 15:38:35 -05:00
parent 567d623446
commit 6161eaef9e
31 changed files with 541 additions and 72 deletions

View File

@@ -24,7 +24,7 @@ class Projectuser extends Base
$project_ids = $this->projectPermission->getActiveProjectIds($this->userSession->getId());
}
return array($user_id, $project_ids, $this->user->getList(true));
return array($user_id, $project_ids, $this->user->getActiveUsersList(true));
}
private function role($role, $action, $title, $title_user)
@@ -33,7 +33,7 @@ class Projectuser extends Base
$query = $this->projectPermission->getQueryByRole($project_ids, $role)->callback(array($this->project, 'applyColumnStats'));
if ($user_id !== UserModel::EVERYBODY_ID) {
if ($user_id !== UserModel::EVERYBODY_ID && isset($users[$user_id])) {
$query->eq(UserModel::TABLE.'.id', $user_id);
$title = t($title_user, $users[$user_id]);
}
@@ -59,7 +59,7 @@ class Projectuser extends Base
$query = $this->taskFinder->getProjectUserOverviewQuery($project_ids, $is_active);
if ($user_id !== UserModel::EVERYBODY_ID) {
if ($user_id !== UserModel::EVERYBODY_ID && isset($users[$user_id])) {
$query->eq(TaskModel::TABLE.'.owner_id', $user_id);
$title = t($title_user, $users[$user_id]);
}

View File

@@ -32,7 +32,8 @@ class User extends Base
$this->helper->layout->app('user/index', array(
'title' => t('Users').' ('.$paginator->getTotal().')',
'paginator' => $paginator,
)));
)
));
}
/**
@@ -404,30 +405,4 @@ class User extends Base
'user' => $user,
)));
}
/**
* Remove a user
*
* @access public
*/
public function remove()
{
$user = $this->getUser();
if ($this->request->getStringParam('confirmation') === 'yes') {
$this->checkCSRFParam();
if ($this->user->remove($user['id'])) {
$this->flash->success(t('User removed successfully.'));
} else {
$this->flash->failure(t('Unable to remove this user.'));
}
$this->response->redirect($this->helper->url->to('user', 'index'));
}
$this->response->html($this->helper->layout->user('user/remove', array(
'user' => $user,
)));
}
}

View File

@@ -0,0 +1,111 @@
<?php
namespace Kanboard\Controller;
/**
* User Status Controller
*
* @package controller
* @author Frederic Guillot
*/
class UserStatus extends Base
{
/**
* Confirm remove a user
*
* @access public
*/
public function confirmRemove()
{
$user = $this->getUser();
$this->response->html($this->helper->layout->user('user_status/remove', array(
'user' => $user,
)));
}
/**
* Remove a user
*
* @access public
*/
public function remove()
{
$user = $this->getUser();
$this->checkCSRFParam();
if ($this->user->remove($user['id'])) {
$this->flash->success(t('User removed successfully.'));
} else {
$this->flash->failure(t('Unable to remove this user.'));
}
$this->response->redirect($this->helper->url->to('user', 'index'));
}
/**
* Confirm enable a user
*
* @access public
*/
public function confirmEnable()
{
$user = $this->getUser();
$this->response->html($this->helper->layout->user('user_status/enable', array(
'user' => $user,
)));
}
/**
* Enable a user
*
* @access public
*/
public function enable()
{
$user = $this->getUser();
$this->checkCSRFParam();
if ($this->user->enable($user['id'])) {
$this->flash->success(t('User activated successfully.'));
} else {
$this->flash->failure(t('Unable to enable this user.'));
}
$this->response->redirect($this->helper->url->to('user', 'index'));
}
/**
* Confirm disable a user
*
* @access public
*/
public function confirmDisable()
{
$user = $this->getUser();
$this->response->html($this->helper->layout->user('user_status/disable', array(
'user' => $user,
)));
}
/**
* Disable a user
*
* @access public
*/
public function disable()
{
$user = $this->getUser();
$this->checkCSRFParam();
if ($this->user->disable($user['id'])) {
$this->flash->success(t('User disabled successfully.'));
} else {
$this->flash->failure(t('Unable to disable this user.'));
}
$this->response->redirect($this->helper->url->to('user', 'index'));
}
}