Merge branch 'MDL-64214-35' of git://github.com/junpataleta/moodle into MOODLE_35_STABLE
This commit is contained in:
@@ -40,6 +40,7 @@ class managesubscriptions extends \moodleform {
|
||||
* Defines the form used to add calendar subscriptions.
|
||||
*/
|
||||
public function definition() {
|
||||
global $PAGE;
|
||||
$mform = $this->_form;
|
||||
$eventtypes = calendar_get_allowed_event_types();
|
||||
if (in_array(true, $eventtypes, true) === false) {
|
||||
@@ -86,6 +87,9 @@ class managesubscriptions extends \moodleform {
|
||||
|
||||
// Eventtype: 0 = user, 1 = global, anything else = course ID.
|
||||
$mform->addElement('submit', 'add', get_string('add'));
|
||||
|
||||
// Add the javascript required to enhance this mform.
|
||||
$PAGE->requires->js_call_amd('core_calendar/event_form', 'init', [$mform->getAttribute('id')]);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -2783,14 +2783,6 @@ function calendar_add_subscription($sub) {
|
||||
unset($sub->groupcourseid);
|
||||
}
|
||||
|
||||
// Pull the group id back out of the value. The form saves the value
|
||||
// as "<courseid>-<groupid>" to allow the javascript to work correctly.
|
||||
if (!empty($sub->groupid)) {
|
||||
list($courseid, $groupid) = explode('-', $sub->groupid);
|
||||
$sub->courseid = $courseid;
|
||||
$sub->groupid = $groupid;
|
||||
}
|
||||
|
||||
// Default course id if none is set.
|
||||
if (empty($sub->courseid)) {
|
||||
if ($sub->eventtype === 'site') {
|
||||
|
||||
@@ -33,6 +33,7 @@ $categoryid = optional_param('category', null, PARAM_INT);
|
||||
// Used for processing subscription actions.
|
||||
$subscriptionid = optional_param('id', 0, PARAM_INT);
|
||||
$pollinterval = optional_param('pollinterval', 0, PARAM_INT);
|
||||
$groupcourseid = optional_param('groupcourseid', 0, PARAM_INT);
|
||||
$action = optional_param('action', '', PARAM_INT);
|
||||
|
||||
$url = new moodle_url('/calendar/managesubscriptions.php');
|
||||
@@ -61,7 +62,22 @@ if (!calendar_user_can_add_event($course)) {
|
||||
print_error('errorcannotimport', 'calendar');
|
||||
}
|
||||
|
||||
$form = new \core_calendar\local\event\forms\managesubscriptions(null, ['courseid' => $course->id]);
|
||||
// Populate the 'group' select box based on the given 'groupcourseid', if necessary.
|
||||
$groups = [];
|
||||
if (!empty($groupcourseid)) {
|
||||
require_once($CFG->libdir . '/grouplib.php');
|
||||
$groupcoursedata = groups_get_course_data($groupcourseid);
|
||||
if (!empty($groupcoursedata->groups)) {
|
||||
foreach ($groupcoursedata->groups as $groupid => $groupdata) {
|
||||
$groups[$groupid] = $groupdata->name;
|
||||
}
|
||||
}
|
||||
}
|
||||
$customdata = [
|
||||
'courseid' => $course->id,
|
||||
'groups' => $groups,
|
||||
];
|
||||
$form = new \core_calendar\local\event\forms\managesubscriptions(null, $customdata);
|
||||
$form->set_data(array(
|
||||
'course' => $course->id
|
||||
));
|
||||
|
||||
@@ -533,7 +533,8 @@ class core_calendar_events_testcase extends advanced_testcase {
|
||||
$subscription = new stdClass();
|
||||
$subscription->eventtype = 'group';
|
||||
$subscription->name = 'test';
|
||||
$subscription->groupid = "{$courseid}-{$groupid}";
|
||||
$subscription->courseid = $courseid;
|
||||
$subscription->groupid = $groupid;
|
||||
|
||||
// Trigger and capture the event.
|
||||
$sink = $this->redirectEvents();
|
||||
@@ -668,7 +669,9 @@ class core_calendar_events_testcase extends advanced_testcase {
|
||||
$subscription = new stdClass();
|
||||
$subscription->eventtype = 'group';
|
||||
$subscription->name = 'test';
|
||||
$subscription->groupid = "{$courseid}-{$groupid}";
|
||||
$subscription->courseid = $courseid;
|
||||
$subscription->groupid = $groupid;
|
||||
|
||||
$subscription->id = calendar_add_subscription($subscription);
|
||||
// Now edit it.
|
||||
$subscription->name = 'awesome';
|
||||
@@ -797,7 +800,8 @@ class core_calendar_events_testcase extends advanced_testcase {
|
||||
$subscription = new stdClass();
|
||||
$subscription->eventtype = 'group';
|
||||
$subscription->name = 'test';
|
||||
$subscription->groupid = "{$courseid}-{$groupid}";
|
||||
$subscription->groupid = $groupid;
|
||||
$subscription->courseid = $courseid;
|
||||
$subscription->id = calendar_add_subscription($subscription);
|
||||
|
||||
// Trigger and capture the event.
|
||||
|
||||
Reference in New Issue
Block a user