diff --git a/grade/report/outcomes/index.php b/grade/report/outcomes/index.php
index 0eb325ea0a7..8dbdf0d8590 100644
--- a/grade/report/outcomes/index.php
+++ b/grade/report/outcomes/index.php
@@ -32,8 +32,14 @@ print_grade_plugin_selector($courseid, 'report', 'outcomes');
grade_regrade_final_grades($courseid);
// Grab all outcomes used in course
-$sql = "SELECT go.* FROM {$CFG->prefix}grade_outcomes go
- WHERE go.id IN (SELECT gi.outcomeid FROM {$CFG->prefix}grade_items gi WHERE gi.courseid = $courseid)";
+$sql = "SELECT mdl_grade_outcomes.id,
+ mdl_grade_outcomes_courses.courseid,
+ mdl_grade_outcomes.shortname,
+ mdl_grade_outcomes.scaleid
+ FROM mdl_grade_outcomes
+ LEFT JOIN mdl_grade_outcomes_courses
+ ON (mdl_grade_outcomes.id = mdl_grade_outcomes_courses.outcomeid AND mdl_grade_outcomes_courses.courseid = $courseid)
+ ORDER BY mdl_grade_outcomes_courses.courseid DESC";
$report_info = array();
$outcomes = get_records_sql($sql);
@@ -67,24 +73,25 @@ foreach ($outcomes as $outcomeid => $outcome) {
}
}
-$html = '
' . "\n";
-$html .= '' . get_string('outcomename', 'grades') . ' | ';
-$html .= '' . get_string('overallavg', 'grades') . ' | ';
-$html .= '' . get_string('sitewide', 'grades') . ' | ';
-$html .= '' . get_string('activities', 'grades') . ' | ';
-$html .= '' . get_string('average', 'grades') . ' | ';
-$html .= '' . get_string('numberofgrades', 'grades') . ' |
' . "\n";
+$html = '' . "\n";
+$html .= '';
+$html .= '';
+$html .= '';
+$html .= '';
+$html .= '';
+$html .= '
' . "\n";
+$row = 0;
foreach ($report_info as $outcomeid => $outcomedata) {
$rowspan = count($outcomedata['items']);
- $shortname_html = '' . $outcomedata['outcome']->shortname . " | \n";
+ $shortname_html = '
' . $outcomedata['outcome']->shortname . " | \n";
$sitewide = get_string('no');
if (empty($outcomedata['outcome']->courseid)) {
$sitewide = get_string('yes');
}
- $sitewide_html = '' . $sitewide . " | \n";
+ $sitewide_html = '' . $sitewide . " | \n";
$outcomedata['outcome']->sum = 0;
$scale = new grade_scale(array('id' => $outcomedata['outcome']->scaleid), false);
@@ -95,14 +102,15 @@ foreach ($report_info as $outcomeid => $outcomedata) {
if (is_array($outcomedata['items'])) {
foreach ($outcomedata['items'] as $itemid => $item) {
if ($print_tr) {
- $items_html .= "
\n";
+ $row++;
+ $items_html .= "
\n";
}
$grade_item = new grade_item($item, false);
if ($item->itemtype == 'mod') {
$cm = get_coursemodule_from_instance($item->itemmodule, $item->iteminstance, $item->courseid);
- $itemname = ''.$item->itemname.'';
+ $itemname = ''.$grade_item->get_name().'';
} else {
$itemname = $grade_item->get_name();
}
@@ -110,11 +118,13 @@ foreach ($report_info as $outcomeid => $outcomedata) {
$outcomedata['outcome']->sum += $item->avg;
$gradehtml = $scale->get_nearest_item($item->avg);
- $items_html .= "$itemname | $gradehtml ($item->avg) | $item->count |
\n";
+ $items_html .= "$itemname | "
+ . "$gradehtml ($item->avg) | "
+ . "$item->count | \n";
$print_tr = true;
}
} else {
- $items_html .= " - | - | 0 | \n";
+ $items_html .= " - | - | 0 | \n";
}
// Calculate outcome average
@@ -125,14 +135,17 @@ foreach ($report_info as $outcomeid => $outcomedata) {
$avg_html = ' - ';
}
- $outcomeavg_html = '' . $avg_html . " | \n";
+ $outcomeavg_html = '' . $avg_html . " | \n";
$html .= $shortname_html . $outcomeavg_html . $sitewide_html . $items_html;
+ $row++;
}
$html .= '
';
+print_heading($stroutcomes);
+
echo $html;
print_footer($course);
diff --git a/lang/en_utf8/grades.php b/lang/en_utf8/grades.php
index d4fdd635f3f..b53b36b0570 100644
--- a/lang/en_utf8/grades.php
+++ b/lang/en_utf8/grades.php
@@ -8,6 +8,7 @@ $string['addcategoryerror'] = 'Could not add category.';
$string['addexceptionerror'] = 'Error occurred while adding exception for userid:gradeitem';
$string['addfeedback'] = 'Add Feedback';
$string['additem'] = 'Add Grade Item';
+$string['addoutcomeitem'] = 'Add Outcome Item';
$string['aggregateextracreditmeanall'] = 'Mean of all grades (extra credits)';
$string['aggregateextracreditmeangraded'] = 'Mean of non-empty grades (extra credits)';
$string['aggregatemeanall'] = 'Mean of all grades';
@@ -143,6 +144,7 @@ $string['gradeletterhelp'] = 'Grade Letter Help';
$string['gradeletternote'] = 'To delete a grade letter just empty any of the
three text areas for that letter and click submit.';
$string['grademax'] = 'Maximum grade';
$string['grademin'] = 'Minimum grade';
+$string['gradeoutcomeitem'] = 'Grade outcome item';
$string['gradepass'] = 'Grade to pass';
$string['graderreport'] = 'Grader report';
$string['gradessettings'] = 'Grade settings';
@@ -187,6 +189,7 @@ $string['lettergrade'] = 'Letter Grade';
$string['lettergradenonnumber'] = 'Low and/or High grade were non-numeric for';
$string['letter'] = 'Letter';
$string['letters'] = 'Letters';
+$string['linkedactivity'] = 'Linked activity';
$string['lock'] = 'Lock';
$string['locked'] = 'Locked';
$string['locktime'] = 'Locked until';
@@ -224,6 +227,7 @@ $string['onascaleof'] = ' on a scale of $a->grademin to $a->grademax';
$string['operations'] = 'Operations';
$string['outcome'] = 'Outcome';
$string['outcomecreate'] = 'Add a new outcome';
+$string['outcomeitemsedit'] = 'Edit outcome item';
$string['outcomes'] = 'Outcomes';
$string['outcomescustom'] = 'Custom outcomes';
$string['outcomename'] = 'Outcome name';