Add public view for tasks
This commit is contained in:
@@ -140,20 +140,28 @@ abstract class Base
|
||||
* Application not found page (404 error)
|
||||
*
|
||||
* @access public
|
||||
* @param boolean $no_layout Display the layout or not
|
||||
*/
|
||||
public function notfound()
|
||||
public function notfound($no_layout = false)
|
||||
{
|
||||
$this->response->html($this->template->layout('app_notfound', array('title' => t('Page not found'))));
|
||||
$this->response->html($this->template->layout('app_notfound', array(
|
||||
'title' => t('Page not found'),
|
||||
'no_layout' => $no_layout,
|
||||
)));
|
||||
}
|
||||
|
||||
/**
|
||||
* Application forbidden page
|
||||
*
|
||||
* @access public
|
||||
* @param boolean $no_layout Display the layout or not
|
||||
*/
|
||||
public function forbidden()
|
||||
public function forbidden($no_layout = false)
|
||||
{
|
||||
$this->response->html($this->template->layout('app_forbidden', array('title' => t('Access Forbidden'))));
|
||||
$this->response->html($this->template->layout('app_forbidden', array(
|
||||
'title' => t('Access Forbidden'),
|
||||
'no_layout' => $no_layout,
|
||||
)));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -167,7 +167,7 @@ class Board extends Base
|
||||
|
||||
// Token verification
|
||||
if (! $project) {
|
||||
$this->response->text('Not Authorized', 401);
|
||||
$this->forbidden(true);
|
||||
}
|
||||
|
||||
// Display the board with a specific layout
|
||||
|
||||
@@ -25,25 +25,15 @@ class Comment extends Base
|
||||
}
|
||||
|
||||
if (! $this->acl->isAdminUser() && $comment['user_id'] != $this->acl->getUserId()) {
|
||||
$this->forbidden();
|
||||
$this->response->html($this->template->layout('comment_forbidden', array(
|
||||
'menu' => 'tasks',
|
||||
'title' => t('Access Forbidden')
|
||||
)));
|
||||
}
|
||||
|
||||
return $comment;
|
||||
}
|
||||
|
||||
/**
|
||||
* Forbidden page for comments
|
||||
*
|
||||
* @access public
|
||||
*/
|
||||
public function forbidden()
|
||||
{
|
||||
$this->response->html($this->template->layout('comment_forbidden', array(
|
||||
'menu' => 'tasks',
|
||||
'title' => t('Access Forbidden')
|
||||
)));
|
||||
}
|
||||
|
||||
/**
|
||||
* Add comment form
|
||||
*
|
||||
|
||||
@@ -46,6 +46,39 @@ class Task extends Base
|
||||
$this->response->text('FAILED');
|
||||
}
|
||||
|
||||
/**
|
||||
* Public access (display a task)
|
||||
*
|
||||
* @access public
|
||||
*/
|
||||
public function readonly()
|
||||
{
|
||||
$project = $this->project->getByToken($this->request->getStringParam('token'));
|
||||
|
||||
// Token verification
|
||||
if (! $project) {
|
||||
$this->forbidden(true);
|
||||
}
|
||||
|
||||
$task = $this->task->getById($this->request->getIntegerParam('task_id'), true);
|
||||
|
||||
if (! $task) {
|
||||
$this->notfound(true);
|
||||
}
|
||||
|
||||
$this->response->html($this->template->layout('task_public', array(
|
||||
'project' => $project,
|
||||
'comments' => $this->comment->getAll($task['id']),
|
||||
'subtasks' => $this->subTask->getAll($task['id']),
|
||||
'task' => $task,
|
||||
'columns_list' => $this->board->getColumnsList($task['project_id']),
|
||||
'colors_list' => $this->task->getColors(),
|
||||
'title' => $task['title'],
|
||||
'no_layout' => true,
|
||||
'auto_refresh' => true,
|
||||
)));
|
||||
}
|
||||
|
||||
/**
|
||||
* Show a task
|
||||
*
|
||||
@@ -56,6 +89,7 @@ class Task extends Base
|
||||
$task = $this->getTask();
|
||||
|
||||
$this->response->html($this->taskLayout('task_show', array(
|
||||
'project' => $this->project->getById($task['project_id']),
|
||||
'files' => $this->file->getAll($task['id']),
|
||||
'comments' => $this->comment->getAll($task['id']),
|
||||
'subtasks' => $this->subTask->getAll($task['id']),
|
||||
|
||||
Reference in New Issue
Block a user