MDL-67208 calendar: fix manage subscription redirection

This patch fix the subcription page only adding the course parameter
only when viewing the calendar on course context. It also passes the
url to the form instance, so we have the course parameter on the
form action attribute.
This commit is contained in:
Simey Lameze 2021-06-14 10:49:37 +08:00
parent 338b60f43b
commit 1834f1c9ce
2 changed files with 3 additions and 3 deletions

View File

@ -37,7 +37,7 @@ $groupcourseid = optional_param('groupcourseid', 0, PARAM_INT);
$action = optional_param('action', '', PARAM_INT);
$url = new moodle_url('/calendar/managesubscriptions.php');
if ($courseid != SITEID) {
if ($courseid != SITEID && !empty($courseid)) {
$url->param('course', $courseid);
}
if ($categoryid) {
@ -77,7 +77,7 @@ $customdata = [
'courseid' => $course->id,
'groups' => $groups,
];
$form = new \core_calendar\local\event\forms\managesubscriptions(null, $customdata);
$form = new \core_calendar\local\event\forms\managesubscriptions($url, $customdata);
$form->set_data(array(
'course' => $course->id
));

View File

@ -374,7 +374,7 @@ class core_calendar_renderer extends plugin_renderer_base {
*/
protected function subscription_action_form($subscription) {
// Assemble form for the subscription row.
$html = html_writer::start_tag('form', array('action' => new moodle_url('/calendar/managesubscriptions.php'), 'method' => 'post'));
$html = html_writer::start_tag('form', ['action' => $this->page->url->out(false) , 'method' => 'post']);
if (empty($subscription->url)) {
// Don't update an iCal file, which has no URL.
$html .= html_writer::empty_tag('input', array('type' => 'hidden', 'name' => 'pollinterval', 'value' => '0'));