Merge branch 'MDL-59393-int-fix-1' of github.com:ryanwyllie/moodle

This commit is contained in:
Andrew Nicols
2017-08-23 10:54:51 +08:00
7 changed files with 42 additions and 40 deletions
+1 -1
View File
@@ -1 +1 @@
define(["jquery","core/ajax"],function(a,b){var c=function(a){var c={methodname:"core_calendar_delete_calendar_events",args:{events:[{eventid:a,repeat:1}]}};return b.call([c])[0]},d=function(a){var c={methodname:"core_calendar_get_calendar_event_by_id",args:{eventid:a}};return b.call([c])[0]},e=function(a){var c={methodname:"core_calendar_submit_create_update_form",args:{formdata:a}};return b.call([c])[0]},f=function(a,c){var d={methodname:"core_calendar_get_calendar_monthly_view",args:{time:a,courseid:c}};return b.call([d])[0]},g=function(a,c){var d={methodname:"core_calendar_update_event_start_day",args:{eventId:a,dayTimestamp:c}};return b.call([d])[0]};return{getEventById:d,deleteEvent:c,updateEventStartDay:g,submitCreateUpdateForm:e,getCalendarMonthData:f}});
define(["jquery","core/ajax"],function(a,b){var c=function(a){var c={methodname:"core_calendar_delete_calendar_events",args:{events:[{eventid:a,repeat:1}]}};return b.call([c])[0]},d=function(a){var c={methodname:"core_calendar_get_calendar_event_by_id",args:{eventid:a}};return b.call([c])[0]},e=function(a){var c={methodname:"core_calendar_submit_create_update_form",args:{formdata:a}};return b.call([c])[0]},f=function(a,c){var d={methodname:"core_calendar_get_calendar_monthly_view",args:{time:a,courseid:c}};return b.call([d])[0]},g=function(a,c){var d={methodname:"core_calendar_update_event_start_day",args:{eventid:a,daytimestamp:c}};return b.call([d])[0]};return{getEventById:d,deleteEvent:c,updateEventStartDay:g,submitCreateUpdateForm:e,getCalendarMonthData:f}});
+2
View File
@@ -188,6 +188,8 @@ define([
return {
/**
* Initialise the event handlers for the drag events.
*
* @param {object} root The root calendar element that containers the drag drop elements
*/
init: function(root) {
root = $(root);
+2 -2
View File
@@ -116,8 +116,8 @@ define(['jquery', 'core/ajax'], function($, Ajax) {
var request = {
methodname: 'core_calendar_update_event_start_day',
args: {
eventId: eventId,
dayTimestamp: dayTimestamp
eventid: eventId,
daytimestamp: dayTimestamp
}
};
+5 -5
View File
@@ -222,19 +222,19 @@ class api {
* modified, the time of day for the event will be left as is.
*
* @param event_interface $event The existing event to modify
* @param DateTimeInterface $startDate The new date to use for the start day
* @param DateTimeInterface $startdate The new date to use for the start day
* @return event_interface The new event with updated start date
*/
public static function update_event_start_day(
event_interface $event,
\DateTimeInterface $startDate
\DateTimeInterface $startdate
) {
$mapper = container::get_event_mapper();
$legacyevent = $mapper->from_event_to_legacy_event($event);
$starttime = $event->get_times()->get_start_time()->setDate(
$startDate->format('Y'),
$startDate->format('n'),
$startDate->format('j')
$startdate->format('Y'),
$startdate->format('n'),
$startdate->format('j')
);
// This function does our capability checks.
+10 -10
View File
@@ -919,8 +919,8 @@ class core_calendar_external extends external_api {
public static function update_event_start_day_parameters() {
return new external_function_parameters(
[
'eventId' => new external_value(PARAM_INT, 'Id of event to be updated', VALUE_REQUIRED),
'dayTimestamp' => new external_value(PARAM_INT, 'Timestamp for the new start day', VALUE_REQUIRED),
'eventid' => new external_value(PARAM_INT, 'Id of event to be updated', VALUE_REQUIRED),
'daytimestamp' => new external_value(PARAM_INT, 'Timestamp for the new start day', VALUE_REQUIRED),
]
);
}
@@ -934,25 +934,25 @@ class core_calendar_external extends external_api {
*
* The event's original time of day is maintained, only the date is shifted.
*
* @param int $eventId Id of event to be updated
* @param int $dayTimestamp Timestamp for the new start day
* @param int $eventid Id of event to be updated
* @param int $daytimestamp Timestamp for the new start day
* @return array
*/
public static function update_event_start_day($eventId, $dayTimestamp) {
public static function update_event_start_day($eventid, $daytimestamp) {
global $USER, $PAGE;
// Parameter validation.
$params = self::validate_parameters(self::update_event_start_day_parameters(), [
'eventId' => $eventId,
'dayTimestamp' => $dayTimestamp,
'eventid' => $eventid,
'daytimestamp' => $daytimestamp,
]);
$vault = event_container::get_event_vault();
$mapper = event_container::get_event_mapper();
$event = $vault->get_event_by_id($eventId);
$event = $vault->get_event_by_id($eventid);
if (!$event) {
throw new \moodle_exception('Unable to find event with id ' . $eventId);
throw new \moodle_exception('Unable to find event with id ' . $eventid);
}
$legacyevent = $mapper->from_event_to_legacy_event($event);
@@ -963,7 +963,7 @@ class core_calendar_external extends external_api {
self::validate_context($legacyevent->context);
$newdate = usergetdate($dayTimestamp);
$newdate = usergetdate($daytimestamp);
$startdatestring = implode('-', [$newdate['year'], $newdate['mon'], $newdate['mday']]);
$startdate = new DateTimeImmutable($startdatestring);
$event = local_api::update_event_start_day($event, $startdate);
+14 -14
View File
@@ -1300,8 +1300,8 @@ class core_calendar_externallib_testcase extends externallib_advanced_testcase {
$user = $generator->create_user();
$roleid = $generator->create_role();
$context = \context_system::instance();
$originalStartTime = new DateTimeImmutable('2017-01-1T15:00:00+08:00');
$newStartDate = new DateTimeImmutable('2018-02-2T10:00:00+08:00');
$originalstarttime = new DateTimeImmutable('2017-01-1T15:00:00+08:00');
$newstartdate = new DateTimeImmutable('2018-02-2T10:00:00+08:00');
$expected = new DateTimeImmutable('2018-02-2T15:00:00+08:00');
$generator->role_assign($roleid, $user->id, $context->id);
@@ -1318,11 +1318,11 @@ class core_calendar_externallib_testcase extends externallib_advanced_testcase {
null,
[
'courseid' => 0,
'timestart' => $originalStartTime->getTimestamp()
'timestart' => $originalstarttime->getTimestamp()
]
);
$result = core_calendar_external::update_event_start_day($event->id, $newStartDate->getTimestamp());
$result = core_calendar_external::update_event_start_day($event->id, $newstartdate->getTimestamp());
$result = external_api::clean_returnvalue(
core_calendar_external::update_event_start_day_returns(),
$result
@@ -1340,8 +1340,8 @@ class core_calendar_externallib_testcase extends externallib_advanced_testcase {
$user = $generator->create_user();
$roleid = $generator->create_role();
$context = \context_system::instance();
$originalStartTime = new DateTimeImmutable('2017-01-1T15:00:00+08:00');
$newStartDate = new DateTimeImmutable('2018-02-2T10:00:00+08:00');
$originalstarttime = new DateTimeImmutable('2017-01-1T15:00:00+08:00');
$newstartdate = new DateTimeImmutable('2018-02-2T10:00:00+08:00');
$expected = new DateTimeImmutable('2018-02-2T15:00:00+08:00');
$generator->role_assign($roleid, $user->id, $context->id);
@@ -1358,13 +1358,13 @@ class core_calendar_externallib_testcase extends externallib_advanced_testcase {
null,
[
'courseid' => 0,
'timestart' => $originalStartTime->getTimestamp()
'timestart' => $originalstarttime->getTimestamp()
]
);
assign_capability('moodle/calendar:manageownentries', CAP_PROHIBIT, $roleid, $context, true);
$this->expectException('moodle_exception');
$result = core_calendar_external::update_event_start_day($event->id, $newStartDate->getTimestamp());
$result = core_calendar_external::update_event_start_day($event->id, $newstartdate->getTimestamp());
$result = external_api::clean_returnvalue(
core_calendar_external::update_event_start_day_returns(),
$result
@@ -1378,12 +1378,12 @@ class core_calendar_externallib_testcase extends externallib_advanced_testcase {
$generator = $this->getDataGenerator();
$user = $generator->create_user();
$course = $generator->create_course();
$moduleinstance = $generator->get_plugin_generator('mod_assign')
->create_instance(['course' => $course->id]);
$plugingenerator = $generator->get_plugin_generator('mod_assign');
$moduleinstance = $plugingenerator->create_instance(['course' => $course->id]);
$roleid = $generator->create_role();
$context = \context_course::instance($course->id);
$originalStartTime = new DateTimeImmutable('2017-01-1T15:00:00+08:00');
$newStartDate = new DateTimeImmutable('2018-02-2T10:00:00+08:00');
$originalstarttime = new DateTimeImmutable('2017-01-1T15:00:00+08:00');
$newstartdate = new DateTimeImmutable('2018-02-2T10:00:00+08:00');
$expected = new DateTimeImmutable('2018-02-2T15:00:00+08:00');
$generator->role_assign($roleid, $user->id, $context->id);
@@ -1402,13 +1402,13 @@ class core_calendar_externallib_testcase extends externallib_advanced_testcase {
'modulename' => 'assign',
'instance' => $moduleinstance->id,
'courseid' => $course->id,
'timestart' => $originalStartTime->getTimestamp()
'timestart' => $originalstarttime->getTimestamp()
]
);
assign_capability('moodle/calendar:manageentries', CAP_ALLOW, $roleid, $context, true);
$this->expectException('moodle_exception');
$result = core_calendar_external::update_event_start_day($event->id, $newStartDate->getTimestamp());
$result = core_calendar_external::update_event_start_day($event->id, $newstartdate->getTimestamp());
$result = external_api::clean_returnvalue(
core_calendar_external::update_event_start_day_returns(),
$result
+8 -8
View File
@@ -870,8 +870,8 @@ class core_calendar_local_api_testcase extends advanced_testcase {
$user = $generator->create_user();
$roleid = $generator->create_role();
$context = \context_system::instance();
$originalStartTime = new DateTimeImmutable('2017-01-1T15:00:00+08:00');
$newStartDate = new DateTimeImmutable('2018-02-2T10:00:00+08:00');
$originalstarttime = new DateTimeImmutable('2017-01-1T15:00:00+08:00');
$newstartdate = new DateTimeImmutable('2018-02-2T10:00:00+08:00');
$expected = new DateTimeImmutable('2018-02-2T15:00:00+08:00');
$mapper = container::get_event_mapper();
@@ -886,11 +886,11 @@ class core_calendar_local_api_testcase extends advanced_testcase {
'userid' => $user->id,
'eventtype' => 'user',
'repeats' => 0,
'timestart' => $originalStartTime->getTimestamp(),
'timestart' => $originalstarttime->getTimestamp(),
]);
$event = $mapper->from_legacy_event_to_event($event);
$newEvent = \core_calendar\local\api::update_event_start_day($event, $newStartDate);
$newEvent = \core_calendar\local\api::update_event_start_day($event, $newstartdate);
$actual = $newEvent->get_times()->get_start_time();
$this->assertEquals($expected->getTimestamp(), $actual->getTimestamp());
@@ -905,8 +905,8 @@ class core_calendar_local_api_testcase extends advanced_testcase {
$user = $generator->create_user();
$roleid = $generator->create_role();
$context = \context_system::instance();
$originalStartTime = new DateTimeImmutable('2017-01-1T15:00:00+08:00');
$newStartDate = new DateTimeImmutable('2018-02-2T10:00:00+08:00');
$originalstarttime = new DateTimeImmutable('2017-01-1T15:00:00+08:00');
$newstartdate = new DateTimeImmutable('2018-02-2T10:00:00+08:00');
$expected = new DateTimeImmutable('2018-02-2T15:00:00+08:00');
$mapper = container::get_event_mapper();
@@ -920,12 +920,12 @@ class core_calendar_local_api_testcase extends advanced_testcase {
'userid' => $user->id,
'eventtype' => 'user',
'repeats' => 0,
'timestart' => $originalStartTime->getTimestamp(),
'timestart' => $originalstarttime->getTimestamp(),
]);
$event = $mapper->from_legacy_event_to_event($event);
assign_capability('moodle/calendar:manageownentries', CAP_PROHIBIT, $roleid, $context, true);
$this->expectException('moodle_exception');
$newEvent = \core_calendar\local\api::update_event_start_day($event, $newStartDate);
$newEvent = \core_calendar\local\api::update_event_start_day($event, $newstartdate);
}
}