• Status New
  • Percent Complete
  • Task Type Bug Report
  • Category Backend/Core
  • Assigned To No-one
  • Operating System All
  • Severity Low
  • Priority Low
  • Reported Version 1.0 devel (github master)
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Flyspray
Opened by peterdd - 26.02.2016

FS#2104 - filtering by one user on tasks with multiple assignees shows only this user

If you have a tasklist with tasks that have multiple assignees in a task and you search just by one of the assignees, the resulting tasklist shows only this user in the assignees column.

Expected: all assignees of the tasks are shown.

Project Manager

This requires a bit rewriting of the SQL query in the get_task_list() function of class.backend.php for that case.

A solution is using a subquery with 2 GROUP BY for instance for MySQL:

SELECT t.task_id, GROUP_CONCAT(u.real_name SEPARATOR ', ') assignees
FROM flyspray_tasks t
  SELECT ti.task_id
  FROM flyspray_tasks ti
  JOIN flyspray_assigned a ON a.task_id=ti.task_id
  WHERE ti.project_id =?
  AND ti.is_closed=0
  AND a.user_id=?
  GROUP BY ti.task_id
) tid ON tid.task_id=t.task_id
JOIN flyspray_assigned a ON a.task_id=t.task_id
LEFT JOIN flyspray_users u ON u.user_id=a.user_id
GROUP BY t.task_id
ORDER BY t.task_priority DESC, t.task_id ASC LIMIT 5

But there are also other solutions possible like using IN() or doing 2 separate queries.

The different solutions should be tested with test data (100k tasks) if there are performance penalties and tested with Postgresql and MySQL/MariaDB (MyISAM,Innodb) and query plan analysis.

Project Manager

A similiar problem appears to the tag feature since tags are also used for filtering by the text search.

(since Flyspray 1.0-rc10)


Available keyboard shortcuts


Task Details

Task Editing