### Permissions - `courses.view_enrollments` - `courses.enroll_learners` - `courses.unenroll_learners` - `courses.manage_course_team` (beta testers) ### Endpoints - `CourseEnrollmentsView` (GET) → `view_enrollments` - `EnrollmentModifyView` → `enroll_learners` or `unenroll_learners` **depending on the request action** - `BetaTesterModifyView` → `manage_course_team` - `LearnerView`, if the tab uses it for search → `view_enrollments` ### Acceptance criteria - [ ] The common criteria from #485 are met. - [ ] A user with `enroll_learners` but without `unenroll_learners` gets a `403` when trying to unenroll, and vice versa. **Blocked by:** #486
Permissions
courses.view_enrollmentscourses.enroll_learnerscourses.unenroll_learnerscourses.manage_course_team(beta testers)Endpoints
CourseEnrollmentsView(GET) →view_enrollmentsEnrollmentModifyView→enroll_learnersorunenroll_learnersdepending on the request actionBetaTesterModifyView→manage_course_teamLearnerView, if the tab uses it for search →view_enrollmentsAcceptance criteria
enroll_learnersbut withoutunenroll_learnersgets a403when trying to unenroll,and vice versa.
Blocked by: #486