Skip to content
Snippets Groups Projects

Resolve "Manager cannot update student/assistant"

1 file
+ 3
3
Compare changes
  • Side-by-side
  • Inline
@@ -102,14 +102,14 @@ public class PermissionService {
public boolean canUpdateParticipant(Object principal, Long courseId, Long participantId) {
User user = getUser(principal);
User participant = getRole(participantId).getUser();
Role participantRole = getRole(participantId);
Course course = courseRepository.findByIdOrThrow(courseId);
return user.isAdmin() ||
user.teaches(course) ||
user.manages(course) && !participant.teaches(course) ||
participant.getId().equals(user.getId());
user.manages(course) && !(participantRole instanceof Teacher) ||
participantRole.getUser().getId().equals(user.getId());
}
public boolean canAddParticipant(Object principal, Long courseId, String participantRole) {
Loading