Skip to content

Commit a305020

Browse files
committed
Merge branch 'staging'
2 parents 3849a31 + f093e3f commit a305020

2 files changed

Lines changed: 8 additions & 5 deletions

File tree

src/main/kotlin/ch/uzh/ifi/access/service/ExampleService.kt

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,13 +75,13 @@ class ExampleService(
7575
return proxy.studentHasVisibleExamples(courseSlug)
7676
}
7777

78-
fun getExample(courseSlug: String, exampleSlug: String, userId: String): TaskWorkspace {
78+
fun getExample(courseSlug: String, exampleSlug: String, user: String): TaskWorkspace {
7979
val workspace = exampleRepository.findByCourse_SlugAndSlug(courseSlug, exampleSlug)
8080
?: throw ResponseStatusException(
8181
HttpStatus.NOT_FOUND,
8282
"No example found with the Slug $exampleSlug"
8383
)
84-
84+
val userId = roleService.getUserId(user)
8585
workspace.setUserId(userId)
8686
return workspace
8787
}
@@ -193,7 +193,8 @@ class ExampleService(
193193
): Submission {
194194
val newSubmission = createExampleSubmission(courseSlug, exampleSlug, submission, submissionReceivedAt)
195195

196-
val userRoles = roleService.getUserRoles(listOf(submission.userId!!))
196+
val usernames = roleService.getRegistrationIDCandidates(submission.userId!!)
197+
val userRoles = roleService.getUserRoles(usernames)
197198
val isAdmin = roleService.isAdmin(userRoles, courseSlug)
198199

199200
if (newSubmission.command == Command.GRADE && !isAdmin) {
@@ -274,7 +275,8 @@ class ExampleService(
274275
val example = getExampleBySlug(courseSlug, exampleSlug)
275276

276277
// If the user is admin, don't check
277-
val userRoles = roleService.getUserRoles(listOf(submissionDTO.userId!!))
278+
val usernames = roleService.getRegistrationIDCandidates(submissionDTO.userId!!)
279+
val userRoles = roleService.getUserRoles(usernames)
278280
val isAdmin = roleService.isAdmin(userRoles, courseSlug)
279281

280282
if (!isAdmin) {

src/main/kotlin/ch/uzh/ifi/access/service/SubmissionService.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,8 @@ class SubmissionService(
3838
} else {
3939
task.assignment!!.course!!.slug
4040
}
41-
val userRoles = roleService.getUserRoles(listOf(userId))
41+
val usernames = roleService.getRegistrationIDCandidates(userId)
42+
val userRoles = roleService.getUserRoles(usernames)
4243
val isAdmin = roleService.isAdmin(userRoles, courseSlug!!)
4344

4445
val submissions = submissionRepository.findByEvaluation_Task_IdAndUserIdOrderByCreatedAtDesc(taskId, userId)

0 commit comments

Comments
 (0)