### Eclipse Workspace Patch 1.0 #P moodle20 Index: mod/quiz/tabs.php =================================================================== RCS file: /cvsroot/moodle/moodle/mod/quiz/tabs.php,v retrieving revision 1.41 diff -u -r1.41 tabs.php --- mod/quiz/tabs.php 8 Mar 2010 16:01:39 -0000 1.41 +++ mod/quiz/tabs.php 7 May 2010 03:21:26 -0000 @@ -100,12 +100,18 @@ $row = array(); $currenttab = $mode; - $strgroup = get_string('groupoverrides', 'quiz'); + if (!empty($groups)) { + $strgroup = get_string('groupoverrides', 'quiz'); + } else { + $strgroup = get_string('groupoverridesnogroups', 'quiz'); + $inactive[] = 'group'; + } $struser = get_string('useroverrides', 'quiz'); - $row[] = new tabobject('group', "$CFG->wwwroot/mod/quiz/overrides.php?cmid=$cm->id", $strgroup); + $row[] = new tabobject('group', "$CFG->wwwroot/mod/quiz/overrides.php?cmid=$cm->id&mode=group", $strgroup); $row[] = new tabobject('user', "$CFG->wwwroot/mod/quiz/overrides.php?cmid=$cm->id&mode=user", $struser); $tabs[] = $row; + } if (!$quiz->questions) { Index: mod/quiz/overrides.php =================================================================== RCS file: /cvsroot/moodle/moodle/mod/quiz/overrides.php,v retrieving revision 1.2 diff -u -r1.2 overrides.php --- mod/quiz/overrides.php 20 Mar 2010 22:15:59 -0000 1.2 +++ mod/quiz/overrides.php 7 May 2010 03:21:26 -0000 @@ -31,9 +31,7 @@ $cmid = required_param('cmid', PARAM_INT); // course module ID, or -$mode = optional_param('mode', 'group', PARAM_ALPHA); // one of 'user' or 'group' - -$groupmode = ($mode == "group"); +$mode = optional_param('mode', '', PARAM_ALPHA); // one of 'user' or 'group', default is 'group' if (! $cm = get_coursemodule_from_id('quiz', $cmid)) { print_error('invalidcoursemodule'); @@ -42,6 +40,23 @@ print_error('invalidcoursemodule'); } +// Get the course groups +$groups = groups_get_all_groups($cm->course, null, $cm->groupingid); +if (empty($groups) && $mode == "group") { + // generate an error + $link = new moodle_url('/mod/quiz/overrides.php', array('cmid'=>$cm->id)); + print_error('groupsnone', 'quiz', $link); +} +// Default mode is "group", unless there are no groups +if ($mode != "user" and $mode != "group") { + if (!empty($groups)) { + $mode = "group"; + } else { + $mode = "user"; + } +} +$groupmode = ($mode == "group"); + $url = new moodle_url('/mod/quiz/overrides.php', array('cmid'=>$cm->id, 'mode'=>$mode)); $PAGE->set_url($url); Index: mod/quiz/lang/en/quiz.php =================================================================== RCS file: /cvsroot/moodle/moodle/mod/quiz/lang/en/quiz.php,v retrieving revision 1.22 diff -u -r1.22 quiz.php --- mod/quiz/lang/en/quiz.php 3 May 2010 16:49:07 -0000 1.22 +++ mod/quiz/lang/en/quiz.php 7 May 2010 03:21:27 -0000 @@ -390,6 +390,8 @@ $string['gradingdetailszeropenalty'] = 'You were not penalized for this submission.'; $string['gradingmethod'] = 'Grading method: {$a}'; $string['groupoverrides'] = 'Group overrides'; +$string['groupoverridesnogroups'] = 'Group overrides (no groups)'; +$string['groupsnone'] = 'There are no groups associated with this quiz'; $string['guestsno'] = 'Sorry, guests cannot see or attempt quizzes'; $string['hidebreaks'] = 'Hide page breaks'; $string['hidereordertool'] = 'Hide the reordering tool';