Assigning project to team should NOT override user's role in project
Created by: wookayin
User's role on a project is unexpectedly reset if he/she is assigned to the project as a member of a team.
Suppose We have 3 team members, M, D, and R. They are assigned to a project P with role Master, Developer, and Reporter, respectively. And these 3 guys belong in a single team, say T, with default project access 'Developer'.
In this settings, once we assign project P to the team T with max access 'Master', everybody's role is reset to Developer. (This comes from the default project access role settings) I want the guy M still remains as a master for project P. Moreover, it is recorded that all users from the team has left from project P and then joined to project P.
After the ruin, if we afterwards set M's role for project P as a master by manual, it works fine. However, if we edit the team's relation on project again, M's role is again degraded to developer! (also he left and joined project). This is painful.
Suggested correct behaviour:
- Maintain relation between team and project, and between user and project as well and in an independent manner.
- The resolved (effective) role for an user to a project is the higher of access authority among two. More specifically, if a user D has developer role and his team T has (default) master role for project P, then D's effective role for project P is master. Also, if a user M has master role and his team T has developer role for project P, then M's effective role for project P is master.
- This criteria should be preserved all the time, in a consistent manner -- whenever the team is modified (users added or removed), team-project relation is modified, or a tertiary new member has joined to the project, and so on.
Any suggestion is welcomed. Thanks.