Subtasks clutter the Dashboard

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!

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:

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

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 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:

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

                    ->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

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.

2 Likes

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

1 Like

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.

1 Like

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.

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.

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!!!

1 Like

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! :wave:

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

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.

Just follow the code.

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