Refactor: make lab filter global and remove build lab filter #1698
+49
−159
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Changes
The lab filter now works the same way as the hardware filter in the treeDetails page, meaning that filtering for a test lab will also filter just for builds that contain tests with that specific lab - although the builds themselves might not be related to the lab directly
How to test
Check the treeDetails and hardwareDetails page, filtering by the card and the filter modal. Also check the commit graph.
For the hardware build fix, this is not seen on production since it happens with a specific filter behavior, which is when you filter tests and gather only the builds related to those tests (this is the behavior for the hardware filter on tree details and now the lab filter as well). In those cases, it might happen that a build is related to multiple tests, one that fits the lab filter and another that doesn't; if the row with the test that doesn't fit the lab filter is processed first, the old code would mark the build as processed and would not return its data. In the new code, a test that doesn't fit the filter won't mark the build as processed, meaning that it will keep searching until the test + build fits the filter and only then the build is marked as processed.
In the local database, you can check the behavior on this page
Closes #1679