From ba3a8f32313cb49082e58af84bc6c87331ac38ed Mon Sep 17 00:00:00 2001 From: Marina Glancy Date: Thu, 19 Sep 2013 13:45:46 +1000 Subject: [PATCH] MDL-41676 Corrected logic when to dim the activity name and content --- course/renderer.php | 66 ++++++++++++++++++++++----------------------- 1 file changed, 32 insertions(+), 34 deletions(-) diff --git a/course/renderer.php b/course/renderer.php index 659383ac4e8..abfc963f75b 100644 --- a/course/renderer.php +++ b/course/renderer.php @@ -674,7 +674,8 @@ class core_course_renderer extends plugin_renderer_base { $conditionalhidden = $mod->availablefrom > time() || ($mod->availableuntil && $mod->availableuntil < time()) || count($mod->conditionsgrade) > 0 || - count($mod->conditionscompletion) > 0; + count($mod->conditionscompletion) > 0 || + count($mod->conditionsfield); } return $conditionalhidden; } @@ -725,25 +726,27 @@ class core_course_renderer extends plugin_renderer_base { // viewhiddenactivities, so that teachers see 'items which might not // be available to some students' dimmed but students do not see 'item // which is actually available to current student' dimmed. - $conditionalhidden = $this->is_cm_conditionally_hidden($mod); - $accessiblebutdim = (!$mod->visible || $conditionalhidden) && - (!$mod->uservisible || has_capability('moodle/course:viewhiddenactivities', - context_course::instance($mod->course))); - $linkclasses = ''; $accesstext = ''; $textclasses = ''; - if ($accessiblebutdim) { - $linkclasses .= ' dimmed'; - $textclasses .= ' dimmed_text'; - if ($conditionalhidden) { - $linkclasses .= ' conditionalhidden'; - $textclasses .= ' conditionalhidden'; - } - if ($mod->uservisible) { - // show accessibility note only if user can access the module himself + if ($mod->uservisible) { + $conditionalhidden = $this->is_cm_conditionally_hidden($mod); + $accessiblebutdim = (!$mod->visible || $conditionalhidden) && + has_capability('moodle/course:viewhiddenactivities', + context_course::instance($mod->course)); + if ($accessiblebutdim) { + $linkclasses .= ' dimmed'; + $textclasses .= ' dimmed_text'; + if ($conditionalhidden) { + $linkclasses .= ' conditionalhidden'; + $textclasses .= ' conditionalhidden'; + } + // Show accessibility note only if user can access the module himself. $accesstext = get_accesshide(get_string('hiddenfromstudents').':'. $mod->modfullname); } + } else { + $linkclasses .= ' dimmed'; + $textclasses .= ' dimmed_text'; } // Get on-click attribute value if specified and decode the onclick - it @@ -788,28 +791,23 @@ class core_course_renderer extends plugin_renderer_base { return $output; } $content = $mod->get_formatted_content(array('overflowdiv' => true, 'noclean' => true)); - if ($this->page->user_is_editing()) { - // In editing mode, when an item is conditionally hidden from some users - // we show it as greyed out. + $accesstext = ''; + $textclasses = ''; + if ($mod->uservisible) { $conditionalhidden = $this->is_cm_conditionally_hidden($mod); - $dim = !$mod->visible || $conditionalhidden; + $accessiblebutdim = (!$mod->visible || $conditionalhidden) && + has_capability('moodle/course:viewhiddenactivities', + context_course::instance($mod->course)); + if ($accessiblebutdim) { + $textclasses .= ' dimmed_text'; + if ($conditionalhidden) { + $textclasses .= ' conditionalhidden'; + } + // Show accessibility note only if user can access the module himself. + $accesstext = get_accesshide(get_string('hiddenfromstudents').':'. $mod->modfullname); + } } else { - // When not in editing mode, we only show item as hidden if it is - // actually not available to the user - $conditionalhidden = false; - $dim = !$mod->uservisible; - } - $textclasses = ''; - $accesstext = ''; - if ($dim) { $textclasses .= ' dimmed_text'; - if ($conditionalhidden) { - $textclasses .= ' conditionalhidden'; - } - if ($mod->uservisible) { - // show accessibility note only if user can access the module himself - $accesstext = get_accesshide(get_string('hiddenfromstudents').': '); - } } if ($mod->get_url()) { if ($content) { -- 2.43.0