Index: grade/report/grader/functions.js =================================================================== RCS file: /cvsroot/moodle/moodle/grade/report/grader/Attic/functions.js,v retrieving revision 1.1.2.4 diff -u -r1.1.2.4 functions.js --- grade/report/grader/functions.js 8 Feb 2010 04:18:40 -0000 1.1.2.4 +++ grade/report/grader/functions.js 21 Oct 2010 10:53:39 -0000 @@ -14,15 +14,15 @@ } /** highlight/unset the column of a table **/ -function set_col(col,gradecelloffset) { +function set_col(col,gradecelloffset,lastheaderrow) { var table = document.getElementById('user-grades'); //highlight the column header - flip_vmarked(table,2,col); + flip_vmarked(table,lastheaderrow,col); //add any grade cell offset (due to colspans) then iterate down the table col += gradecelloffset; - for (var row = 3; row < table.rows.length; row++) { + for (var row = lastheaderrow + 1; row < table.rows.length; row++) { flip_vmarked(table,row,col); } } Index: grade/report/grader/lib.php =================================================================== RCS file: /cvsroot/moodle/moodle/grade/report/grader/lib.php,v retrieving revision 1.98.2.71 diff -u -r1.98.2.71 lib.php --- grade/report/grader/lib.php 8 Feb 2010 04:18:40 -0000 1.98.2.71 +++ grade/report/grader/lib.php 21 Oct 2010 10:53:39 -0000 @@ -78,6 +78,10 @@ * */ var $canviewhidden; + /** @var boolean, whether the current user is allowed to see the user report. + * This affects the table layout. */ + var $canviewuserreport; + var $preferences_page=false; /** @@ -93,6 +97,7 @@ parent::grade_report($courseid, $gpr, $context, $page); $this->canviewhidden = has_capability('moodle/grade:viewhidden', get_context_instance(CONTEXT_COURSE, $this->course->id)); + $this->canviewuserreport = has_capability('gradereport/'.$CFG->grade_profilereport.':view', $this->context); // load collapsed settings for this report if ($collapsed = get_user_preferences('grade_report_grader_collapsed_categories')) { @@ -662,14 +667,15 @@ //The width of the table varies depending on fixedstudents. // $fixedstudents == 0, students and grades display in the same table. // $fixedstudents == 1, students and grades are display in separate table. - if ($fixedstudents) { + if ($fixedstudents || !$this->canviewuserreport) { $incrementcellindex = '0'; } else { $incrementcellindex = '1'; } //MDL-21088 - IE 7 ignores nowraps on tds or ths so we this in a span with a nowrap on it. - $headerhtml .= '