-
Type:
Bug
-
Resolution: Unresolved
-
None
-
Affects Version/s: None
-
Component/s: Task Management, User Management
-
Critical
-
Loading users for tasks may lead to excessive full scans and per-row subquery execution, slowing down the DB. This is optimised.
-
Emptyshow more show less
Problem
The current SQL query that retrieves users with their assigned tasks runs extremely slowly (up to 500 seconds in production).
More over users in the list are not filtered according to permissions.
Solution
Redo list building that will also respect permissions of logged in user.
To do so set of rules should be checked:
- List should contain only users that have some jobs in tasks.
- Only those users that belong to allowed for user tasks (those that are in overview) can be in list.
- Admin should be able able to see all users.
- PM can see all simple users + coordinators of top coordinator groups
- Client PM can see all simple users in tasks of his clients or he is PM of task + coordinators of top coordinator groups in tasks of his clients or he is PM of task + simple users of tasks where he is editor if task not anonymised
- Light PM can see all simple users in tasks where he is PM + coordinators of top coordinator groups in tasks where he is PM + simple users of tasks where he is editor if task not anonymised
- Coordinator can see only users of his coordinator group and Coordinator of his direct sub-groups
- Coordinator group user can see only users of his coordinator group if task not anonymised
- Simple editor can see simple users if task not anonymised. If editor assigned as PM of a task: simple users in tasks where he is PM + coordinators of top coordinator groups in tasks where he is PM
Front End Testing
Ensure that task overview filtering does now as described above.