Allow users to request access to projects and groups
TODO:
-
Factorize the projects & groups members list -
Factorize request_access
andapprove
controller methods into a concern -
Factorize the project & group dropdowns -
Factorize access request routes -
Factorize mailers
Will be done in separate MRs
- Implement access request to project & group API: #18583 (closed)
- Document access request to project & group: #18584 (closed)
- Allow to configure whether or not access request is enabled for a project / group: #18585 (closed)
Access request to project
-
Design project access request button to spec (defined in #13948 (closed)) -
Request access to a project as a logged in user -
Withdraw access request to a project as a logged in user -
Do not treat project member request as actual membership (done partly in Ability) -
Display access requests on project's members page (+ allow to change level, approve, and deny request) -
Email requesting user at notification email address when accepted/denied -
Email all project admins at notification email addresses when new access request -
Unit specs to cover new functionality: AccessRequestable
is missing specs -
Controller specs to cover new functionality -
Mailer specs to cover new functionality -
Features specs to cover new UI and interactions -
Regression specs still passing
Access request to group
-
Design group access request button to spec (defined in #13948 (closed)) -
Request access to a group as a logged in user -
Withdraw access request to a group as a logged in user -
Do not treat group member request as actual membership -
Display access requests on group's members page (+ allow to change level, approve, and deny request) -
Email requesting user at notification email address when accepted/denied -
Email all project admins at notification email addresses when new access request -
Unit specs to cover new functionality -
Controller specs to cover new functionality -
Mailer specs to cover new functionality -
Features specs to cover new UI and interactions -
Regression specs still passing
Closes #13948 (closed).