From 3bd8cfe4a3063cbc16f405c75fb87d082dcbb45e Mon Sep 17 00:00:00 2001 From: skodak Date: Thu, 30 Apr 2009 08:08:14 +0000 Subject: [PATCH] MDL-18951 standardised group support in grader report (not complete yet); backported from HEAD --- grade/report/grader/lib.php | 17 ++++------------- grade/report/grader/preferences_form.php | 1 - grade/report/grader/settings.php | 3 --- grade/report/lib.php | 18 +++++++++++++----- lib/db/upgrade.php | 5 +++++ version.php | 2 +- 6 files changed, 23 insertions(+), 23 deletions(-) diff --git a/grade/report/grader/lib.php b/grade/report/grader/lib.php index 5cb03cfb408..923aa598a00 100644 --- a/grade/report/grader/lib.php +++ b/grade/report/grader/lib.php @@ -138,10 +138,7 @@ class grade_report_grader extends grade_report { $this->pbarurl = 'index.php?id='.$this->courseid.$perpage.'&'; - // Setup groups if requested - if ($this->get_pref('showgroups')) { - $this->setup_groups(); - } + $this->setup_groups(); $this->setup_sortitemid(); } @@ -417,12 +414,6 @@ class grade_report_grader extends grade_report { $html .= $this->print_toggle('averages', true); } - if (has_capability('moodle/grade:viewall', $this->context) - and has_capability('moodle/site:accessallgroups', $this->context) - and ($course_has_groups = true)) { // TODO replace that last condition with proper check - $html .= $this->print_toggle('groups', true); - } - $html .= $this->print_toggle('ranges', true); if (!empty($CFG->enableoutcomes)) { $html .= $this->print_toggle('nooutcomes', true); @@ -1013,10 +1004,10 @@ class grade_report_grader extends grade_report { // Averages heading $straverage_group = get_string('groupavg', 'grades'); - $showaverages_group = $this->currentgroup && $this->get_pref('showgroups'); $straverage = get_string('overallaverage', 'grades'); $showaverages = $this->get_pref('showaverages'); - + $showaverages_group = $this->currentgroup && $showaverages; + if ($showaverages_group) { $studentshtml .= ''.$straverage_group.''; } @@ -1064,7 +1055,7 @@ class grade_report_grader extends grade_report { if ($grouponly) { $straverage = get_string('groupavg', 'grades'); - $showaverages = $this->currentgroup && $this->get_pref('showgroups'); + $showaverages = $this->currentgroup && $this->get_pref('showaverages'); $groupsql = $this->groupsql; $groupwheresql = $this->groupwheresql; $avgcssclass = 'groupavg'; diff --git a/grade/report/grader/preferences_form.php b/grade/report/grader/preferences_form.php index f138397c5e1..5b7469e9772 100644 --- a/grade/report/grader/preferences_form.php +++ b/grade/report/grader/preferences_form.php @@ -72,7 +72,6 @@ class grader_report_preferences_form extends moodleform { if ($canviewhidden) { $preferences['prefshow']['showaverages'] = $checkbox_default; } - $preferences['prefshow']['showgroups'] = $checkbox_default; $preferences['prefshow']['showlocks'] = $checkbox_default; $preferences['prefrows'] = array( diff --git a/grade/report/grader/settings.php b/grade/report/grader/settings.php index dacceedaff4..d3a98956b83 100644 --- a/grade/report/grader/settings.php +++ b/grade/report/grader/settings.php @@ -65,9 +65,6 @@ $settings->add(new admin_setting_configcheckbox('grade_report_showeyecons', get_ $settings->add(new admin_setting_configcheckbox('grade_report_showaverages', get_string('showaverages', 'grades'), get_string('configshowaverages', 'grades'), 1)); -$settings->add(new admin_setting_configcheckbox('grade_report_showgroups', get_string('showgroups', 'grades'), - get_string('configshowgroups', 'grades'), 0)); - $settings->add(new admin_setting_configcheckbox('grade_report_showlocks', get_string('showlocks', 'grades'), get_string('configshowlocks', 'grades'), 0)); diff --git a/grade/report/lib.php b/grade/report/lib.php index e8fcfc93b75..e82d5cc5823 100755 --- a/grade/report/lib.php +++ b/grade/report/lib.php @@ -108,6 +108,12 @@ class grade_report { */ var $currentgroup; + /** + * Current course group mode + * @var int $groupmode + */ + var $groupmode; + /** * A HTML select element used to select the current group. * @var string $group_selector @@ -294,12 +300,14 @@ class grade_report { global $CFG; /// find out current groups mode - $this->group_selector = groups_print_course_menu($this->course, $this->pbarurl, true); - $this->currentgroup = groups_get_course_group($this->course); + if ($this->groupmode = groups_get_course_groupmode($this->course)) { + $this->group_selector = groups_print_course_menu($this->course, $this->pbarurl, true); + $this->currentgroup = groups_get_course_group($this->course, true); - if ($this->currentgroup) { - $this->groupsql = " JOIN {$CFG->prefix}groups_members gm ON gm.userid = u.id "; - $this->groupwheresql = " AND gm.groupid = $this->currentgroup "; + if ($this->currentgroup) { + $this->groupsql = " JOIN {$CFG->prefix}groups_members gm ON gm.userid = u.id "; + $this->groupwheresql = " AND gm.groupid = $this->currentgroup "; + } } } diff --git a/lib/db/upgrade.php b/lib/db/upgrade.php index 0a92c8216e8..9cd9be9df7a 100644 --- a/lib/db/upgrade.php +++ b/lib/db/upgrade.php @@ -3154,6 +3154,11 @@ function xmldb_main_upgrade($oldversion=0) { set_field('grade_items', 'needsupdate', 1, 'needsupdate', 0); } + if ($result && $oldversion < 2007101546.06) { + unset_config('grade_report_showgroups'); + upgrade_main_savepoint($result, 2007101546.06); + } + return $result; } diff --git a/version.php b/version.php index b2b098bb7ca..fea117d0420 100644 --- a/version.php +++ b/version.php @@ -6,7 +6,7 @@ // This is compared against the values stored in the database to determine // whether upgrades should be performed (see lib/db/*.php) - $version = 2007101546.05; // YYYYMMDD = date of the 1.9 branch (don't change) + $version = 2007101546.06; // YYYYMMDD = date of the 1.9 branch (don't change) // X = release number 1.9.[0,1,2,3,4,5...] // Y.YY = micro-increments between releases