diff options
author | Frederic Guillot <fred@kanboard.net> | 2016-03-05 17:40:49 -0500 |
---|---|---|
committer | Frederic Guillot <fred@kanboard.net> | 2016-03-05 17:40:49 -0500 |
commit | 22c5e32def94560881ad9ec032158cd570be44f4 (patch) | |
tree | 7cfe346a2b7d384c9cdcd143693bc8189ac18259 /app/Controller/Action.php | |
parent | a19dc88567e6869b9082064e70db380f84032cef (diff) |
Improve automatic action creation
Diffstat (limited to 'app/Controller/Action.php')
-rw-r--r-- | app/Controller/Action.php | 94 |
1 files changed, 1 insertions, 93 deletions
diff --git a/app/Controller/Action.php b/app/Controller/Action.php index 6c324324..8881e8ec 100644 --- a/app/Controller/Action.php +++ b/app/Controller/Action.php @@ -3,7 +3,7 @@ namespace Kanboard\Controller; /** - * Automatic actions management + * Automatic Actions * * @package controller * @author Frederic Guillot @@ -38,98 +38,6 @@ class Action extends Base } /** - * Choose the event according to the action (step 2) - * - * @access public - */ - public function event() - { - $project = $this->getProject(); - $values = $this->request->getValues(); - - if (empty($values['action_name']) || empty($values['project_id'])) { - $this->response->redirect($this->helper->url->to('action', 'index', array('project_id' => $project['id']))); - } - - $this->response->html($this->helper->layout->project('action/event', array( - 'values' => $values, - 'project' => $project, - 'events' => $this->actionManager->getCompatibleEvents($values['action_name']), - 'title' => t('Automatic actions') - ))); - } - - /** - * Define action parameters (step 3) - * - * @access public - */ - public function params() - { - $project = $this->getProject(); - $values = $this->request->getValues(); - - if (empty($values['action_name']) || empty($values['project_id']) || empty($values['event_name'])) { - $this->response->redirect($this->helper->url->to('action', 'index', array('project_id' => $project['id']))); - } - - $action = $this->actionManager->getAction($values['action_name']); - $action_params = $action->getActionRequiredParameters(); - - if (empty($action_params)) { - $this->doCreation($project, $values + array('params' => array())); - } - - $projects_list = $this->projectUserRole->getActiveProjectsByUser($this->userSession->getId()); - unset($projects_list[$project['id']]); - - $this->response->html($this->helper->layout->project('action/params', array( - 'values' => $values, - 'action_params' => $action_params, - 'columns_list' => $this->column->getList($project['id']), - 'users_list' => $this->projectUserRole->getAssignableUsersList($project['id']), - 'projects_list' => $projects_list, - 'colors_list' => $this->color->getList(), - 'categories_list' => $this->category->getList($project['id']), - 'links_list' => $this->link->getList(0, false), - 'project' => $project, - 'title' => t('Automatic actions') - ))); - } - - /** - * Create a new action (last step) - * - * @access public - */ - public function create() - { - $this->doCreation($this->getProject(), $this->request->getValues()); - } - - /** - * Save the action - * - * @access private - * @param array $project Project properties - * @param array $values Form values - */ - private function doCreation(array $project, array $values) - { - list($valid, ) = $this->actionValidator->validateCreation($values); - - if ($valid) { - if ($this->action->create($values) !== false) { - $this->flash->success(t('Your automatic action have been created successfully.')); - } else { - $this->flash->failure(t('Unable to create your automatic action.')); - } - } - - $this->response->redirect($this->helper->url->to('action', 'index', array('project_id' => $project['id']))); - } - - /** * Confirmation dialog before removing an action * * @access public |