]> git.mjollnir.org Git - moodle.git/commitdiff
Pagination a sorting fix
authorDavid Mudrak <david.mudrak@gmail.com>
Mon, 4 Jan 2010 18:16:23 +0000 (18:16 +0000)
committerDavid Mudrak <david.mudrak@gmail.com>
Mon, 4 Jan 2010 18:16:23 +0000 (18:16 +0000)
mod/workshop/aggregate.php
mod/workshop/view.php

index efcab9392f7d2d12a89d314553453a5c601d84cc..aed656d3aca4b94369e549abcdce23f4e603e571 100644 (file)
@@ -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);
index e6aec417ef298044ccea727a63902fc850eb22e8..9322fa1bddeb13e7027f12e3cf56822ad6847867 100644 (file)
@@ -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);