MDL-59393 calendar: stop user editing module events

This commit is contained in:
Ryan Wyllie 2017-08-18 05:29:07 +00:00
parent 5ca142dc5b
commit 909d08588d
5 changed files with 72 additions and 5 deletions

View file

@ -811,6 +811,10 @@ class core_calendar_external extends external_api {
$properties = $legacyevent->properties(true);
}
if (!calendar_edit_event_allowed($legacyevent, true)) {
print_error('nopermissiontoupdatecalendar');
}
$legacyevent->update($properties);
$eventmapper = event_container::get_event_mapper();
@ -947,7 +951,19 @@ class core_calendar_external extends external_api {
self::validate_context($context);
$vault = event_container::get_event_vault();
$mapper = event_container::get_event_mapper();
$event = $vault->get_event_by_id($eventId);
if (!$event) {
throw new \moodle_exception('Unable to find event with id ' . $eventId);
}
$legacyevent = $mapper->from_event_to_legacy_event($event);
if (!calendar_edit_event_allowed($legacyevent, true)) {
print_error('nopermissiontoupdatecalendar');
}
$newdate = usergetdate($dayTimestamp);
$startdatestring = implode('-', [$newdate['year'], $newdate['mon'], $newdate['mday']]);
$startdate = new DateTimeImmutable($startdatestring);