MDL-63995 blocks: Remove unused capabilities and warning.
authorDan Marsden <dan@danmarsden.com>
Mon, 25 Feb 2019 22:00:58 +0000 (11:00 +1300)
committerDan Marsden <dan@danmarsden.com>
Sun, 24 Mar 2019 23:20:13 +0000 (12:20 +1300)
22 files changed:
blocks/moodleblock.class.php
blocks/myoverview/db/access.php
blocks/myoverview/lang/en/block_myoverview.php
blocks/myoverview/upgrade.txt [new file with mode: 0644]
blocks/myoverview/version.php
blocks/recentlyaccessedcourses/db/access.php
blocks/recentlyaccessedcourses/lang/en/block_recentlyaccessedcourses.php
blocks/recentlyaccessedcourses/upgrade.txt [new file with mode: 0644]
blocks/recentlyaccessedcourses/version.php
blocks/recentlyaccesseditems/db/access.php
blocks/recentlyaccesseditems/lang/en/block_recentlyaccesseditems.php
blocks/recentlyaccesseditems/upgrade.txt [new file with mode: 0644]
blocks/recentlyaccesseditems/version.php
blocks/starredcourses/db/access.php
blocks/starredcourses/lang/en/block_starredcourses.php
blocks/starredcourses/upgrade.txt [new file with mode: 0644]
blocks/starredcourses/version.php
blocks/timeline/db/access.php
blocks/timeline/lang/en/block_timeline.php
blocks/timeline/upgrade.txt [new file with mode: 0644]
blocks/timeline/version.php
blocks/upgrade.txt

index 9a52ef7..c987586 100644 (file)
@@ -580,6 +580,9 @@ class block_base {
     function user_can_addto($page) {
         global $USER;
 
     function user_can_addto($page) {
         global $USER;
 
+        // List of formats this block supports.
+        $formats = $this->applicable_formats();
+
         // The blocks in My Moodle are a special case and use a different capability.
         if (!empty($USER->id)
             && $page->context->contextlevel == CONTEXT_USER // Page belongs to a user
         // The blocks in My Moodle are a special case and use a different capability.
         if (!empty($USER->id)
             && $page->context->contextlevel == CONTEXT_USER // Page belongs to a user
@@ -587,7 +590,6 @@ class block_base {
             && $page->pagetype == 'my-index') { // Ensure we are on the My Moodle page
 
             // If the block cannot be displayed on /my it is ok if the myaddinstance capability is not defined.
             && $page->pagetype == 'my-index') { // Ensure we are on the My Moodle page
 
             // If the block cannot be displayed on /my it is ok if the myaddinstance capability is not defined.
-            $formats = $this->applicable_formats();
             // Is 'my' explicitly forbidden?
             // If 'all' has not been allowed, has 'my' been explicitly allowed?
             if ((isset($formats['my']) && $formats['my'] == false)
             // Is 'my' explicitly forbidden?
             // If 'all' has not been allowed, has 'my' been explicitly allowed?
             if ((isset($formats['my']) && $formats['my'] == false)
@@ -601,6 +603,12 @@ class block_base {
                        && has_capability('moodle/my:manageblocks', $page->context);
             }
         }
                        && has_capability('moodle/my:manageblocks', $page->context);
             }
         }
+        // Check if this is a block only used on /my.
+        unset($formats['my']);
+        if (empty($formats)) {
+            // Block can only be added to /my - return false.
+            return false;
+        }
 
         $capability = 'block/' . $this->name() . ':addinstance';
         if ($this->has_add_block_capability($page, $capability)
 
         $capability = 'block/' . $this->name() . ':addinstance';
         if ($this->has_add_block_capability($page, $capability)
index d05b432..b7cb15c 100644 (file)
@@ -34,17 +34,5 @@ $capabilities = array(
         ),
 
         'clonepermissionsfrom' => 'moodle/my:manageblocks'
         ),
 
         'clonepermissionsfrom' => 'moodle/my:manageblocks'
-    ),
-
-    'block/myoverview:addinstance' => array(
-        'riskbitmask' => RISK_SPAM | RISK_XSS,
-
-        'captype' => 'write',
-        'contextlevel' => CONTEXT_BLOCK,
-        'archetypes' => array(
-            'manager' => CAP_ALLOW
-        ),
-
-        'clonepermissionsfrom' => 'moodle/site:manageblocks'
     )
 );
     )
 );
index 6a79717..3ef06af 100644 (file)
@@ -54,7 +54,6 @@ $string['future'] = 'Future';
 $string['inprogress'] = 'In progress';
 $string['lastaccessed'] = 'Last accessed';
 $string['list'] = 'List';
 $string['inprogress'] = 'In progress';
 $string['lastaccessed'] = 'Last accessed';
 $string['list'] = 'List';
-$string['myoverview:addinstance'] = 'Add a new course overview block';
 $string['myoverview:myaddinstance'] = 'Add a new course overview block to Dashboard';
 $string['past'] = 'Past';
 $string['pluginname'] = 'Course overview';
 $string['myoverview:myaddinstance'] = 'Add a new course overview block to Dashboard';
 $string['past'] = 'Past';
 $string['pluginname'] = 'Course overview';
diff --git a/blocks/myoverview/upgrade.txt b/blocks/myoverview/upgrade.txt
new file mode 100644 (file)
index 0000000..e2d27b8
--- /dev/null
@@ -0,0 +1,5 @@
+This file describes API changes in the myoverview block code.
+
+=== 3.7 ===
+
+* The 'block/myoverview:addinstance' capability has been removed. It has never been used in code.
\ No newline at end of file
index 03bb65a..62127b7 100644 (file)
@@ -24,6 +24,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2018120300;         // The current plugin version (Date: YYYYMMDDXX).
+$plugin->version   = 2019022600;         // The current plugin version (Date: YYYYMMDDXX).
 $plugin->requires  = 2018112800;         // Requires this Moodle version.
 $plugin->component = 'block_myoverview'; // Full name of the plugin (used for diagnostics).
 $plugin->requires  = 2018112800;         // Requires this Moodle version.
 $plugin->component = 'block_myoverview'; // Full name of the plugin (used for diagnostics).
index a06c1b9..5fc4788 100644 (file)
@@ -34,15 +34,5 @@ $capabilities = array(
         ),
 
         'clonepermissionsfrom' => 'moodle/my:manageblocks'
         ),
 
         'clonepermissionsfrom' => 'moodle/my:manageblocks'
-    ),
-
-    'block/recentlyaccessedcourses:addinstance' => array(
-        'captype' => 'write',
-        'contextlevel' => CONTEXT_BLOCK,
-        'archetypes' => array(
-            'manager' => CAP_ALLOW
-        ),
-
-        'clonepermissionsfrom' => 'moodle/site:manageblocks'
     )
 );
     )
 );
