Merge branch 'MDL-37635-23' of git://github.com/damyon/moodle into MOODLE_23_STABLE

This commit is contained in:
Dan Poltawski 2013-02-04 11:57:25 +08:00
commit 6f4c3571b8
2 changed files with 52 additions and 27 deletions

View file

@ -2180,8 +2180,12 @@ class assign {
$this->get_instance()->id,
$user->id);
$gradingitem = $gradinginfo->items[0];
$gradebookgrade = $gradingitem->grades[$user->id];
$gradingitem = null;
$gradebookgrade = '-';
if (isset($gradinginfo->items[0])) {
$gradingitem = $gradinginfo->items[0];
$gradebookgrade = $gradingitem->grades[$user->id];
}
// check to see if all feedback plugins are empty
$emptyplugins = true;
@ -2196,24 +2200,34 @@ class assign {
}
if (!($gradebookgrade->hidden) && ($gradebookgrade->grade !== null || !$emptyplugins)) {
$cangrade = has_capability('mod/assign:grade', $this->get_context());
// If there is feedback or a visible grade, show the summary.
if ((!empty($gradebookgrade->grade) && ($cangrade || !$gradebookgrade->hidden)) ||
!$emptyplugins) {
$gradefordisplay = '';
$gradefordisplay = null;
$gradeddate = null;
$grader = null;
$gradingmanager = get_grading_manager($this->get_context(), 'mod_assign', 'submissions');
if ($controller = $gradingmanager->get_active_controller()) {
$controller->set_grade_range(make_grades_menu($this->get_instance()->grade));
$gradefordisplay = $controller->render_grade($PAGE,
$grade->id,
$gradingitem,
$gradebookgrade->str_long_grade,
has_capability('mod/assign:grade', $this->get_context()));
} else {
$gradefordisplay = $this->display_grade($gradebookgrade->grade, false);
// Only show the grade if it is not hidden in gradebook.
if (!empty($gradebookgrade->grade) && ($cangrade || !$gradebookgrade->hidden)) {
if ($controller = $gradingmanager->get_active_controller()) {
$controller->set_grade_range(make_grades_menu($this->get_instance()->grade));
$gradefordisplay = $controller->render_grade($PAGE,
$grade->id,
$gradingitem,
$gradebookgrade->str_long_grade,
$cangrade);
} else {
$gradefordisplay = $this->display_grade($gradebookgrade->grade, false);
}
$gradeddate = $gradebookgrade->dategraded;
if (isset($grade->grader)) {
$grader = $DB->get_record('user', array('id'=>$grade->grader));
}
}
$gradeddate = $gradebookgrade->dategraded;
$grader = $DB->get_record('user', array('id'=>$grade->grader));
$feedbackstatus = new assign_feedback_status($gradefordisplay,
$gradeddate,
@ -3093,11 +3107,20 @@ class assign {
}
if (has_all_capabilities(array('gradereport/grader:view', 'moodle/grade:viewall'), $this->get_course_context())) {
$usergrade = '-';
if (isset($gradinginfo->items[0]->grades[$userid]->str_grade)) {
$usergrade = $gradinginfo->items[0]->grades[$userid]->str_grade;
}
$gradestring = $this->output->action_link(new moodle_url('/grade/report/grader/index.php',
array('id'=>$this->get_course()->id)),
$gradinginfo->items[0]->grades[$userid]->str_grade);
$usergrade);
} else {
$gradestring = $gradinginfo->items[0]->grades[$userid]->str_grade;
$usergrade = '-';
if (isset($gradinginfo->items[0]->grades[$userid]) &&
!$grading_info->items[0]->grades[$userid]->hidden) {
$usergrade = $gradinginfo->items[0]->grades[$userid]->str_grade;
}
$gradestring = $usergrade;
}
$mform->addElement('static', 'finalgrade', get_string('currentgrade', 'assign').':', $gradestring);

View file

@ -303,17 +303,19 @@ class mod_assign_renderer extends plugin_renderer_base {
$o .= $this->output->box_start('boxaligncenter feedbacktable');
$t = new html_table();
$row = new html_table_row();
$cell1 = new html_table_cell(get_string('grade'));
$cell2 = new html_table_cell($status->gradefordisplay);
$row->cells = array($cell1, $cell2);
$t->data[] = $row;
if (isset($status->gradefordisplay)) {
$row = new html_table_row();
$cell1 = new html_table_cell(get_string('grade'));
$cell2 = new html_table_cell($status->gradefordisplay);
$row->cells = array($cell1, $cell2);
$t->data[] = $row;
$row = new html_table_row();
$cell1 = new html_table_cell(get_string('gradedon', 'assign'));
$cell2 = new html_table_cell(userdate($status->gradeddate));
$row->cells = array($cell1, $cell2);
$t->data[] = $row;
$row = new html_table_row();
$cell1 = new html_table_cell(get_string('gradedon', 'assign'));
$cell2 = new html_table_cell(userdate($status->gradeddate));
$row->cells = array($cell1, $cell2);
$t->data[] = $row;
}
if ($status->grader) {
$row = new html_table_row();