| <?php |
|
|
| namespace Kanboard\Model; |
|
|
| use Kanboard\Core\Base; |
|
|
| |
| |
| |
| |
| |
| |
| class BoardModel extends Base |
| { |
| |
| |
| |
| |
| |
| |
| public function getDefaultColumns() |
| { |
| return array(t('Backlog'), t('Ready'), t('Work in progress'), t('Done')); |
| } |
|
|
| |
| |
| |
| |
| |
| |
| public function getUserColumns() |
| { |
| $column_names = array_unique(explode_csv_field($this->configModel->get('board_columns', implode(',', $this->getDefaultColumns())))); |
| $columns = array(); |
|
|
| foreach ($column_names as $column_name) { |
| $columns[] = array( |
| 'title' => $column_name, |
| 'task_limit' => 0, |
| 'description' => '', |
| 'hide_in_dashboard' => 0, |
| ); |
| } |
|
|
| return $columns; |
| } |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| public function create($project_id, array $columns) |
| { |
| $position = 0; |
|
|
| foreach ($columns as $column) { |
| $values = array( |
| 'title' => $column['title'], |
| 'position' => ++$position, |
| 'project_id' => $project_id, |
| 'task_limit' => $column['task_limit'], |
| 'description' => $column['description'], |
| 'hide_in_dashboard' => $column['hide_in_dashboard'] ?: 0, |
| ); |
|
|
| if (! $this->db->table(ColumnModel::TABLE)->save($values)) { |
| return false; |
| } |
| } |
|
|
| return true; |
| } |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| public function duplicate($project_from, $project_to) |
| { |
| $columns = $this->db->table(ColumnModel::TABLE) |
| ->columns('title', 'task_limit', 'description', 'hide_in_dashboard') |
| ->eq('project_id', $project_from) |
| ->asc('position') |
| ->findAll(); |
|
|
| return $this->boardModel->create($project_to, $columns); |
| } |
| } |
|
|