index cdf71be..8a72247 100644 (file)
@@ -22,6 +22,5 @@
  */
 $string['pluginname'] = 'Recently accessed courses';
 $string['privacy:metadata'] = 'The Recently accessed courses block does not store any personal data.';
  */
 $string['pluginname'] = 'Recently accessed courses';
 $string['privacy:metadata'] = 'The Recently accessed courses block does not store any personal data.';
-$string['recentlyaccessedcourses:addinstance'] = 'Add a new Recently accessed courses block';
 $string['recentlyaccessedcourses:myaddinstance'] = 'Add a new recently accessed courses block to Dashboard';
 $string['nocourses'] = 'No recent courses';
\ No newline at end of file
 $string['recentlyaccessedcourses:myaddinstance'] = 'Add a new recently accessed courses block to Dashboard';
 $string['nocourses'] = 'No recent courses';
\ No newline at end of file
diff --git a/blocks/recentlyaccessedcourses/upgrade.txt b/blocks/recentlyaccessedcourses/upgrade.txt
new file mode 100644 (file)
index 0000000..0b2c2f9
--- /dev/null
@@ -0,0 +1,5 @@
+This file describes API changes in the recentlyaccesscourses block code.
+
+=== 3.7 ===
+
+* The 'block/recentlyaccesscourses:addinstance' capability has been removed. It has never been used in code.
\ No newline at end of file
index d2dc216..f5d3d96 100644 (file)
@@ -22,6 +22,6 @@
  */
 defined('MOODLE_INTERNAL') || die();
 
  */
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2018120300;            // The current plugin version (Date: YYYYMMDDXX).
+$plugin->version   = 2019022600;            // The current plugin version (Date: YYYYMMDDXX).
 $plugin->requires  = 2018112800;            // Requires this Moodle version.
 $plugin->component = 'block_recentlyaccessedcourses'; // Full name of the plugin (used for diagnostics).
 $plugin->requires  = 2018112800;            // Requires this Moodle version.
 $plugin->component = 'block_recentlyaccessedcourses'; // Full name of the plugin (used for diagnostics).
