Browse Source

Fix edit survey dates when allow_survey_availability_datetime is enabled - refs BT#14468

Angel Fernando Quiroz Campos 6 years ago
parent
commit
f94d73aa05
2 changed files with 14 additions and 4 deletions
  1. 7 0
      main/survey/create_new_survey.php
  2. 7 4
      main/survey/survey.lib.php

+ 7 - 0
main/survey/create_new_survey.php

@@ -74,6 +74,13 @@ if ($_GET['action'] == 'edit' && isset($survey_id) && is_numeric($survey_id)) {
     $defaults['survey_id'] = $survey_id;
     $defaults['anonymous'] = $survey_data['anonymous'];
 
+    if ($allowSurveyAvailabilityDatetime) {
+        $defaults['avail_from'] = api_get_local_time($defaults['avail_from'], null, 'UTC');
+        $defaults['avail_till'] = api_get_local_time($defaults['avail_till'], null, 'UTC');
+        $defaults['start_date'] = $defaults['avail_from'];
+        $defaults['end_date'] = $defaults['avail_till'];
+    }
+
     $link_info = GradebookUtils::isResourceInCourseGradebook(
         $course_id,
         $gradebook_link_type,

+ 7 - 4
main/survey/survey.lib.php

@@ -218,6 +218,7 @@ class SurveyManager
      */
     public static function store_survey($values)
     {
+        $allowSurveyAvailabilityDatetime = api_get_configuration_value('allow_survey_availability_datetime');
         $_user = api_get_user_info();
         $course_id = api_get_course_int_id();
         $session_id = api_get_session_id();
@@ -331,8 +332,6 @@ class SurveyManager
                 }
             }
 
-            $allowSurveyAvailabilityDatetime = api_get_configuration_value('allow_survey_availability_datetime');
-
             $params = [
                 'c_id' => $course_id,
                 'code' => self::generateSurveyCode($values['survey_code']),
@@ -450,8 +449,12 @@ class SurveyManager
                 'subtitle' => $values['survey_subtitle'],
                 'author' => $_user['user_id'],
                 'lang' => $values['survey_language'],
-                'avail_from' => $values['start_date'],
-                'avail_till' => $values['end_date'],
+                'avail_from' => $allowSurveyAvailabilityDatetime
+                    ? api_get_utc_datetime($values['start_date'])
+                    : $values['start_date'],
+                'avail_till' => $allowSurveyAvailabilityDatetime
+                    ? api_get_utc_datetime($values['end_date'])
+                    : $values['end_date'],
                 'is_shared' => $shared_survey_id,
                 'template' => 'template',
                 'intro' => $values['survey_introduction'],