diff --git a/admin/tool/usertours/classes/manager.php b/admin/tool/usertours/classes/manager.php index d5e4ad07749..b094f63d83e 100644 --- a/admin/tool/usertours/classes/manager.php +++ b/admin/tool/usertours/classes/manager.php @@ -855,6 +855,9 @@ class manager { } $existingtourrecords->close(); + // Ensure we correct the sortorder in any existing tours, prior to adding latest shipped tours. + helper::reset_tour_sortorder(); + foreach (array_reverse($shippedtours) as $filename => $version) { $filepath = $CFG->dirroot . "/{$CFG->admin}/tool/usertours/tours/" . $filename; $tourjson = file_get_contents($filepath); diff --git a/admin/tool/usertours/db/upgrade.php b/admin/tool/usertours/db/upgrade.php index 523a453ceda..2b9bc8c04d6 100644 --- a/admin/tool/usertours/db/upgrade.php +++ b/admin/tool/usertours/db/upgrade.php @@ -64,5 +64,12 @@ function xmldb_tool_usertours_upgrade($oldversion) { // Automatically generated Moodle v3.7.0 release upgrade line. // Put any upgrade step following this. + if ($oldversion < 2019052001) { + // Updating shipped tours will fix broken sortorder records in existing tours. + manager::update_shipped_tours(); + + upgrade_plugin_savepoint(true, 2019052001, 'tool', 'usertours'); + } + return true; } diff --git a/admin/tool/usertours/version.php b/admin/tool/usertours/version.php index be0ca0d5bd7..f58e5ce8c38 100644 --- a/admin/tool/usertours/version.php +++ b/admin/tool/usertours/version.php @@ -24,6 +24,6 @@ defined('MOODLE_INTERNAL') || die(); -$plugin->version = 2019052000; // The current module version (Date: YYYYMMDDXX). +$plugin->version = 2019052001; // The current module version (Date: YYYYMMDDXX). $plugin->requires = 2019051100; // Requires this Moodle version. $plugin->component = 'tool_usertours'; // Full name of the plugin (used for diagnostics).