summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorFrederic Guillot <fred@kanboard.net>2015-05-21 22:28:28 -0400
committerFrederic Guillot <fred@kanboard.net>2015-05-21 22:28:28 -0400
commitc9ba525bab06eff76b1d5fb8701848d0e3990122 (patch)
treefe294f6dcd3c5a53b398118f2803f5b129922c8a /app
parent0a9b6f0d999596cb46201b7df4373fdabd683cf7 (diff)
Show swimlane dropdown only when necessary
Diffstat (limited to 'app')
-rw-r--r--app/Controller/Task.php2
-rw-r--r--app/Model/Swimlane.php9
-rw-r--r--app/Template/task/new.php2
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/>