1. 16 Oct, 2019 1 commit
  2. 11 Jul, 2018 1 commit
  3. 09 Jul, 2018 1 commit
  4. 02 Aug, 2017 1 commit
  5. 26 Jan, 2017 1 commit
  6. 28 Sep, 2016 1 commit
    • Rémy Coutable's avatar
      Allow Member.add_user to handle access requesters · 44fe4f60aea6
      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>
      44fe4f60aea6
  7. 21 Mar, 2016 2 commits
  8. 17 Mar, 2016 1 commit
  9. 10 Mar, 2016 1 commit
  10. 04 Jan, 2016 1 commit
  11. 18 Nov, 2015 1 commit
    • Yorick Peterse's avatar
      Refactoed GroupsFinder into two separate classes · 1df8b8dd724a
      Yorick Peterse authored
      In the previous setup the GroupsFinder class had two distinct tasks:
      
      1. Finding the projects user A could see
      2. Finding the projects of user A that user B could see
      
      Task two was actually handled outside of the GroupsFinder (in the
      UsersController) by restricting the returned list of groups to those the
      viewed user was a member of. Moving all this logic into a single finder
      proved to be far too complex and confusing, hence there are now two
      finders:
      
      * GroupsFinder: for finding groups a user can see
      * JoinedGroupsFinder: for finding groups that user A is a member of,
        restricted to either public groups or groups user B can also see.
      1df8b8dd724a