Skip to content

Commit

Permalink
Merge branch 'MDL-59393-int-fix-1' of github.com:ryanwyllie/moodle
Browse files Browse the repository at this point in the history
  • Loading branch information
andrewnicols committed Aug 23, 2017
2 parents ac15016 + 9628389 commit cbf0ec5
Show file tree
Hide file tree
Showing 7 changed files with 42 additions and 40 deletions.
2 changes: 1 addition & 1 deletion calendar/amd/build/repository.min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions calendar/amd/src/drag_drop.js
Expand Up @@ -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);
Expand Down
4 changes: 2 additions & 2 deletions calendar/amd/src/repository.js
Expand Up @@ -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
}
};

Expand Down
10 changes: 5 additions & 5 deletions calendar/classes/local/api.php
Expand Up @@ -222,19 +222,19 @@ public static function get_action_events_by_courses(
* 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.
Expand Down
20 changes: 10 additions & 10 deletions calendar/externallib.php
Expand Up @@ -919,8 +919,8 @@ public static function get_calendar_monthly_view_returns() {
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),
]
);
}
Expand All @@ -934,25 +934,25 @@ public static function update_event_start_day_parameters() {
*
* 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);
Expand All @@ -963,7 +963,7 @@ public static function update_event_start_day($eventId, $dayTimestamp) {

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);
Expand Down
28 changes: 14 additions & 14 deletions calendar/tests/externallib_test.php
Expand Up @@ -1300,8 +1300,8 @@ public function test_update_event_start_day() {
$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);
Expand All @@ -1318,11 +1318,11 @@ public function test_update_event_start_day() {
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
Expand All @@ -1340,8 +1340,8 @@ public function test_update_event_start_day_no_permission() {
$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);
Expand All @@ -1358,13 +1358,13 @@ public function test_update_event_start_day_no_permission() {
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
Expand All @@ -1378,12 +1378,12 @@ public function test_update_event_start_day_module_event() {
$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);
Expand All @@ -1402,13 +1402,13 @@ public function test_update_event_start_day_module_event() {
'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
Expand Down
16 changes: 8 additions & 8 deletions calendar/tests/local_api_test.php
Expand Up @@ -870,8 +870,8 @@ public function test_update_event_start_day_updates_date() {
$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();

Expand All @@ -886,11 +886,11 @@ public function test_update_event_start_day_updates_date() {
'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());
Expand All @@ -905,8 +905,8 @@ public function test_update_event_start_day_no_permission() {
$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();

Expand All @@ -920,12 +920,12 @@ public function test_update_event_start_day_no_permission() {
'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);
}
}

0 comments on commit cbf0ec5

Please sign in to comment.