From 87aa0443514d2ef1e78039bceb8666bde66e9f98 Mon Sep 17 00:00:00 2001 From: Andreas Grabs Date: Tue, 10 Jun 2014 07:12:26 +0200 Subject: [PATCH] MDL-31998 mod_feedback - Feedback depend questions bug --- mod/feedback/lib.php | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/mod/feedback/lib.php b/mod/feedback/lib.php index d30cdf18830..51d1bb50e87 100644 --- a/mod/feedback/lib.php +++ b/mod/feedback/lib.php @@ -2216,6 +2216,22 @@ function feedback_check_values($firstitem, $lastitem) { } $value = $itemobj->clean_input_value($value); + // If the item is not visible due to its dependency so it shouldn't be required. + // Many thanks to Pau Ferrer OcaƱa. + if ($item->dependitem > 0 AND $item->required == 1) { + $comparevalue = false; + if ($feedbackcompletedtmp = feedback_get_current_completed($item->feedback, true)) { + $comparevalue = feedback_compare_item_value($feedbackcompletedtmp->id, + $item->dependitem, + $item->dependvalue, + true); + } + + if (!$comparevalue) { + $item->required = 0; // Override the required property. + } + } + //check if the value is set if (is_null($value) AND $item->required == 1) { return false;