Resolve "`Member.add_user`doesn't detect existing members that have requested access"
What does this MR do?
This merge request handle the case when an access requester is added to a group or project (via the members page or the API).
In Member.add_user, if an access requester already exists, we simply accept their request (and set the created_by, access_level and expires_at attributes if given).
Are there points in the code the reviewer needs to double check?
I've taken the opportunity to cleanup the whole {Group,Project}Member.add_user* methods since it was quite a mess.
Does this MR meet the acceptance criteria?
-
CHANGELOG entry added -
Documentation created/updated -
API support added - Tests
-
Added for this feature/bug -
All builds are passing
-
-
Conform by the merge request performance guides -
Conform by the style guides -
Branch has no merge conflicts with master(if you do - rebase it please) -
Squashed related commits together -
A merge request against Enterprise Edition: https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/744
What are the relevant issue numbers?
Closes #21983 (closed)