diff options
Diffstat (limited to 'app/Model')
-rw-r--r-- | app/Model/Board.php | 11 | ||||
-rw-r--r-- | app/Model/Config.php | 2 | ||||
-rw-r--r-- | app/Model/Project.php | 17 |
3 files changed, 23 insertions, 7 deletions
diff --git a/app/Model/Board.php b/app/Model/Board.php index 07020600..f8df4069 100644 --- a/app/Model/Board.php +++ b/app/Model/Board.php @@ -21,6 +21,17 @@ class Board extends Base const TABLE = 'columns'; /** + * Get Kanboard default columns + * + * @access public + * @return array + */ + public function getDefaultColumns() + { + return array(t('Backlog'), t('Ready'), t('Work in progress'), t('Done')); + } + + /** * Create a board with default columns, must be executed inside a transaction * * @access public diff --git a/app/Model/Config.php b/app/Model/Config.php index 89bcb58b..f411e3e2 100644 --- a/app/Model/Config.php +++ b/app/Model/Config.php @@ -72,7 +72,7 @@ class Config extends Base $_SESSION['config'] = $this->getAll(); } - if (isset($_SESSION['config'][$name])) { + if (! empty($_SESSION['config'][$name])) { return $_SESSION['config'][$name]; } diff --git a/app/Model/Project.php b/app/Model/Project.php index 6e75838c..0ba18498 100644 --- a/app/Model/Project.php +++ b/app/Model/Project.php @@ -496,14 +496,19 @@ class Project extends Base } $project_id = $this->db->getConnection()->getLastId(); + $column_names = explode(',', $this->config->get('default_columns', implode(',', $this->board->getDefaultColumns()))); + $columns = array(); - $this->board->create($project_id, array( - array('title' => t('Backlog'), 'task_limit' => 0), - array('title' => t('Ready'), 'task_limit' => 0), - array('title' => t('Work in progress'), 'task_limit' => 0), - array('title' => t('Done'), 'task_limit' => 0), - )); + foreach ($column_names as $column_name) { + + $column_name = trim($column_name); + + if (! empty($column_name)) { + $columns[] = array('title' => $column_name, 'task_limit' => 0); + } + } + $this->board->create($project_id, $columns); $this->db->closeTransaction(); return (int) $project_id; |