From 333db4598d33027f33135579fded552d77c737bc Mon Sep 17 00:00:00 2001 From: Henning Bostelmann Date: Wed, 20 Aug 2014 16:03:55 +0100 Subject: [PATCH] MDL-46911 Database activity: jump to correct place in list after (un)approve --- mod/data/lib.php | 14 +++++++++----- mod/data/view.php | 4 ++-- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/mod/data/lib.php b/mod/data/lib.php index b3e7749d291..c64528edfbd 100644 --- a/mod/data/lib.php +++ b/mod/data/lib.php @@ -1162,9 +1162,10 @@ function data_grade_item_delete($data) { * @param string $search * @param int $page * @param bool $return + * @param object $jumpurl a moodle_url by which to jump back to the record list (can be null) * @return mixed */ -function data_print_template($template, $records, $data, $search='', $page=0, $return=false) { +function data_print_template($template, $records, $data, $search='', $page=0, $return=false, moodle_url $jumpurl=null) { global $CFG, $DB, $OUTPUT; $cm = get_coursemodule_from_instance('data', $data->id); @@ -1192,6 +1193,11 @@ function data_print_template($template, $records, $data, $search='', $page=0, $r return; } + if (!$jumpurl) { + $jumpurl = new moodle_url('/mod/data/view.php', array('d' => $data->id)); + } + $jumpurl = new moodle_url($jumpurl, array('page' => $page, 'sesskey' => sesskey())); + // Check whether this activity is read-only at present $readonly = data_in_readonly_period($data); @@ -1268,8 +1274,7 @@ function data_print_template($template, $records, $data, $search='', $page=0, $r $patterns[]='##approve##'; if (has_capability('mod/data:approve', $context) && ($data->approval) && (!$record->approved)) { - $approveurl = new moodle_url('/mod/data/view.php', - array('d' => $data->id, 'approve' => $record->id, 'sesskey' => sesskey())); + $approveurl = new moodle_url($jumpurl, array('approve' => $record->id)); $approveicon = new pix_icon('t/approve', get_string('approve', 'data'), '', array('class' => 'iconsmall')); $replacement[] = html_writer::tag('span', $OUTPUT->action_icon($approveurl, $approveicon), array('class' => 'approve')); @@ -1279,8 +1284,7 @@ function data_print_template($template, $records, $data, $search='', $page=0, $r $patterns[]='##disapprove##'; if (has_capability('mod/data:approve', $context) && ($data->approval) && ($record->approved)) { - $disapproveurl = new moodle_url('/mod/data/view.php', - array('d' => $data->id, 'disapprove' => $record->id, 'sesskey' => sesskey())); + $disapproveurl = new moodle_url($jumpurl, array('disapprove' => $record->id)); $disapproveicon = new pix_icon('t/block', get_string('disapprove', 'data'), '', array('class' => 'iconsmall')); $replacement[] = html_writer::tag('span', $OUTPUT->action_icon($disapproveurl, $disapproveicon), array('class' => 'disapprove')); diff --git a/mod/data/view.php b/mod/data/view.php index 557ce4e1641..0fa4cbc66b2 100644 --- a/mod/data/view.php +++ b/mod/data/view.php @@ -767,7 +767,7 @@ if ($showactivity) { $records = $rm->get_ratings($ratingoptions); } - data_print_template('singletemplate', $records, $data, $search, $page); + data_print_template('singletemplate', $records, $data, $search, $page, false, new moodle_url($baseurl)); echo $OUTPUT->paging_bar($totalcount, $page, $nowperpage, $baseurl); @@ -788,7 +788,7 @@ if ($showactivity) { data_generate_default_template($data, 'listtemplate', 0, false, false); } echo $data->listtemplateheader; - data_print_template('listtemplate', $records, $data, $search, $page); + data_print_template('listtemplate', $records, $data, $search, $page, false, new moodle_url($baseurl)); echo $data->listtemplatefooter; echo $OUTPUT->paging_bar($totalcount, $page, $nowperpage, $baseurl);