diff options
author | Frederic Guillot <fred@kanboard.net> | 2015-05-21 22:28:28 -0400 |
---|---|---|
committer | Frederic Guillot <fred@kanboard.net> | 2015-05-21 22:28:28 -0400 |
commit | c9ba525bab06eff76b1d5fb8701848d0e3990122 (patch) | |
tree | fe294f6dcd3c5a53b398118f2803f5b129922c8a /app | |
parent | 0a9b6f0d999596cb46201b7df4373fdabd683cf7 (diff) |
Show swimlane dropdown only when necessary
Diffstat (limited to 'app')
-rw-r--r-- | app/Controller/Task.php | 2 | ||||
-rw-r--r-- | app/Model/Swimlane.php | 9 | ||||
-rw-r--r-- | app/Template/task/new.php | 2 |
3 files changed, 10 insertions, 3 deletions
diff --git a/app/Controller/Task.php b/app/Controller/Task.php index 060a478c..c2e66245 100644 --- a/app/Controller/Task.php +++ b/app/Controller/Task.php @@ -113,7 +113,7 @@ class Task extends Base { $project = $this->getProject(); $method = $this->request->isAjax() ? 'render' : 'layout'; - $swimlanes_list = $this->swimlane->getList($project['id']); + $swimlanes_list = $this->swimlane->getList($project['id'], false, true); if (empty($values)) { diff --git a/app/Model/Swimlane.php b/app/Model/Swimlane.php index cf2103c2..cfd6d4a7 100644 --- a/app/Model/Swimlane.php +++ b/app/Model/Swimlane.php @@ -189,9 +189,10 @@ class Swimlane extends Base * @access public * @param integer $project_id Project id * @param boolean $prepend Prepend default value + * @param boolean $only_active Return only active swimlanes * @return array */ - public function getList($project_id, $prepend = false) + public function getList($project_id, $prepend = false, $only_active = false) { $swimlanes = array(); $default = $this->db->table(Project::TABLE)->eq('id', $project_id)->eq('show_default_swimlane', 1)->findOneColumn('default_swimlane'); @@ -204,7 +205,11 @@ class Swimlane extends Base $swimlanes[0] = $default === 'Default swimlane' ? t($default) : $default; } - return $swimlanes + $this->db->hashtable(self::TABLE)->eq('project_id', $project_id)->orderBy('position', 'asc')->getAll('id', 'name'); + return $swimlanes + $this->db->hashtable(self::TABLE) + ->eq('project_id', $project_id) + ->in('is_active', $only_active ? array(self::ACTIVE) : array(self::ACTIVE, self::INACTIVE)) + ->orderBy('position', 'asc') + ->getAll('id', 'name'); } /** diff --git a/app/Template/task/new.php b/app/Template/task/new.php index 4bfb8064..37294c89 100644 --- a/app/Template/task/new.php +++ b/app/Template/task/new.php @@ -54,8 +54,10 @@ <?= $this->formLabel(t('Category'), 'category_id') ?> <?= $this->formSelect('category_id', $categories_list, $values, $errors) ?><br/> + <?php if (! (count($swimlanes_list) === 1 && key($swimlanes_list) === 0)): ?> <?= $this->formLabel(t('Swimlane'), 'swimlane_id') ?> <?= $this->formSelect('swimlane_id', $swimlanes_list, $values, $errors) ?><br/> + <?php endif ?> <?= $this->formLabel(t('Column'), 'column_id') ?> <?= $this->formSelect('column_id', $columns_list, $values, $errors) ?><br/> |