diff --git a/blocks/feedback/db/install.php b/blocks/feedback/db/install.php index 737c9e39ec1..1c42fc7df3d 100644 --- a/blocks/feedback/db/install.php +++ b/blocks/feedback/db/install.php @@ -22,8 +22,13 @@ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ +/** + * Perform the post-install procedures. + */ function xmldb_block_feedback_install() { global $DB; -} + // Disable feedback on new installs by default. + $DB->set_field('block', 'visible', 0, ['name' => 'feedback']); +} diff --git a/blocks/feedback/db/upgrade.php b/blocks/feedback/db/upgrade.php new file mode 100644 index 00000000000..b70a3b843f9 --- /dev/null +++ b/blocks/feedback/db/upgrade.php @@ -0,0 +1,62 @@ +. + +/** + * This file keeps track of upgrades to the feedback block + * + * Sometimes, changes between versions involve alterations to database structures + * and other major things that may break installations. + * + * The upgrade function in this file will attempt to perform all the necessary + * actions to upgrade your older installation to the current version. + * + * If there's something it cannot do itself, it will tell you what you need to do. + * + * The commands in here will all be database-neutral, using the methods of + * database_manager class + * + * Please do not forget to use upgrade_set_timeout() + * before any action that may take longer time to finish. + * + * @package block_feedback + * @copyright 2021 Sara Arjona (sara@moodle.com) + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +defined('MOODLE_INTERNAL') || die(); + +/** + * Handles upgrading instances of this block. + * + * @param int $oldversion + * @param object $block + */ +function xmldb_block_feedback_upgrade($oldversion, $block) { + global $CFG, $DB; + + if ($oldversion < 2021121600) { + // From Moodle 4.0, this block has been disabled by default in new installations. + // If the site has no instances of this block, it will disabled during the upgrading process too. + $totalcount = $DB->count_records('block_instances', ['blockname' => 'feedback']); + if ($totalcount == 0) { + $DB->set_field('block', 'visible', 0, ['name' => 'feedback']); + } + + upgrade_block_savepoint(true, 2021121600, 'feedback', false); + } + + return true; +} diff --git a/blocks/feedback/version.php b/blocks/feedback/version.php index 5f91e46edab..8276a6288b2 100644 --- a/blocks/feedback/version.php +++ b/blocks/feedback/version.php @@ -24,7 +24,7 @@ defined('MOODLE_INTERNAL') || die(); -$plugin->version = 2021052500; // The current plugin version (Date: YYYYMMDDXX). +$plugin->version = 2021121600; // The current plugin version (Date: YYYYMMDDXX). $plugin->requires = 2021052500; // Requires this Moodle version. $plugin->component = 'block_feedback'; // Full name of the plugin (used for diagnostics) diff --git a/mod/feedback/tests/behat/coursemapping.feature b/mod/feedback/tests/behat/coursemapping.feature index 44d69d7b3e9..ae68aa53c7c 100644 --- a/mod/feedback/tests/behat/coursemapping.feature +++ b/mod/feedback/tests/behat/coursemapping.feature @@ -34,6 +34,7 @@ Feature: Mapping courses in a feedback | activity | name | course | idnumber | anonymous | publish_stats | section | | feedback | Course feedback | Acceptance test site | feedback0 | 1 | 1 | 1 | | feedback | Another feedback | C1 | feedback1 | 1 | 1 | 0 | + And I enable "feedback" "block" plugin When I log in as "manager" And I am on site homepage And I follow "Course feedback"