From bd81e9a6160f78627e3ec3a086d01f67bf88a3bf Mon Sep 17 00:00:00 2001 From: Matheus Zych Date: Tue, 1 Apr 2025 14:07:16 +0200 Subject: [PATCH 1/2] Fixes end datetime of availability period in test settings being reset to 01.01.1970 upon saving --- .../class.ilObjTestSettingsMainGUI.php | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/Modules/Test/classes/MainSettings/class.ilObjTestSettingsMainGUI.php b/Modules/Test/classes/MainSettings/class.ilObjTestSettingsMainGUI.php index a8ddb6c5d3ef..d5bb8e6f0924 100644 --- a/Modules/Test/classes/MainSettings/class.ilObjTestSettingsMainGUI.php +++ b/Modules/Test/classes/MainSettings/class.ilObjTestSettingsMainGUI.php @@ -539,17 +539,23 @@ private function getValueForActivationLimitedOptionalGroup(): ?array private function saveAvailabilitySettingsSection(array $section): void { - $time_based_availability = $section['timebased_availability']; - + [ + 'is_activation_limited' => $is_activation_limited, + 'activation_starting_time' => $activation_starting_time, + 'activation_ending_time' => $activation_ending_time, + 'activation_visibility' => $activation_visibility + ] = $section['timebased_availability']; + + $participant_data_exists = $this->test_object->participantDataExist(); $this->test_object->storeActivationSettings( - $this->test_object->participantDataExist() + $participant_data_exists ? $this->test_object->isActivationLimited() - : $time_based_availability['is_activation_limited'], - $this->test_object->participantDataExist() + : $is_activation_limited, + $participant_data_exists ? $this->test_object->getActivationStartingTime() - : $time_based_availability['activation_starting_time'], - $this->test_object->getActivationEndingTime(), - $this->test_object->getActivationVisibility(), + : $activation_starting_time, + $activation_ending_time, + $activation_visibility, ); $this->test_object->getObjectProperties()->storePropertyIsOnline($section['is_online']); } From 26ff85b3fe272ee7c70627e0c04d17683b1246be Mon Sep 17 00:00:00 2001 From: Matheus Zych Date: Mon, 7 Apr 2025 10:27:08 +0200 Subject: [PATCH 2/2] Adds review changes --- .../class.ilObjTestSettingsMainGUI.php | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/Modules/Test/classes/MainSettings/class.ilObjTestSettingsMainGUI.php b/Modules/Test/classes/MainSettings/class.ilObjTestSettingsMainGUI.php index d5bb8e6f0924..0484b53b8623 100644 --- a/Modules/Test/classes/MainSettings/class.ilObjTestSettingsMainGUI.php +++ b/Modules/Test/classes/MainSettings/class.ilObjTestSettingsMainGUI.php @@ -539,23 +539,18 @@ private function getValueForActivationLimitedOptionalGroup(): ?array private function saveAvailabilitySettingsSection(array $section): void { - [ - 'is_activation_limited' => $is_activation_limited, - 'activation_starting_time' => $activation_starting_time, - 'activation_ending_time' => $activation_ending_time, - 'activation_visibility' => $activation_visibility - ] = $section['timebased_availability']; + $time_based_availability = $section['timebased_availability']; $participant_data_exists = $this->test_object->participantDataExist(); $this->test_object->storeActivationSettings( $participant_data_exists ? $this->test_object->isActivationLimited() - : $is_activation_limited, + : $time_based_availability['is_activation_limited'], $participant_data_exists ? $this->test_object->getActivationStartingTime() - : $activation_starting_time, - $activation_ending_time, - $activation_visibility, + : $time_based_availability['activation_starting_time'], + $time_based_availability['activation_ending_time'], + $time_based_availability['activation_visibility'] ); $this->test_object->getObjectProperties()->storePropertyIsOnline($section['is_online']); }