[BB-6575] Backend: Tag support
Story
"As a member of a team, I want tags relevant to that team so that I can have my checklists filtered and customized for me."
Full description
In order to support the use case of the Sprint Checkin form, we need the ability to tag users with their roles. Since a user may belong to multiple teams, these tags should be on the leaf table (the ManyToMany through model) of users and teams. This will likely require the creation of a custom Through model and a migration.
Add views to add tags to users in relation to their team. Add the ability for a checklist task definition to be bound to matching a tag. When a run is created in a recurrence, and each user is given a copy of the checklist, make sure those tasks which are bound to a tag are only added if the user matches that tag.
Completion criteria
- API Views to add and remove tags to team members are added
- API views for adding tag constraints to a task definition are added
- The admin views are updated to enable these features
- Checklists from runs use these features
Documentation updates & improvements criteria
- Add to the docs (README, or otherwise, if other documentation is complete) this feature and how to set it up in the Admin