diff options
Diffstat (limited to 'app/Controller')
| -rw-r--r-- | app/Controller/ActionController.php | 1 | ||||
| -rw-r--r-- | app/Controller/ActionCreationController.php | 1 | ||||
| -rw-r--r-- | app/Controller/BoardAjaxController.php | 9 | ||||
| -rw-r--r-- | app/Controller/BoardTooltipController.php | 5 | ||||
| -rw-r--r-- | app/Controller/CommentController.php | 20 | ||||
| -rw-r--r-- | app/Controller/TaskViewController.php | 4 | ||||
| -rw-r--r-- | app/Controller/UserCredentialController.php | 17 | 
7 files changed, 45 insertions, 12 deletions
diff --git a/app/Controller/ActionController.php b/app/Controller/ActionController.php index 097640f6..c935125a 100644 --- a/app/Controller/ActionController.php +++ b/app/Controller/ActionController.php @@ -33,6 +33,7 @@ class ActionController extends BaseController              'colors_list' => $this->colorModel->getList(),              'categories_list' => $this->categoryModel->getList($project['id']),              'links_list' => $this->linkModel->getList(0, false), +            'swimlane_list' => $this->swimlaneModel->getList($project['id']),              'title' => t('Automatic actions')          )));      } diff --git a/app/Controller/ActionCreationController.php b/app/Controller/ActionCreationController.php index 9b228f28..1629e68f 100644 --- a/app/Controller/ActionCreationController.php +++ b/app/Controller/ActionCreationController.php @@ -84,6 +84,7 @@ class ActionCreationController extends BaseController              'priorities_list' => $this->projectTaskPriorityModel->getPriorities($project),              'project' => $project,              'available_actions' => $this->actionManager->getAvailableActions(), +            'swimlane_list' => $this->swimlaneModel->getList($project['id']),              'events' => $this->actionManager->getCompatibleEvents($values['action_name']),          )));      } diff --git a/app/Controller/BoardAjaxController.php b/app/Controller/BoardAjaxController.php index 9b721f06..ccd47667 100644 --- a/app/Controller/BoardAjaxController.php +++ b/app/Controller/BoardAjaxController.php @@ -4,6 +4,7 @@ namespace Kanboard\Controller;  use Kanboard\Core\Controller\AccessForbiddenException;  use Kanboard\Formatter\BoardFormatter; +use Kanboard\Model\UserMetadataModel;  /**   * Class BoardAjaxController @@ -88,7 +89,7 @@ class BoardAjaxController extends BaseController       */      public function collapse()      { -        $this->changeDisplayMode(true); +        $this->changeDisplayMode(1);      }      /** @@ -98,19 +99,19 @@ class BoardAjaxController extends BaseController       */      public function expand()      { -        $this->changeDisplayMode(false); +        $this->changeDisplayMode(0);      }      /**       * Change display mode       *       * @access private -     * @param  boolean $mode +     * @param  int $mode       */      private function changeDisplayMode($mode)      {          $project_id = $this->request->getIntegerParam('project_id'); -        $this->userSession->setBoardDisplayMode($project_id, $mode); +        $this->userMetadataCacheDecorator->set(UserMetadataModel::KEY_BOARD_COLLAPSED.$project_id, $mode);          if ($this->request->isAjax()) {              $this->response->html($this->renderBoard($project_id)); diff --git a/app/Controller/BoardTooltipController.php b/app/Controller/BoardTooltipController.php index 134d728e..79b9b509 100644 --- a/app/Controller/BoardTooltipController.php +++ b/app/Controller/BoardTooltipController.php @@ -2,6 +2,8 @@  namespace Kanboard\Controller; +use Kanboard\Model\UserMetadataModel; +  /**   * Board Tooltip   * @@ -75,10 +77,11 @@ class BoardTooltipController extends BaseController      public function comments()      {          $task = $this->getTask(); +        $commentSortingDirection = $this->userMetadataCacheDecorator->get(UserMetadataModel::KEY_COMMENT_SORTING_DIRECTION, 'ASC');          $this->response->html($this->template->render('board/tooltip_comments', array(              'task' => $task, -            'comments' => $this->commentModel->getAll($task['id'], $this->userSession->getCommentSorting()) +            'comments' => $this->commentModel->getAll($task['id'], $commentSortingDirection)          )));      } diff --git a/app/Controller/CommentController.php b/app/Controller/CommentController.php index 2a8c258a..c61a0602 100644 --- a/app/Controller/CommentController.php +++ b/app/Controller/CommentController.php @@ -4,6 +4,7 @@ namespace Kanboard\Controller;  use Kanboard\Core\Controller\AccessForbiddenException;  use Kanboard\Core\Controller\PageNotFoundException; +use Kanboard\Model\UserMetadataModel;  /**   * Comment Controller @@ -82,10 +83,10 @@ class CommentController extends BaseController                  $this->flash->failure(t('Unable to create your comment.'));              } -            return $this->response->redirect($this->helper->url->to('TaskViewController', 'show', array('task_id' => $task['id'], 'project_id' => $task['project_id']), 'comments'), true); +            $this->response->redirect($this->helper->url->to('TaskViewController', 'show', array('task_id' => $task['id'], 'project_id' => $task['project_id']), 'comments'), true); +        } else { +            $this->create($values, $errors);          } - -        return $this->create($values, $errors);      }      /** @@ -183,9 +184,16 @@ class CommentController extends BaseController      {          $task = $this->getTask(); -        $order = $this->userSession->getCommentSorting() === 'ASC' ? 'DESC' : 'ASC'; -        $this->userSession->setCommentSorting($order); +        $oldDirection = $this->userMetadataCacheDecorator->get(UserMetadataModel::KEY_COMMENT_SORTING_DIRECTION, 'ASC'); +        $newDirection = $oldDirection === 'ASC' ? 'DESC' : 'ASC'; -        $this->response->redirect($this->helper->url->to('TaskViewController', 'show', array('task_id' => $task['id'], 'project_id' => $task['project_id']), 'comments')); +        $this->userMetadataCacheDecorator->set(UserMetadataModel::KEY_COMMENT_SORTING_DIRECTION, $newDirection); + +        $this->response->redirect($this->helper->url->to( +            'TaskViewController', +            'show', +            array('task_id' => $task['id'], 'project_id' => $task['project_id']), +            'comments' +        ));      }  } diff --git a/app/Controller/TaskViewController.php b/app/Controller/TaskViewController.php index 36597457..31b9de11 100644 --- a/app/Controller/TaskViewController.php +++ b/app/Controller/TaskViewController.php @@ -4,6 +4,7 @@ namespace Kanboard\Controller;  use Kanboard\Core\Controller\AccessForbiddenException;  use Kanboard\Core\Controller\PageNotFoundException; +use Kanboard\Model\UserMetadataModel;  /**   * Task Controller @@ -61,13 +62,14 @@ class TaskViewController extends BaseController      {          $task = $this->getTask();          $subtasks = $this->subtaskModel->getAll($task['id']); +        $commentSortingDirection = $this->userMetadataCacheDecorator->get(UserMetadataModel::KEY_COMMENT_SORTING_DIRECTION, 'ASC');          $this->response->html($this->helper->layout->task('task/show', array(              'task' => $task,              'project' => $this->projectModel->getById($task['project_id']),              'files' => $this->taskFileModel->getAllDocuments($task['id']),              'images' => $this->taskFileModel->getAllImages($task['id']), -            'comments' => $this->commentModel->getAll($task['id'], $this->userSession->getCommentSorting()), +            'comments' => $this->commentModel->getAll($task['id'], $commentSortingDirection),              'subtasks' => $subtasks,              'internal_links' => $this->taskLinkModel->getAllGroupedByLabel($task['id']),              'external_links' => $this->taskExternalLinkModel->getAll($task['id']), diff --git a/app/Controller/UserCredentialController.php b/app/Controller/UserCredentialController.php index 4021dc37..98fe967d 100644 --- a/app/Controller/UserCredentialController.php +++ b/app/Controller/UserCredentialController.php @@ -106,4 +106,21 @@ class UserCredentialController extends BaseController          return $this->changeAuthentication($values, $errors);      } + +    /** +     * Unlock user +     */ +    public function unlock() +    { +        $user = $this->getUser(); +        $this->checkCSRFParam(); + +        if ($this->userLockingModel->resetFailedLogin($user['username'])) { +            $this->flash->success(t('User unlocked successfully.')); +        } else { +            $this->flash->failure(t('Unable to unlock the user.')); +        } + +        $this->response->redirect($this->helper->url->to('UserViewController', 'show', array('user_id' => $user['id']))); +    }  }  | 