index 99ef6db..1f5f1eb 100644 (file)
@@ -29,13 +29,5 @@ $capabilities = array(
                         'user' => CAP_ALLOW
                 ),
                 'clonepermissionsfrom' => 'moodle/my:manageblocks'
                         'user' => CAP_ALLOW
                 ),
                 'clonepermissionsfrom' => 'moodle/my:manageblocks'
-        ),
-        'block/recentlyaccesseditems:addinstance' => array(
-                'captype' => 'write',
-                'contextlevel' => CONTEXT_BLOCK,
-                'archetypes' => array(
-                        'manager' => CAP_ALLOW
-                ),
-                'clonepermissionsfrom' => 'moodle/site:manageblocks'
         )
 );
\ No newline at end of file
         )
 );
\ No newline at end of file
index e9f3617..a4d217d 100644 (file)
@@ -28,5 +28,4 @@ $string['privacy:metadata:block_recentlyaccesseditemstablesummary'] = 'The Recen
 $string['privacy:metadata:timeaccess'] = 'The time when the user last accessed the item';
 $string['privacy:metadata:userid'] = 'The ID of the user who accessed the item';
 $string['privacy:recentlyaccesseditemspath'] = 'Recently accessed items';
 $string['privacy:metadata:timeaccess'] = 'The time when the user last accessed the item';
 $string['privacy:metadata:userid'] = 'The ID of the user who accessed the item';
 $string['privacy:recentlyaccesseditemspath'] = 'Recently accessed items';
-$string['recentlyaccesseditems:addinstance'] = 'Add a new recently accessed items block';
 $string['recentlyaccesseditems:myaddinstance'] = 'Add a new recently accessed items block to Dashboard';
\ No newline at end of file
 $string['recentlyaccesseditems:myaddinstance'] = 'Add a new recently accessed items block to Dashboard';
\ No newline at end of file
diff --git a/blocks/recentlyaccesseditems/upgrade.txt b/blocks/recentlyaccesseditems/upgrade.txt
new file mode 100644 (file)
index 0000000..c9f8430
--- /dev/null
@@ -0,0 +1,5 @@
+This file describes API changes in the recentlyaccesseditems block code.
+
+=== 3.7 ===
+
+* The 'block/recentlyaccesseditems:addinstance' capability has been removed. It has never been used in code.
\ No newline at end of file
index 1b52c62..b6c5eb1 100644 (file)
@@ -22,6 +22,6 @@
  */
 defined('MOODLE_INTERNAL') || die();
 
  */
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2018120301;            // The current plugin version (Date: YYYYMMDDXX).
+$plugin->version   = 2019022600;            // The current plugin version (Date: YYYYMMDDXX).
 $plugin->requires  = 2018112800;            // Requires this Moodle version.
 $plugin->component = 'block_recentlyaccesseditems'; // Full name of the plugin (used for diagnostics).
 $plugin->requires  = 2018112800;            // Requires this Moodle version.
 $plugin->component = 'block_recentlyaccesseditems'; // Full name of the plugin (used for diagnostics).
index 2f5e365..7b23252 100644 (file)
@@ -34,15 +34,5 @@ $capabilities = array(
         ),
 
         'clonepermissionsfrom' => 'moodle/my:manageblocks'
         ),
 
         'clonepermissionsfrom' => 'moodle/my:manageblocks'
-    ),
-
-    'block/starredcourses:addinstance' => array(
-        'captype' => 'write',
-        'contextlevel' => CONTEXT_BLOCK,
-        'archetypes' => array(
-            'manager' => CAP_ALLOW
-        ),
-
-        'clonepermissionsfrom' => 'moodle/site:manageblocks'
-    ),
+    )
 );
 );
index 37d51a6..06706b8 100644 (file)
@@ -24,6 +24,5 @@
 
 $string['pluginname'] = 'Starred courses';
 $string['privacy:metadata'] = 'The starred courses block does not store any personal data.';
 
 $string['pluginname'] = 'Starred courses';
 $string['privacy:metadata'] = 'The starred courses block does not store any personal data.';
-$string['starredcourses:addinstance'] = 'Add a new starred courses block';
 $string['starredcourses:myaddinstance'] = 'Add a new starred courses block to Dashboard';
 $string['nocourses'] = 'No starred courses';
