mirror of
https://github.com/moodle/moodle.git
synced 2025-01-19 14:27:22 +01:00
3fca693751
Before this patch it was possible for the student displayed on the grading page to not be the student that the user selected to grade. This would occur if: 1) The user had the table ordered by a value that could be modified, for example Last modified (submission), Grade, Last modified (grade) 2) Another user performed an action that was recorded in Moodle in the time between the user generating the table and clicking on a grade link. If a user did not notice a different user had been loaded it could result in them giving a grade to the incorrect user. This patch ensures that the state of the table is cached every time it is viewed by a user who has the capability to grade.
53 lines
1.8 KiB
PHP
53 lines
1.8 KiB
PHP
<?php
|
|
// This file is part of Moodle - http://moodle.org/
|
|
//
|
|
// Moodle is free software: you can redistribute it and/or modify
|
|
// it under the terms of the GNU General Public License as published by
|
|
// the Free Software Foundation, either version 3 of the License, or
|
|
// (at your option) any later version.
|
|
//
|
|
// Moodle is distributed in the hope that it will be useful,
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
// GNU General Public License for more details.
|
|
//
|
|
// You should have received a copy of the GNU General Public License
|
|
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
/**
|
|
* This file is the entry point to the assign module. All pages are rendered from here
|
|
*
|
|
* @package mod_assign
|
|
* @copyright 2012 NetSpot {@link http://www.netspot.com.au}
|
|
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
|
*/
|
|
|
|
require_once('../../config.php');
|
|
require_once($CFG->dirroot . '/mod/assign/locallib.php');
|
|
|
|
$id = required_param('id', PARAM_INT);
|
|
|
|
list ($course, $cm) = get_course_and_cm_from_cmid($id, 'assign');
|
|
|
|
require_login($course, true, $cm);
|
|
|
|
$context = context_module::instance($cm->id);
|
|
|
|
require_capability('mod/assign:view', $context);
|
|
|
|
$assign = new assign($context, $cm, $course);
|
|
$urlparams = array('id' => $id,
|
|
'action' => optional_param('action', '', PARAM_TEXT),
|
|
'rownum' => optional_param('rownum', 0, PARAM_INT),
|
|
'useridlistid' => optional_param('useridlistid', $assign->get_useridlist_key_id(), PARAM_ALPHANUM));
|
|
|
|
$url = new moodle_url('/mod/assign/view.php', $urlparams);
|
|
$PAGE->set_url($url);
|
|
|
|
$completion=new completion_info($course);
|
|
$completion->set_module_viewed($cm);
|
|
|
|
// Get the assign class to
|
|
// render the page.
|
|
echo $assign->view(optional_param('action', '', PARAM_TEXT));
|