Merge branch 'MDL-46783_35' of https://github.com/timhunt/moodle into MOODLE_35_STABLE

This commit is contained in:
Jake Dallimore
2018-12-06 10:23:50 +08:00
23 changed files with 96 additions and 147 deletions
+4 -4
View File
@@ -412,7 +412,7 @@ $capabilities = array(
'moodle/site:accessallgroups' => array(
'captype' => 'read',
'contextlevel' => CONTEXT_COURSE,
'contextlevel' => CONTEXT_MODULE,
'archetypes' => array(
'editingteacher' => CAP_ALLOW,
'manager' => CAP_ALLOW
@@ -422,7 +422,7 @@ $capabilities = array(
'moodle/site:viewfullnames' => array(
'captype' => 'read',
'contextlevel' => CONTEXT_COURSE,
'contextlevel' => CONTEXT_MODULE,
'archetypes' => array(
'teacher' => CAP_ALLOW,
'editingteacher' => CAP_ALLOW,
@@ -436,7 +436,7 @@ $capabilities = array(
'moodle/site:viewuseridentity' => array(
'captype' => 'read',
'contextlevel' => CONTEXT_COURSE,
'contextlevel' => CONTEXT_MODULE,
'archetypes' => array(
'teacher' => CAP_ALLOW,
'editingteacher' => CAP_ALLOW,
@@ -462,7 +462,7 @@ $capabilities = array(
'riskbitmask' => RISK_XSS,
'captype' => 'write',
'contextlevel' => CONTEXT_COURSE,
'contextlevel' => CONTEXT_MODULE,
'archetypes' => array(
'editingteacher' => CAP_ALLOW,
'manager' => CAP_ALLOW
+82
View File
@@ -3351,6 +3351,88 @@ class core_accesslib_testcase extends advanced_testcase {
$this->assertDebuggingCalled('get_system_context() is deprecated, please use context_system::instance() instead.', DEBUG_DEVELOPER);
}
/**
* Helper that verifies a list of capabilities, as returned by
* $context->get_capabilities() contains certain capabilities.
*
* @param array $expected a list of capability names
* @param array $actual a list of capability info from $context->get_capabilities().
*/
protected function assert_capability_list_contains($expected, $actual) {
$actualnames = [];
foreach ($actual as $cap) {
$actualnames[$cap->name] = $cap->name;
}
$this->assertArraySubset(array_combine($expected, $expected), $actualnames);
}
/**
* Test that context_system::get_capabilities returns capabilities relevant to all modules.
*/
public function test_context_module_caps_returned_by_get_capabilities_in_sys_context() {
$actual = context_system::instance()->get_capabilities();
// Just test a few representative capabilities.
$expectedcapabilities = ['moodle/site:accessallgroups', 'moodle/site:viewfullnames',
'repository/upload:view'];
$this->assert_capability_list_contains($expectedcapabilities, $actual);
}
/**
* Test that context_coursecat::get_capabilities returns capabilities relevant to all modules.
*/
public function test_context_module_caps_returned_by_get_capabilities_in_course_cat_context() {
$this->resetAfterTest(true);
$generator = $this->getDataGenerator();
$cat = $generator->create_category();
$actual = context_coursecat::instance($cat->id)->get_capabilities();
// Just test a few representative capabilities.
$expectedcapabilities = ['moodle/site:accessallgroups', 'moodle/site:viewfullnames',
'repository/upload:view'];
$this->assert_capability_list_contains($expectedcapabilities, $actual);
}
/**
* Test that context_course::get_capabilities returns capabilities relevant to all modules.
*/
public function test_context_module_caps_returned_by_get_capabilities_in_course_context() {
$this->resetAfterTest(true);
$generator = $this->getDataGenerator();
$cat = $generator->create_category();
$course = $generator->create_course(['category' => $cat->id]);
$actual = context_course::instance($course->id)->get_capabilities();
// Just test a few representative capabilities.
$expectedcapabilities = ['moodle/site:accessallgroups', 'moodle/site:viewfullnames',
'repository/upload:view'];
$this->assert_capability_list_contains($expectedcapabilities, $actual);
}
/**
* Test that context_module::get_capabilities returns capabilities relevant to all modules.
*/
public function test_context_module_caps_returned_by_get_capabilities_mod_context() {
$this->resetAfterTest(true);
$generator = $this->getDataGenerator();
$cat = $generator->create_category();
$course = $generator->create_course(['category' => $cat->id]);
$page = $generator->create_module('page', ['course' => $course->id]);
$actual = context_module::instance($page->cmid)->get_capabilities();
// Just test a few representative capabilities.
$expectedcapabilities = ['moodle/site:accessallgroups', 'moodle/site:viewfullnames',
'repository/upload:view'];
$this->assert_capability_list_contains($expectedcapabilities, $actual);
}
/**
* Test updating of role capabilities during upgrade
*/
+1 -4
View File
@@ -1296,10 +1296,7 @@ function assign_cron() {
* @return array Array of capability strings
*/
function assign_get_extra_capabilities() {
return array('gradereport/grader:view',
'moodle/grade:viewall',
'moodle/site:viewfullnames',
'moodle/site:config');
return ['gradereport/grader:view', 'moodle/grade:viewall'];
}
/**
+1 -10
View File
@@ -63,15 +63,6 @@ function book_get_nav_classes() {
return array ('navtoc', 'navimages', 'navtext');
}
/**
* Returns all other caps used in module
* @return array
*/
function book_get_extra_capabilities() {
// used for group-members-only
return array('moodle/site:accessallgroups');
}
/**
* Add book instance.
*
@@ -794,4 +785,4 @@ function mod_book_core_calendar_provide_event_action(calendar_event $event,
1,
true
);
}
}
-10
View File
@@ -1271,16 +1271,6 @@ function chat_reset_userdata($data) {
return $status;
}
/**
* Returns all other caps used in module
*
* @return array
*/
function chat_get_extra_capabilities() {
return array('moodle/site:accessallgroups', 'moodle/site:viewfullnames');
}
/**
* @param string $feature FEATURE_xx constant for requested feature
* @return mixed True if module supports feature, null if doesn't know
-9
View File
@@ -822,15 +822,6 @@ function choice_get_response_data($choice, $cm, $groupmode, $onlyactive) {
return $allresponses;
}
/**
* Returns all other caps used in module
*
* @return array
*/
function choice_get_extra_capabilities() {
return array('moodle/site:accessallgroups');
}
/**
* @uses FEATURE_GROUPS
* @uses FEATURE_GROUPINGS
+2 -1
View File
@@ -3003,7 +3003,8 @@ function data_reset_userdata($data) {
* @return array
*/
function data_get_extra_capabilities() {
return array('moodle/site:accessallgroups', 'moodle/site:viewfullnames', 'moodle/rating:view', 'moodle/rating:viewany', 'moodle/rating:viewall', 'moodle/rating:rate', 'moodle/comment:view', 'moodle/comment:post', 'moodle/comment:delete');
return ['moodle/rating:view', 'moodle/rating:viewany', 'moodle/rating:viewall', 'moodle/rating:rate',
'moodle/comment:view', 'moodle/comment:post', 'moodle/comment:delete'];
}
/**
-9
View File
@@ -44,15 +44,6 @@ define('FEEDBACK_DEFAULT_PAGE_COUNT', 20);
define('FEEDBACK_EVENT_TYPE_OPEN', 'open');
define('FEEDBACK_EVENT_TYPE_CLOSE', 'close');
/**
* Returns all other caps used in module.
*
* @return array
*/
function feedback_get_extra_capabilities() {
return array('moodle/site:accessallgroups');
}
/**
* @uses FEATURE_GROUPS
* @uses FEATURE_GROUPINGS
-8
View File
@@ -51,14 +51,6 @@ function folder_supports($feature) {
}
}
/**
* Returns all other caps used in module
* @return array
*/
function folder_get_extra_capabilities() {
return array('moodle/site:accessallgroups');
}
/**
* This function is used by the reset_course_userdata function in moodlelib.
* @param $data the data submitted from the reset course.
+1 -1
View File
@@ -7324,7 +7324,7 @@ function forum_get_forum_types_all() {
* @return array
*/
function forum_get_extra_capabilities() {
return array('moodle/site:accessallgroups', 'moodle/site:viewfullnames', 'moodle/site:trustcontent', 'moodle/rating:view', 'moodle/rating:viewany', 'moodle/rating:viewall', 'moodle/rating:rate');
return ['moodle/rating:view', 'moodle/rating:viewany', 'moodle/rating:viewall', 'moodle/rating:rate'];
}
/**
+2 -1
View File
@@ -3073,7 +3073,8 @@ function glossary_reset_userdata($data) {
* @return array
*/
function glossary_get_extra_capabilities() {
return array('moodle/site:accessallgroups', 'moodle/site:viewfullnames', 'moodle/site:trustcontent', 'moodle/rating:view', 'moodle/rating:viewany', 'moodle/rating:viewall', 'moodle/rating:rate', 'moodle/comment:view', 'moodle/comment:post', 'moodle/comment:delete');
return ['moodle/rating:view', 'moodle/rating:viewany', 'moodle/rating:viewall', 'moodle/rating:rate',
'moodle/comment:view', 'moodle/comment:post', 'moodle/comment:delete'];
}
/**
-8
View File
@@ -45,14 +45,6 @@ function imscp_supports($feature) {
}
}
/**
* Returns all other caps used in module
* @return array
*/
function imscp_get_extra_capabilities() {
return array('moodle/site:accessallgroups');
}
/**
* This function is used by the reset_course_userdata function in moodlelib.
*
-9
View File
@@ -163,15 +163,6 @@ function label_reset_userdata($data) {
return array();
}
/**
* Returns all other caps used in module
*
* @return array
*/
function label_get_extra_capabilities() {
return array('moodle/site:accessallgroups');
}
/**
* @uses FEATURE_IDNUMBER
* @uses FEATURE_GROUPS
-8
View File
@@ -1133,14 +1133,6 @@ function lesson_reset_userdata($data) {
return $status;
}
/**
* Returns all other caps used in module
* @return array
*/
function lesson_get_extra_capabilities() {
return array('moodle/site:accessallgroups');
}
/**
* @uses FEATURE_GROUPS
* @uses FEATURE_GROUPINGS
+1 -10
View File
@@ -48,15 +48,6 @@
defined('MOODLE_INTERNAL') || die;
/**
* Returns all other caps used in module.
*
* @return array
*/
function lti_get_extra_capabilities() {
return array('moodle/site:accessallgroups');
}
/**
* List of features supported in URL module
* @param string $feature FEATURE_xx constant for requested feature
@@ -681,4 +672,4 @@ function mod_lti_core_calendar_provide_event_action(calendar_event $event,
1,
true
);
}
}
-8
View File
@@ -44,14 +44,6 @@ function page_supports($feature) {
}
}
/**
* Returns all other caps used in module
* @return array
*/
function page_get_extra_capabilities() {
return array('moodle/site:accessallgroups');
}
/**
* This function is used by the reset_course_userdata function in moodlelib.
* @param $data the data submitted from the reset course.
+1 -3
View File
@@ -1800,9 +1800,7 @@ function quiz_supports($feature) {
function quiz_get_extra_capabilities() {
global $CFG;
require_once($CFG->libdir . '/questionlib.php');
$caps = question_get_all_capabilities();
$caps[] = 'moodle/site:accessallgroups';
return $caps;
return question_get_all_capabilities();
}
/**
-8
View File
@@ -44,14 +44,6 @@ function resource_supports($feature) {
}
}
/**
* Returns all other caps used in module
* @return array
*/
function resource_get_extra_capabilities() {
return array('moodle/site:accessallgroups');
}
/**
* This function is used by the reset_course_userdata function in moodlelib.
* @param $data the data submitted from the reset course.
-9
View File
@@ -842,15 +842,6 @@ function scorm_reset_userdata($data) {
return $status;
}
/**
* Returns all other caps used in module
*
* @return array
*/
function scorm_get_extra_capabilities() {
return array('moodle/site:accessallgroups');
}
/**
* Lists all file areas current user may browse
*
-9
View File
@@ -770,15 +770,6 @@ function survey_reset_userdata($data) {
return $status;
}
/**
* Returns all other caps used in module
*
* @return array
*/
function survey_get_extra_capabilities() {
return array('moodle/site:accessallgroups');
}
/**
* @uses FEATURE_GROUPS
* @uses FEATURE_GROUPINGS
-8
View File
@@ -46,14 +46,6 @@ function url_supports($feature) {
}
}
/**
* Returns all other caps used in module
* @return array
*/
function url_get_extra_capabilities() {
return array('moodle/site:accessallgroups');
}
/**
* This function is used by the reset_course_userdata function in moodlelib.
* @param $data the data submitted from the reset course.
-9
View File
@@ -1151,15 +1151,6 @@ function workshop_scale_used_anywhere($scaleid) {
return false;
}
/**
* Returns all other caps used in the module
*
* @return array
*/
function workshop_get_extra_capabilities() {
return array('moodle/site:accessallgroups');
}
////////////////////////////////////////////////////////////////////////////////
// Gradebook API //
////////////////////////////////////////////////////////////////////////////////
+1 -1
View File
@@ -29,7 +29,7 @@
defined('MOODLE_INTERNAL') || die();
$version = 2018051703.07; // 20180517 = branching date YYYYMMDD - do not modify!
$version = 2018051703.08; // 20180517 = branching date YYYYMMDD - do not modify!
// RR = release increments - 00 in DEV branches.
// .XX = incremental changes.