\ No newline at end of file
 $string['starredcourses:myaddinstance'] = 'Add a new starred courses block to Dashboard';
 $string['nocourses'] = 'No starred courses';
\ No newline at end of file
diff --git a/blocks/starredcourses/upgrade.txt b/blocks/starredcourses/upgrade.txt
new file mode 100644 (file)
index 0000000..4f39536
--- /dev/null
@@ -0,0 +1,5 @@
+This file describes API changes in the starredcourses block code.
+
+=== 3.7 ===
+
+* The 'block/starredcourses:addinstance' capability has been removed. It has never been used in code.
\ No newline at end of file
index ad78412..8ca3131 100644 (file)
@@ -23,6 +23,6 @@
  */
 defined('MOODLE_INTERNAL') || die;
 
  */
 defined('MOODLE_INTERNAL') || die;
 
-$plugin->version = 2018120300;
+$plugin->version = 2019022600;
 $plugin->requires  = 2018112800;
 $plugin->component = 'block_starredcourses';
\ No newline at end of file
 $plugin->requires  = 2018112800;
 $plugin->component = 'block_starredcourses';
\ No newline at end of file
index 6bd70a2..2f8e788 100644 (file)
@@ -34,17 +34,5 @@ $capabilities = array(
         ),
 
         'clonepermissionsfrom' => 'moodle/my:manageblocks'
         ),
 
         'clonepermissionsfrom' => 'moodle/my:manageblocks'
-    ),
-
-    'block/timeline:addinstance' => array(
-        'riskbitmask' => RISK_SPAM | RISK_XSS,
-
-        'captype' => 'write',
-        'contextlevel' => CONTEXT_BLOCK,
-        'archetypes' => array(
-            'manager' => CAP_ALLOW
-        ),
-
-        'clonepermissionsfrom' => 'moodle/site:manageblocks'
     )
 );
     )
 );
index b45d3ff..636463e 100644 (file)
@@ -32,7 +32,6 @@ $string['ariaviewselector'] = 'Sort timeline items';
 $string['ariaviewselectoroption'] = '{$a} sort option';
 $string['duedate'] = 'Due date';
 $string['morecourses'] = 'More courses';
 $string['ariaviewselectoroption'] = '{$a} sort option';
 $string['duedate'] = 'Due date';
 $string['morecourses'] = 'More courses';
-$string['timeline:addinstance'] = 'Add a new timeline block';
 $string['timeline:myaddinstance'] = 'Add a new timeline block to Dashboard';
 $string['nocoursesinprogress'] = 'No in-progress courses';
 $string['noevents'] = 'No upcoming activities due';
 $string['timeline:myaddinstance'] = 'Add a new timeline block to Dashboard';
 $string['nocoursesinprogress'] = 'No in-progress courses';
 $string['noevents'] = 'No upcoming activities due';
diff --git a/blocks/timeline/upgrade.txt b/blocks/timeline/upgrade.txt
new file mode 100644 (file)
index 0000000..3331950
--- /dev/null
@@ -0,0 +1,5 @@
+This file describes API changes in the timeline block code.
+
+=== 3.7 ===
+
+* The 'block/timeline:addinstance' capability has been removed. It has never been used in code.
\ No newline at end of file
index 6ac08f7..90c00cf 100644 (file)
@@ -24,6 +24,6 @@
 
 defined('MOODLE_INTERNAL') || die();
 
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version   = 2018120300;         // The current plugin version (Date: YYYYMMDDXX).
+$plugin->version   = 2019022600;         // The current plugin version (Date: YYYYMMDDXX).
 $plugin->requires  = 2018112800;         // Requires this Moodle version.
 $plugin->component = 'block_timeline'; // Full name of the plugin (used for diagnostics).
 $plugin->requires  = 2018112800;         // Requires this Moodle version.
 $plugin->component = 'block_timeline'; // Full name of the plugin (used for diagnostics).
index 6ed2bea..258de45 100644 (file)
@@ -1,6 +1,9 @@
 This files describes API changes in /blocks/* - activity modules,
 information provided here is intended especially for developers.
 
 This files describes API changes in /blocks/* - activity modules,
 information provided here is intended especially for developers.
 
+=== 3.7 ===
+* The block:addinstance capability is no longer required if the block can only be added to a dashboard.
+
 === 3.6 ===
 
 * The timeline view from block_myoverview has been split out into block_timeline.
 === 3.6 ===
 
 * The timeline view from block_myoverview has been split out into block_timeline.