Merge branch '13948-access-request-to-projects-and-groups' into 'master'
Allow users to request access to projects and groups #### TODO: - [x] Factorize the projects & groups members list - [x] Factorize `request_access` and `approve` controller methods into a concern - [x] Factorize the project & group dropdowns - [x] Factorize access request routes - [x] Factorize mailers #### Will be done in separate MRs - [ ] Documentation - [ ] API #### Access request to project - [x] Design project access request button to spec (defined in #13948) - [x] Request access to a project as a logged in user - [x] Withdraw access request to a project as a logged in user - [x] Do not treat project member request as actual membership (done partly in Ability) - [x] Display access requests on project's members page (+ allow to change level, approve, and deny request) - [x] Email requesting user at notification email address when accepted/denied - [x] Email all project admins at notification email addresses when new access request - [x] Unit specs to cover new functionality: `AccessRequestable` is missing specs - [x] Controller specs to cover new functionality - [x] Mailer specs to cover new functionality - [x] Features specs to cover new UI and interactions - [x] Regression specs still passing #### Access request to group - [x] Design group access request button to spec (defined in #13948) - [x] Request access to a group as a logged in user - [x] Withdraw access request to a group as a logged in user - [x] Do not treat group member request as actual membership - [x] Display access requests on group's members page (+ allow to change level, approve, and deny request) - [x] Email requesting user at notification email address when accepted/denied - [x] Email all project admins at notification email addresses when new access request - [x] Unit specs to cover new functionality - [x] Controller specs to cover new functionality - [x] Mailer specs to cover new functionality - [x] Features specs to cover new UI and interactions - [x] Regression specs still passing Closes #13948. ### Requesting access to a project #### Responsive UI  #### Request access link  #### Flash once access is requested  #### Email sent to project admins on new access requests ##### HTML Email  ##### Plain Email  ### Withdrawing access request to a project #### Withdraw access request link  #### Withdraw access request confirmation dialog box  #### Flash once access has been withdrawn  ### Access requests management page  #### Deny access request confirmation dialog box  #### Email sent to requester on denied access requests ##### HTML Email  ##### Plain Email  #### Email sent to requester on granted access requests ##### HTML Email  ##### Plain Email  ---------------------------------- ---------------------------------- ### Requesting access to a group #### Responsive UI  #### Request access link  #### Flash once access is requested  #### Email sent to project admins on new access requests ##### HTML Email  ##### Plain Email  ### Withdrawing access request to a project #### Withdraw access request link  #### Withdraw access request confirmation dialog box  #### Flash once access has been withdrawn  ### Access requests management page  #### Deny access request confirmation dialog box  #### Email sent to requester on denied access requests ##### HTML Email  ##### Plain Email  #### Email sent to requester on granted access requests ##### HTML Email  ##### Plain Email  See merge request !3798
Showing
This diff is collapsed.
Please register or sign in to comment