MDL-58557 mod_choice: only check responses if event is actionable
[moodle.git] / mod / choice / lib.php
index c4149a0..3d16999 100644 (file)
@@ -1205,15 +1205,15 @@ function mod_choice_core_calendar_provide_event_action(calendar_event $event,
         return null;
     }
 
-    if (choice_get_my_response($choice)) {
-        // There is no action if the user has already submitted their choice.
-        return null;
-    }
-
     // The choice is actionable if we don't have a start time or the start time is
     // in the past.
     $actionable = (!$choice->timeopen || $choice->timeopen <= $now);
 
+    if ($actionable && choice_get_my_response($choice)) {
+        // There is no action if the user has already submitted their choice.
+        return null;
+    }
+
     return $factory->create_instance(
         get_string('viewchoices', 'choice'),
         new \moodle_url('/mod/choice/view.php', array('id' => $cm->id)),