• Rémy Coutable's avatar
    Allow Member.add_user to handle access requesters · ec0061a9
    Rémy Coutable authored
    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: default avatarRémy Coutable <remy@rymai.me>
    ec0061a9
merge_requests_spec.rb 28.5 KB