Skip to content

Commit 6eeed28

Browse files
author
Martin Krulis
committed
Fixing bugs in conditions of ACL policies.
1 parent d035f5f commit 6eeed28

File tree

5 files changed

+6
-8
lines changed

5 files changed

+6
-8
lines changed

app/V1Module/presenters/ExercisesPresenter.php

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -399,9 +399,8 @@ public function actionAssignments(string $id, bool $archived = false) {
399399
$exercise = $this->exercises->findOrThrow($id);
400400

401401
$assignments = $exercise->getAssignments()->filter(function (Assignment $assignment) use ($archived) {
402-
return $archived ?
403-
$this->assignmentAcl->canViewDetail($assignment) :
404-
$this->assignmentAcl->canViewDetail($assignment) && $assignment->getGroup() && !$assignment->getGroup()->isArchived();
402+
return $this->assignmentAcl->canViewDetail($assignment) && $assignment->getGroup()
403+
&& ($archived || !$assignment->getGroup()->isArchived());
405404
})->getValues();
406405
$this->sendSuccessResponse($this->assignmentViewFactory->getAssignments($assignments));
407406
}

app/V1Module/security/Policies/AssignmentPermissionPolicy.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ public function isSupervisor(Identity $identity, Assignment $assignment) {
3838
return false;
3939
}
4040

41-
return $group && $group->isSupervisorOf($user) || $group->isAdminOf($user);
41+
return $group && ($group->isSupervisorOf($user) || $group->isAdminOf($user));
4242
}
43-
4443
}

app/V1Module/security/Policies/AssignmentSolutionPermissionPolicy.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ public function isSupervisor(Identity $identity, AssignmentSolution $solution) {
2525
return false;
2626
}
2727

28-
return $group && $group->isSupervisorOf($user) || $group->isAdminOf($user);
28+
return $group && ($group->isSupervisorOf($user) || $group->isAdminOf($user));
2929
}
3030

3131
public function isAuthor(Identity $identity, AssignmentSolution $solution) {

app/V1Module/security/Policies/CommentPermissionPolicy.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,6 @@ public function isSupervisorInGroupOfCommentedSolution(Identity $identity, Comme
5050
}
5151

5252
$group = $solution->getAssignment()->getGroup();
53-
return $group && $group->isSupervisorOf($user) || $group->isAdminOf($user);
53+
return $group && ($group->isSupervisorOf($user) || $group->isAdminOf($user));
5454
}
5555
}

app/V1Module/security/Policies/ShadowAssignmentPermissionPolicy.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public function isSupervisor(Identity $identity, ShadowAssignment $assignment) {
3131
return false;
3232
}
3333

34-
return $group && $group->isSupervisorOf($user) || $group->isAdminOf($user);
34+
return $group && ($group->isSupervisorOf($user) || $group->isAdminOf($user));
3535
}
3636

3737
}

0 commit comments

Comments
 (0)