# Subtasks clutter the Dashboard

**URL:** <https://kanboard.discourse.group/t/subtasks-clutter-the-dashboard/360>\
**Category:** Questions\
**Created:** [April 29, 2019, 2:42pm UTC](https://kanboard.discourse.group/t/subtasks-clutter-the-dashboard/360 "2019-04-29T14:42:13Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![xenadmin](https://yyz2.discourse-cdn.com/free1/user_avatar/kanboard.discourse.group/xenadmin/32/163_2.png) [@xenadmin](https://kanboard.discourse.group/u/xenadmin)\
**Post date:** [April 29, 2019, 2:42pm UTC](https://kanboard.discourse.group/t/subtasks-clutter-the-dashboard/360/1 "2019-04-29T14:42:13Z")

</div>

We use Kanboard for a while now in our company, and since day 1 I have and issue with the use of subtasks. I like the idea to separate a task into subtasks, but I dislike them for cluttering the dashboard. In an ideal world, I would be assigned several task-cards which consist of several subtasks. All the Kanban-Tasks would be set with due-dates, so I could use the dashboard to see “my work day” and so on. But as soon as I finish different subtasks across all my tasks, the dashboard gets kind of useless, because I still see everything I’ve already done. In my opinion I should only see what I didn’t do and what I have to do today or tomorrow. I find it confusing to see all the “Done” stuff. Can you follow me? What’s your opinion about this? Should this be invisible or a filter to show “subtask:open” for example.  
Thank you for this great project!

---

<div class="post-metadata">

**Author:** ![creecros](https://yyz2.discourse-cdn.com/free1/user_avatar/kanboard.discourse.group/creecros/32/156_2.png) [@creecros](https://kanboard.discourse.group/u/creecros)\
**Post date:** [April 29, 2019, 2:58pm UTC](https://kanboard.discourse.group/t/subtasks-clutter-the-dashboard/360/2 "2019-04-29T14:58:00Z")

</div>

The dashboard doesn’t actually show “Subtasks” it shows “Tasks” and then renders all the subtasks that are related to it, I think that’s your problem. You could change that behavior after line 3 here:

> <https://github.com/kanboard/kanboard/blob/master/app/Template/task_list/task_subtasks.php>

by adding the condition for status of the subtask. It’d be a simple override of a template plugin.

---

<div class="post-metadata">

**Author:** ![creecros](https://yyz2.discourse-cdn.com/free1/user_avatar/kanboard.discourse.group/creecros/32/156_2.png) [@creecros](https://kanboard.discourse.group/u/creecros)\
**Post date:** [April 29, 2019, 3:10pm UTC](https://kanboard.discourse.group/t/subtasks-clutter-the-dashboard/360/3 "2019-04-29T15:10:25Z")

</div>

and in case you are wondering what that looks like, you’d just be wrapping the contents of the foreach loop with the if statement, like below:

```php
<?php foreach ($task['subtasks'] as $subtask): ?>
      <?php if ($subtask['status'] != 2): ?>
        <div class="task-list-subtask">
            <span class="subtask-cell column-50">
                <?= $this->subtask->renderToggleStatus($task, $subtask, 'rows', isset($user_id) ? $user_id : 0) ?>
            </span>
            <span class="subtask-cell column-20 subtask-assignee">
                <?php if (! empty($subtask['username'])): ?>
                    <?= $this->text->e($subtask['name'] ?: $subtask['username']) ?>
                <?php endif ?>
            </span>
            <span class="subtask-cell subtask-time-tracking-cell">
                <?= $this->render('subtask/timer', array(
                    'task' => $task,
                    'subtask' => $subtask,
                )) ?>
            </span>
        </div>
      <?php endif ?>
    <?php endforeach ?>

```

and you would no longer see “done” subtasks in the overview at all.

And to note: Although you will no longer see any “done” subtasks, the “Task” will still show up on your overview, if the “done” subtask is assigneed to you and the task is still open, as the previous behavior, but that too could be changed, by overriding the taskfindermodel, and changing this function:

> <https://github.com/kanboard/kanboard/blob/11b6bf6d25668b8bb9d0304c30f803f8194ab1d8/app/Model/TaskFinderModel.php#L60>

so that it only finds subtasks that are active, and not “done”, by changing line 65 to:

```auto
                    ->addCondition(TaskModel::TABLE.".id IN (SELECT task_id FROM ".SubtaskModel::TABLE." WHERE ".SubtaskModel::TABLE.".user_id='$user_id' AND status!=2)")

```

And it doesn’t really end there, does it…because now it does exactly what you are asking for, but still counts them…

![image](https://global.discourse-cdn.com/free1/uploads/kanboard1/original/1X/6fe5b42caf3ed4b91a1b74b563baecbd6d868bbe.png)

just doesn’t show them…but I’ve done enough without actually doing it for you, so I’ll let you figure out the rest from there.

---

<div class="post-metadata">

**Author:** ![marcelo986](https://avatars.discourse-cdn.com/v4/letter/m/bc8723/32.png) [@marcelo986](https://kanboard.discourse.group/u/marcelo986)\
**Post date:** [May 14, 2019, 8:24pm UTC](https://kanboard.discourse.group/t/subtasks-clutter-the-dashboard/360/4 "2019-05-14T20:24:36Z")

</div>

Create subtasks in categories not resolve this ? creecros make this for me ! its work !

---

<div class="post-metadata">

**Author:** ![creecros](https://yyz2.discourse-cdn.com/free1/user_avatar/kanboard.discourse.group/creecros/32/156_2.png) [@creecros](https://kanboard.discourse.group/u/creecros)\
**Post date:** [May 14, 2019, 10:24pm UTC](https://kanboard.discourse.group/t/subtasks-clutter-the-dashboard/360/5 "2019-05-14T22:24:25Z")

</div>

Lol, I think I’ve slowly reached my limit of doing things for unresponsive folks. People who want my help need to hold a conversation before I consider it.

---

<div class="post-metadata">

**Author:** ![xenadmin](https://yyz2.discourse-cdn.com/free1/user_avatar/kanboard.discourse.group/xenadmin/32/163_2.png) [@xenadmin](https://kanboard.discourse.group/u/xenadmin)\
**Post date:** [May 15, 2019, 7:06am UTC](https://kanboard.discourse.group/t/subtasks-clutter-the-dashboard/360/6 "2019-05-15T07:06:18Z")

</div>

Thank you very much @creecros. That’s a lot if input I have to consider, HTML and PHP is not my world, but I should get it done. Internally we are still discussing whether to user subtasks or not. We are thinking about not using them at all. But if we might, we will evaluate your suggestion before.

---

<div class="post-metadata">

**Author:** ![creecros](https://yyz2.discourse-cdn.com/free1/user_avatar/kanboard.discourse.group/creecros/32/156_2.png) [@creecros](https://kanboard.discourse.group/u/creecros)\
**Post date:** [May 15, 2019, 11:11am UTC](https://kanboard.discourse.group/t/subtasks-clutter-the-dashboard/360/7 "2019-05-15T11:11:35Z")

</div>

I use 2 project boards, 1 for my projects and one for my tasks. I then use internal links back to the project task it relates too. Same idea as a tasks with subtasks, but this way the subtasks can go through their own workflow. Not sure if that makes sense, or helps you, but I always found that to be the best way for me.

---

<div class="post-metadata">

**Author:** ![gregvides](https://avatars.discourse-cdn.com/v4/letter/g/bbe5ce/32.png) [@gregvides](https://kanboard.discourse.group/u/gregvides)\
**Post date:** [April 4, 2020, 1:50pm UTC](https://kanboard.discourse.group/t/subtasks-clutter-the-dashboard/360/8 "2020-04-04T13:50:59Z")

</div>

I really thank you! I am using KanBoard in the last days and I am really amazed if it, and this function to hide done subtasks at DashBoard is exatly what I was looking for!!! THANK YOU!!!

---

<div class="post-metadata">

**Author:** ![kandroid](https://yyz2.discourse-cdn.com/free1/user_avatar/kanboard.discourse.group/kandroid/32/1844_2.png) [@kandroid](https://kanboard.discourse.group/u/kandroid)\
**Post date:** [April 4, 2024, 8:51am UTC](https://kanboard.discourse.group/t/subtasks-clutter-the-dashboard/360/9 "2024-04-04T08:51:33Z")

</div>

> [@creecros](#):
>
> Although you will no longer see any “done” subtasks, the “Task” will still show up on your overview, if the “done” subtask is assigneed to you and the task is still open, as the previous behavior, but that too could be changed, by overriding the taskfindermodel, and changing this function

Hi,  
Thanks for your code changes. I’ve applied them and I like them!  
But originally I was invesigating if that’s possible:  
_Regarding subtasks on dashboard - show only tasks with unfinished subtasks assigned to me._  
I was hoping your code changes matche this need but it appeared, that task with closed subtasks still shows on the dashboard untill it’s closed.  
Do you think it would be possible to hide such tasks?

BTW: Hi all! That’s my first post here. I’ve been using kanboard within IT team for years, but now going out of IT to more general use (yes: because of Trello changing it’s pricing model) needed to dive into your community.  
Thank you! 👋

---

<div class="post-metadata">

**Author:** ![creecros](https://yyz2.discourse-cdn.com/free1/user_avatar/kanboard.discourse.group/creecros/32/156_2.png) [@creecros](https://kanboard.discourse.group/u/creecros)\
**Post date:** [April 4, 2024, 10:43am UTC](https://kanboard.discourse.group/t/subtasks-clutter-the-dashboard/360/10 "2024-04-04T10:43:26Z")

</div>

It would be hard to imagine a scenario of something that cant be done. Is this a “how do i do it” question?

---

<div class="post-metadata">

**Author:** ![kandroid](https://yyz2.discourse-cdn.com/free1/user_avatar/kanboard.discourse.group/kandroid/32/1844_2.png) [@kandroid](https://kanboard.discourse.group/u/kandroid)\
**Post date:** [April 8, 2024, 7:21am UTC](https://kanboard.discourse.group/t/subtasks-clutter-the-dashboard/360/11 "2024-04-08T07:21:50Z")

</div>

> [@creecros](#):
>
> app/Template/task\_list/task\_subtasks.php

I think rather of some clues. That should be sufficient.  
I’ve tried modifications in app/Model/TaskFinderModel.php, but despite different approaches I couldn’t hide any task (not subtask).  
It looks like populating tasks is managed somewhere else. I couldn’t find this place.

---

<div class="post-metadata">

**Author:** ![creecros](https://yyz2.discourse-cdn.com/free1/user_avatar/kanboard.discourse.group/creecros/32/156_2.png) [@creecros](https://kanboard.discourse.group/u/creecros)\
**Post date:** [April 8, 2024, 10:58am UTC](https://kanboard.discourse.group/t/subtasks-clutter-the-dashboard/360/12 "2024-04-08T10:58:16Z")

</div>

Just follow the code.

> <https://github.com/kanboard/kanboard/blob/5142507b8af09f804e288fa5286e216e9118c8f2/app/Template/task_list/listing.php#L13>

---

<div class="post-metadata">

**Author:** ![kandroid](https://yyz2.discourse-cdn.com/free1/user_avatar/kanboard.discourse.group/kandroid/32/1844_2.png) [@kandroid](https://kanboard.discourse.group/u/kandroid)\
**Post date:** [April 11, 2024, 8:53am UTC](https://kanboard.discourse.group/t/subtasks-clutter-the-dashboard/360/13 "2024-04-11T08:53:40Z")

</div>

Thank you! Filtering tasks based on subtasks assignment seems tricky. Will come here if we manage this.
