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 .= '
';
}
@@ -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