Pagination a sorting fix
This commit is contained in:
@@ -29,12 +29,17 @@ require_once(dirname(__FILE__).'/locallib.php');
|
||||
$cmid = required_param('cmid', PARAM_INT); // course module
|
||||
$confirm = optional_param('confirm', false, PARAM_BOOL); // confirmation
|
||||
|
||||
// the params to be re-passed to view.php
|
||||
$page = optional_param('page', 0, PARAM_INT);
|
||||
$sortby = optional_param('sortby', 'lastname', PARAM_ALPHA);
|
||||
$sorthow = optional_param('sorthow', 'ASC', PARAM_ALPHA);
|
||||
|
||||
$cm = get_coursemodule_from_id('workshop', $cmid, 0, false, MUST_EXIST);
|
||||
$course = $DB->get_record('course', array('id' => $cm->course), '*', MUST_EXIST);
|
||||
$workshop = $DB->get_record('workshop', array('id' => $cm->instance), '*', MUST_EXIST);
|
||||
$workshop = new workshop($workshop, $cm, $course);
|
||||
|
||||
$PAGE->set_url(new moodle_url($workshop->aggregate_url(), array('cmid' => $cmid)));
|
||||
$PAGE->set_url(new moodle_url($workshop->aggregate_url(), compact('confirm', 'page', 'sortby', 'sorthow')));
|
||||
|
||||
require_login($course, false, $cm);
|
||||
require_capability('mod/workshop:overridegrades', $PAGE->context);
|
||||
@@ -50,7 +55,7 @@ if ($confirm) {
|
||||
$evaluator->update_grading_grades(); // updates 'gradinggrade' in {workshop_assessments}
|
||||
$workshop->aggregate_grading_grades(); // updates 'gradinggrade' in {workshop_aggregations}
|
||||
$workshop->aggregate_total_grades(); // updates 'totalgrade' in {workshop_aggregations}
|
||||
redirect($workshop->view_url());
|
||||
redirect(new moodle_url($workshop->view_url(), compact('page', 'sortby', 'sorthow')));
|
||||
}
|
||||
|
||||
$PAGE->set_title($workshop->name);
|
||||
|
||||
@@ -156,13 +156,12 @@ case workshop::PHASE_ASSESSMENT:
|
||||
}
|
||||
break;
|
||||
case workshop::PHASE_EVALUATION:
|
||||
$pagingvar = 'page';
|
||||
$page = optional_param($pagingvar, 0, PARAM_INT);
|
||||
$page = optional_param('page', 0, PARAM_INT);
|
||||
$sortby = optional_param('sortby', 'lastname', PARAM_ALPHA);
|
||||
$sorthow = optional_param('sorthow', 'ASC', PARAM_ALPHA);
|
||||
|
||||
$perpage = 10; // todo let the user modify this
|
||||
$groups = ''; // todo let the user choose the group
|
||||
$PAGE->set_url(new moodle_url($PAGE->url, compact('sortby', 'sorthow', 'page')));
|
||||
$data = $workshop->prepare_grading_report($USER->id, $groups, $page, $perpage, $sortby, $sorthow);
|
||||
if ($data) {
|
||||
$showauthornames = has_capability('mod/workshop:viewauthornames', $PAGE->context);
|
||||
@@ -170,7 +169,7 @@ case workshop::PHASE_EVALUATION:
|
||||
|
||||
if (has_capability('mod/workshop:overridegrades', $PAGE->context)) {
|
||||
$form = new html_form();
|
||||
$form->url = $workshop->aggregate_url();
|
||||
$form->url = new moodle_url($workshop->aggregate_url(), compact('sortby', 'sorthow', 'page'));
|
||||
$form->button = new html_button();
|
||||
$form->button->text = get_string('aggregategrades', 'workshop');
|
||||
$form->method = 'post';
|
||||
@@ -191,7 +190,7 @@ case workshop::PHASE_EVALUATION:
|
||||
$pagingbar->page = $page;
|
||||
$pagingbar->perpage = $perpage;
|
||||
$pagingbar->baseurl = $PAGE->url;
|
||||
$pagingbar->pagevar = $pagingvar;
|
||||
$pagingbar->pagevar = 'page';
|
||||
|
||||
echo $OUTPUT->paging_bar($pagingbar);
|
||||
echo $wsoutput->grading_report($data, $showauthornames, $showreviewernames, $sortby, $sorthow);
|
||||
|
||||
Reference in New Issue
Block a user