-
- Downloads
Allow Member.add_user to handle access requesters
Changes include:
- Ensure Member.add_user is not called directly when not necessary
- New GroupMember.add_users_to_group to have the same abstraction level as for Project
- Refactor Member.add_user to take a source instead of an array of members
- Fix Rubocop offenses
- Always use Project#add_user instead of project.team.add_user
- Factorize users addition as members in Member.add_users_to_source
- Make access_level a keyword argument in GroupMember.add_users_to_group and ProjectMember.add_users_to_projects
- Destroy any requester before adding them as a member
- Improve the way we handle access requesters in Member.add_user
Instead of removing the requester and creating a new member,
we now simply accepts their access request. This way, they will
receive a "access request granted" email.
- Fix error that was previously silently ignored
- Stop raising when access level is invalid in Member, let Rails validation do their work
Signed-off-by:
Rémy Coutable <remy@rymai.me>
Showing
- app/models/group.rb 20 additions, 16 deletionsapp/models/group.rb
- app/models/member.rb 50 additions, 29 deletionsapp/models/member.rb
- app/models/members/group_member.rb 16 additions, 0 deletionsapp/models/members/group_member.rb
- app/models/members/project_member.rb 15 additions, 29 deletionsapp/models/members/project_member.rb
- app/models/project.rb 1 addition, 4 deletionsapp/models/project.rb
- app/models/project_team.rb 10 additions, 4 deletionsapp/models/project_team.rb
- db/fixtures/development/06_teams.rb 1 addition, 1 deletiondb/fixtures/development/06_teams.rb
- lib/api/members.rb 2 additions, 15 deletionslib/api/members.rb
- lib/gitlab/access.rb 4 additions, 0 deletionslib/gitlab/access.rb
- spec/controllers/projects/templates_controller_spec.rb 1 addition, 1 deletionspec/controllers/projects/templates_controller_spec.rb
- spec/factories/project_members.rb 4 additions, 19 deletionsspec/factories/project_members.rb
- spec/features/projects/members/owner_cannot_leave_project_spec.rb 1 addition, 3 deletions...tures/projects/members/owner_cannot_leave_project_spec.rb
- spec/features/projects/members/owner_cannot_request_access_to_his_project_spec.rb 1 addition, 3 deletions...embers/owner_cannot_request_access_to_his_project_spec.rb
- spec/features/projects_spec.rb 3 additions, 3 deletionsspec/features/projects_spec.rb
- spec/finders/joined_groups_finder_spec.rb 1 addition, 1 deletionspec/finders/joined_groups_finder_spec.rb
- spec/finders/projects_finder_spec.rb 1 addition, 1 deletionspec/finders/projects_finder_spec.rb
- spec/lib/gitlab/template/issue_template_spec.rb 3 additions, 3 deletionsspec/lib/gitlab/template/issue_template_spec.rb
- spec/lib/gitlab/template/merge_request_template_spec.rb 3 additions, 3 deletionsspec/lib/gitlab/template/merge_request_template_spec.rb
- spec/mailers/notify_spec.rb 26 additions, 24 deletionsspec/mailers/notify_spec.rb
- spec/models/issue_spec.rb 1 addition, 1 deletionspec/models/issue_spec.rb
Please register or sign in to comment