summaryrefslogtreecommitdiff
path: root/app/Controller/Customfilter.php
diff options
context:
space:
mode:
Diffstat (limited to 'app/Controller/Customfilter.php')
-rw-r--r--app/Controller/Customfilter.php41
1 files changed, 30 insertions, 11 deletions
diff --git a/app/Controller/Customfilter.php b/app/Controller/Customfilter.php
index a152c668..41da0b11 100644
--- a/app/Controller/Customfilter.php
+++ b/app/Controller/Customfilter.php
@@ -2,6 +2,8 @@
namespace Kanboard\Controller;
+use Kanboard\Core\Security\Role;
+
/**
* Custom Filter management
*
@@ -19,7 +21,7 @@ class Customfilter extends Base
{
$project = $this->getProject();
- $this->response->html($this->projectLayout('custom_filter/index', array(
+ $this->response->html($this->helper->layout->project('custom_filter/index', array(
'values' => $values + array('project_id' => $project['id']),
'errors' => $errors,
'project' => $project,
@@ -40,14 +42,14 @@ class Customfilter extends Base
$values = $this->request->getValues();
$values['user_id'] = $this->userSession->getId();
- list($valid, $errors) = $this->customFilter->validateCreation($values);
+ list($valid, $errors) = $this->customFilterValidator->validateCreation($values);
if ($valid) {
if ($this->customFilter->create($values)) {
- $this->session->flash(t('Your custom filter have been created successfully.'));
+ $this->flash->success(t('Your custom filter have been created successfully.'));
$this->response->redirect($this->helper->url->to('customfilter', 'index', array('project_id' => $project['id'])));
} else {
- $this->session->flashError(t('Unable to create your custom filter.'));
+ $this->flash->failure(t('Unable to create your custom filter.'));
}
}
@@ -55,6 +57,23 @@ class Customfilter extends Base
}
/**
+ * Confirmation dialog before removing a custom filter
+ *
+ * @access public
+ */
+ public function confirm()
+ {
+ $project = $this->getProject();
+ $filter = $this->customFilter->getById($this->request->getIntegerParam('filter_id'));
+
+ $this->response->html($this->helper->layout->project('custom_filter/remove', array(
+ 'project' => $project,
+ 'filter' => $filter,
+ 'title' => t('Remove a custom filter')
+ )));
+ }
+
+ /**
* Remove a custom filter
*
* @access public
@@ -68,9 +87,9 @@ class Customfilter extends Base
$this->checkPermission($project, $filter);
if ($this->customFilter->remove($filter['id'])) {
- $this->session->flash(t('Custom filter removed successfully.'));
+ $this->flash->success(t('Custom filter removed successfully.'));
} else {
- $this->session->flashError(t('Unable to remove this custom filter.'));
+ $this->flash->failure(t('Unable to remove this custom filter.'));
}
$this->response->redirect($this->helper->url->to('customfilter', 'index', array('project_id' => $project['id'])));
@@ -88,7 +107,7 @@ class Customfilter extends Base
$this->checkPermission($project, $filter);
- $this->response->html($this->projectLayout('custom_filter/edit', array(
+ $this->response->html($this->helper->layout->project('custom_filter/edit', array(
'values' => empty($values) ? $filter : $values,
'errors' => $errors,
'project' => $project,
@@ -119,14 +138,14 @@ class Customfilter extends Base
$values += array('append' => 0);
}
- list($valid, $errors) = $this->customFilter->validateModification($values);
+ list($valid, $errors) = $this->customFilterValidator->validateModification($values);
if ($valid) {
if ($this->customFilter->update($values)) {
- $this->session->flash(t('Your custom filter have been updated successfully.'));
+ $this->flash->success(t('Your custom filter have been updated successfully.'));
$this->response->redirect($this->helper->url->to('customfilter', 'index', array('project_id' => $project['id'])));
} else {
- $this->session->flashError(t('Unable to update custom filter.'));
+ $this->flash->failure(t('Unable to update custom filter.'));
}
}
@@ -137,7 +156,7 @@ class Customfilter extends Base
{
$user_id = $this->userSession->getId();
- if ($filter['user_id'] != $user_id && (! $this->projectPermission->isManager($project['id'], $user_id) || ! $this->userSession->isAdmin())) {
+ if ($filter['user_id'] != $user_id && ($this->projectUserRole->getUserRole($project['id'], $user_id) === Role::PROJECT_MANAGER || ! $this->userSession->isAdmin())) {
$this->forbidden();
}
}