Skip to content

Commit 548b38d

Browse files
committed
Allow regular supervisors see IP addresses of exam locks.
1 parent c6aa58b commit 548b38d

File tree

2 files changed

+1
-32
lines changed

2 files changed

+1
-32
lines changed

app/config/permissions.neon

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -309,7 +309,7 @@ permissions:
309309

310310
- allow: true
311311
resource: group
312-
role: empowered-supervisor
312+
role: supervisor
313313
actions:
314314
- viewExamLocksIPs
315315
conditions:

tests/Presenters/GroupsPresenter.phpt

Lines changed: 0 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1788,40 +1788,9 @@ class TestGroupsPresenter extends Tester\TestCase
17881788
);
17891789
}
17901790

1791-
public function testGetExamLocks()
1792-
{
1793-
$group = $this->prepExamGroup(); // logged in as supervisor
1794-
$student = $this->presenter->users->getByEmail("demoGroupMember1@example.com");
1795-
1796-
$now = (new DateTime())->getTimestamp();
1797-
$begin = $now - 7200;
1798-
$end = $now - 3600;
1799-
$group->setExamPeriod(DateTime::createFromFormat('U', $begin), DateTime::createFromFormat('U', $end));
1800-
$this->presenter->groups->persist($group);
1801-
1802-
$exam = new GroupExam($group, DateTime::createFromFormat('U', $begin), DateTime::createFromFormat('U', $end), false);
1803-
$this->presenter->groupExams->persist($exam);
1804-
1805-
$lock = new GroupExamLock($exam, $student, '1.2.3.4');
1806-
$this->presenter->groupExamLocks->persist($lock);
1807-
1808-
$payload = PresenterTestHelper::performPresenterRequest(
1809-
$this->presenter,
1810-
'V1:Groups',
1811-
'GET',
1812-
['action' => 'getExamLocks', 'id' => $group->getId(), 'examId' => $exam->getId()],
1813-
);
1814-
1815-
Assert::count(1, $payload);
1816-
Assert::equal($exam->getId(), $payload[0]['groupExamId']);
1817-
Assert::equal($student->getId(), $payload[0]['studentId']);
1818-
Assert::false(array_key_exists('remoteAddr', $payload[0])); // supervisor cannot se IPs
1819-
}
1820-
18211791
public function testGetExamLocksWithIPs()
18221792
{
18231793
$group = $this->prepExamGroup();
1824-
PresenterTestHelper::loginDefaultAdmin($this->container); // admin can see IPs
18251794
$student = $this->presenter->users->getByEmail("demoGroupMember1@example.com");
18261795

18271796
$now = (new DateTime())->getTimestamp();

0 commit comments

Comments
 (0)