There are 3 types of course-specific role assignment rules:
- Nonassignable by client: they can only be assigned by coordinators in the management panel (default behaviour)
- Required: clients must assign at least one person to that role when proposing a project
- Optional: clients can assign people to that role when proposing a project, but they are not required to do so.
Clients can always assign more people to required and optional roles after creating the project.
This required quite a lot of changes to the way proposal creation works but it is flexible and would allow us to implement other features very easily (such as showing only contact people from that company in the dropdown, or setting a proposal template for each course).
Closes #248 (closed)