diff --git a/components/ILIAS/LearningSequence/classes/class.ilObjLearningSequenceAdminGUI.php b/components/ILIAS/LearningSequence/classes/class.ilObjLearningSequenceAdminGUI.php index 582cbcd217bf..bf3cc48e2bdb 100755 --- a/components/ILIAS/LearningSequence/classes/class.ilObjLearningSequenceAdminGUI.php +++ b/components/ILIAS/LearningSequence/classes/class.ilObjLearningSequenceAdminGUI.php @@ -104,9 +104,12 @@ protected function getForm(array $values = []): Input\Container\Form\Form ) ->withAdditionalTransformation( $this->refinery->custom()->transformation( - fn ($v) => (float) $v + fn($v) => (float) $v ) ); + if (!$this->_checkPermission('edit_permission')) { + $poll_interval = $poll_interval->withDisabled(true); + } if (isset($values[self::F_POLL_INTERVAL])) { $poll_interval = $poll_interval->withValue($values[self::F_POLL_INTERVAL]); @@ -122,7 +125,7 @@ protected function getForm(array $values = []): Input\Container\Form\Form ->standard($target, [$section]) ->withAdditionalTransformation( $this->refinery->custom()->transformation( - fn ($data) => array_shift($data) + fn($data) => array_shift($data) ) ); } @@ -145,6 +148,11 @@ protected function edit(): void protected function save(): void { + if (!$this->_checkPermission('edit_permission')) { + $this->tpl->setOnScreenMessage('failure', $this->lng->txt('no_permission')); + $this->edit(); + return; + } $form = $this->getForm()->withRequest($this->request); $data = $form->getData(); if ($data) { @@ -155,4 +163,8 @@ protected function save(): void } $this->show($form); } + public function _checkPermission(string $permission): bool + { + return $this->rbac_system->checkAccess($permission, $this->object->getRefId()); + } }