mirror of
https://github.com/moodle/moodle.git
synced 2025-08-05 00:46:50 +02:00
MDL-40723 use guess_if_creator_will_have_course_capability() for the new weird function
This commit is contained in:
parent
dba745265f
commit
54d5308ef0
4 changed files with 28 additions and 28 deletions
|
@ -105,7 +105,7 @@ class course_edit_form extends moodleform {
|
||||||
$mform->setConstant('visible', $course->visible);
|
$mform->setConstant('visible', $course->visible);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (!will_have_course_capability('moodle/course:visibility', $categorycontext)) {
|
if (!guess_if_creator_will_have_course_capability('moodle/course:visibility', $categorycontext)) {
|
||||||
$mform->hardFreeze('visible');
|
$mform->hardFreeze('visible');
|
||||||
$mform->setConstant('visible', $courseconfig->visible);
|
$mform->setConstant('visible', $courseconfig->visible);
|
||||||
}
|
}
|
||||||
|
|
|
@ -184,7 +184,7 @@ class enrol_guest_plugin extends enrol_plugin {
|
||||||
|
|
||||||
$header = $this->get_instance_name($instance);
|
$header = $this->get_instance_name($instance);
|
||||||
if (!$i) {
|
if (!$i) {
|
||||||
$config = will_have_course_capability('enrol/guest:config', $context);
|
$config = guess_if_creator_will_have_course_capability('enrol/guest:config', $context);
|
||||||
} else {
|
} else {
|
||||||
$config = has_capability('enrol/guest:config', $context);
|
$config = has_capability('enrol/guest:config', $context);
|
||||||
}
|
}
|
||||||
|
|
|
@ -560,7 +560,7 @@ function has_all_capabilities(array $capabilities, context $context, $user = nul
|
||||||
*
|
*
|
||||||
* @throws coding_exception if different type of course submitted
|
* @throws coding_exception if different type of course submitted
|
||||||
*/
|
*/
|
||||||
function will_have_course_capability($capability, context $context, $user = null) {
|
function guess_if_creator_will_have_course_capability($capability, context $context, $user = null) {
|
||||||
global $CFG;
|
global $CFG;
|
||||||
|
|
||||||
if ($context->contextlevel != CONTEXT_COURSE and $context->contextlevel != CONTEXT_COURSECAT) {
|
if ($context->contextlevel != CONTEXT_COURSE and $context->contextlevel != CONTEXT_COURSECAT) {
|
||||||
|
|
|
@ -1496,7 +1496,7 @@ class accesslib_testcase extends advanced_testcase {
|
||||||
/**
|
/**
|
||||||
* Test if course creator future capability lookup works.
|
* Test if course creator future capability lookup works.
|
||||||
*/
|
*/
|
||||||
public function test_will_have_course_capability() {
|
public function test_guess_if_creator_will_have_course_capability() {
|
||||||
global $DB, $CFG, $USER;
|
global $DB, $CFG, $USER;
|
||||||
|
|
||||||
$this->resetAfterTest();
|
$this->resetAfterTest();
|
||||||
|
@ -1522,36 +1522,36 @@ class accesslib_testcase extends advanced_testcase {
|
||||||
$this->assertFalse(has_capability('moodle/role:assign', $categorycontext, $creator));
|
$this->assertFalse(has_capability('moodle/role:assign', $categorycontext, $creator));
|
||||||
$this->assertFalse(has_capability('moodle/course:visibility', $categorycontext, $creator));
|
$this->assertFalse(has_capability('moodle/course:visibility', $categorycontext, $creator));
|
||||||
$this->assertFalse(has_capability('moodle/course:visibility', $coursecontext, $creator));
|
$this->assertFalse(has_capability('moodle/course:visibility', $coursecontext, $creator));
|
||||||
$this->assertFalse(will_have_course_capability('moodle/course:visibility', $categorycontext, $creator));
|
$this->assertFalse(guess_if_creator_will_have_course_capability('moodle/course:visibility', $categorycontext, $creator));
|
||||||
$this->assertFalse(will_have_course_capability('moodle/course:visibility', $coursecontext, $creator));
|
$this->assertFalse(guess_if_creator_will_have_course_capability('moodle/course:visibility', $coursecontext, $creator));
|
||||||
|
|
||||||
$this->assertTrue(has_capability('moodle/role:assign', $categorycontext, $manager));
|
$this->assertTrue(has_capability('moodle/role:assign', $categorycontext, $manager));
|
||||||
$this->assertTrue(has_capability('moodle/course:visibility', $categorycontext, $manager));
|
$this->assertTrue(has_capability('moodle/course:visibility', $categorycontext, $manager));
|
||||||
$this->assertTrue(has_capability('moodle/course:visibility', $coursecontext, $manager));
|
$this->assertTrue(has_capability('moodle/course:visibility', $coursecontext, $manager));
|
||||||
$this->assertTrue(will_have_course_capability('moodle/course:visibility', $categorycontext, $manager->id));
|
$this->assertTrue(guess_if_creator_will_have_course_capability('moodle/course:visibility', $categorycontext, $manager->id));
|
||||||
$this->assertTrue(will_have_course_capability('moodle/course:visibility', $coursecontext, $manager->id));
|
$this->assertTrue(guess_if_creator_will_have_course_capability('moodle/course:visibility', $coursecontext, $manager->id));
|
||||||
|
|
||||||
$this->assertEquals(0, $USER->id);
|
$this->assertEquals(0, $USER->id);
|
||||||
$this->assertFalse(has_capability('moodle/course:view', $categorycontext));
|
$this->assertFalse(has_capability('moodle/course:view', $categorycontext));
|
||||||
$this->assertFalse(has_capability('moodle/role:assign', $categorycontext));
|
$this->assertFalse(has_capability('moodle/role:assign', $categorycontext));
|
||||||
$this->assertFalse(has_capability('moodle/course:visibility', $categorycontext));
|
$this->assertFalse(has_capability('moodle/course:visibility', $categorycontext));
|
||||||
$this->assertFalse(has_capability('moodle/course:visibility', $coursecontext));
|
$this->assertFalse(has_capability('moodle/course:visibility', $coursecontext));
|
||||||
$this->assertFalse(will_have_course_capability('moodle/course:visibility', $categorycontext));
|
$this->assertFalse(guess_if_creator_will_have_course_capability('moodle/course:visibility', $categorycontext));
|
||||||
$this->assertFalse(will_have_course_capability('moodle/course:visibility', $coursecontext));
|
$this->assertFalse(guess_if_creator_will_have_course_capability('moodle/course:visibility', $coursecontext));
|
||||||
|
|
||||||
$this->setUser($manager);
|
$this->setUser($manager);
|
||||||
$this->assertTrue(has_capability('moodle/role:assign', $categorycontext));
|
$this->assertTrue(has_capability('moodle/role:assign', $categorycontext));
|
||||||
$this->assertTrue(has_capability('moodle/course:visibility', $categorycontext));
|
$this->assertTrue(has_capability('moodle/course:visibility', $categorycontext));
|
||||||
$this->assertTrue(has_capability('moodle/course:visibility', $coursecontext));
|
$this->assertTrue(has_capability('moodle/course:visibility', $coursecontext));
|
||||||
$this->assertTrue(will_have_course_capability('moodle/course:visibility', $categorycontext));
|
$this->assertTrue(guess_if_creator_will_have_course_capability('moodle/course:visibility', $categorycontext));
|
||||||
$this->assertTrue(will_have_course_capability('moodle/course:visibility', $coursecontext));
|
$this->assertTrue(guess_if_creator_will_have_course_capability('moodle/course:visibility', $coursecontext));
|
||||||
|
|
||||||
$this->setAdminUser();
|
$this->setAdminUser();
|
||||||
$this->assertTrue(has_capability('moodle/role:assign', $categorycontext));
|
$this->assertTrue(has_capability('moodle/role:assign', $categorycontext));
|
||||||
$this->assertTrue(has_capability('moodle/course:visibility', $categorycontext));
|
$this->assertTrue(has_capability('moodle/course:visibility', $categorycontext));
|
||||||
$this->assertTrue(has_capability('moodle/course:visibility', $coursecontext));
|
$this->assertTrue(has_capability('moodle/course:visibility', $coursecontext));
|
||||||
$this->assertTrue(will_have_course_capability('moodle/course:visibility', $categorycontext));
|
$this->assertTrue(guess_if_creator_will_have_course_capability('moodle/course:visibility', $categorycontext));
|
||||||
$this->assertTrue(will_have_course_capability('moodle/course:visibility', $coursecontext));
|
$this->assertTrue(guess_if_creator_will_have_course_capability('moodle/course:visibility', $coursecontext));
|
||||||
$this->setUser(0);
|
$this->setUser(0);
|
||||||
|
|
||||||
role_assign($creatorrole->id, $creator->id, $categorycontext);
|
role_assign($creatorrole->id, $creator->id, $categorycontext);
|
||||||
|
@ -1559,23 +1559,23 @@ class accesslib_testcase extends advanced_testcase {
|
||||||
$this->assertFalse(has_capability('moodle/role:assign', $categorycontext, $creator));
|
$this->assertFalse(has_capability('moodle/role:assign', $categorycontext, $creator));
|
||||||
$this->assertFalse(has_capability('moodle/course:visibility', $categorycontext, $creator));
|
$this->assertFalse(has_capability('moodle/course:visibility', $categorycontext, $creator));
|
||||||
$this->assertFalse(has_capability('moodle/course:visibility', $coursecontext, $creator));
|
$this->assertFalse(has_capability('moodle/course:visibility', $coursecontext, $creator));
|
||||||
$this->assertTrue(will_have_course_capability('moodle/course:visibility', $categorycontext, $creator));
|
$this->assertTrue(guess_if_creator_will_have_course_capability('moodle/course:visibility', $categorycontext, $creator));
|
||||||
$this->assertTrue(will_have_course_capability('moodle/course:visibility', $coursecontext, $creator));
|
$this->assertTrue(guess_if_creator_will_have_course_capability('moodle/course:visibility', $coursecontext, $creator));
|
||||||
|
|
||||||
$this->setUser($creator);
|
$this->setUser($creator);
|
||||||
$this->assertFalse(has_capability('moodle/role:assign', $categorycontext, null));
|
$this->assertFalse(has_capability('moodle/role:assign', $categorycontext, null));
|
||||||
$this->assertFalse(has_capability('moodle/course:visibility', $categorycontext, null));
|
$this->assertFalse(has_capability('moodle/course:visibility', $categorycontext, null));
|
||||||
$this->assertFalse(has_capability('moodle/course:visibility', $coursecontext, null));
|
$this->assertFalse(has_capability('moodle/course:visibility', $coursecontext, null));
|
||||||
$this->assertTrue(will_have_course_capability('moodle/course:visibility', $categorycontext, null));
|
$this->assertTrue(guess_if_creator_will_have_course_capability('moodle/course:visibility', $categorycontext, null));
|
||||||
$this->assertTrue(will_have_course_capability('moodle/course:visibility', $coursecontext, null));
|
$this->assertTrue(guess_if_creator_will_have_course_capability('moodle/course:visibility', $coursecontext, null));
|
||||||
$this->setUser(0);
|
$this->setUser(0);
|
||||||
|
|
||||||
set_config('creatornewroleid', $studentrole->id);
|
set_config('creatornewroleid', $studentrole->id);
|
||||||
|
|
||||||
$this->assertFalse(has_capability('moodle/course:visibility', $categorycontext, $creator));
|
$this->assertFalse(has_capability('moodle/course:visibility', $categorycontext, $creator));
|
||||||
$this->assertFalse(has_capability('moodle/course:visibility', $coursecontext, $creator));
|
$this->assertFalse(has_capability('moodle/course:visibility', $coursecontext, $creator));
|
||||||
$this->assertFalse(will_have_course_capability('moodle/course:visibility', $categorycontext, $creator));
|
$this->assertFalse(guess_if_creator_will_have_course_capability('moodle/course:visibility', $categorycontext, $creator));
|
||||||
$this->assertFalse(will_have_course_capability('moodle/course:visibility', $coursecontext, $creator));
|
$this->assertFalse(guess_if_creator_will_have_course_capability('moodle/course:visibility', $coursecontext, $creator));
|
||||||
|
|
||||||
set_config('creatornewroleid', $teacherrole->id);
|
set_config('creatornewroleid', $teacherrole->id);
|
||||||
|
|
||||||
|
@ -1588,15 +1588,15 @@ class accesslib_testcase extends advanced_testcase {
|
||||||
$this->assertTrue(has_capability('moodle/role:assign', $coursecontext, $manager));
|
$this->assertTrue(has_capability('moodle/role:assign', $coursecontext, $manager));
|
||||||
$this->assertFalse(has_capability('moodle/course:visibility', $categorycontext, $manager));
|
$this->assertFalse(has_capability('moodle/course:visibility', $categorycontext, $manager));
|
||||||
$this->assertFalse(has_capability('moodle/course:visibility', $coursecontext, $manager));
|
$this->assertFalse(has_capability('moodle/course:visibility', $coursecontext, $manager));
|
||||||
$this->assertFalse(will_have_course_capability('moodle/course:visibility', $categorycontext, $manager));
|
$this->assertFalse(guess_if_creator_will_have_course_capability('moodle/course:visibility', $categorycontext, $manager));
|
||||||
$this->assertFalse(will_have_course_capability('moodle/course:visibility', $coursecontext, $manager));
|
$this->assertFalse(guess_if_creator_will_have_course_capability('moodle/course:visibility', $coursecontext, $manager));
|
||||||
|
|
||||||
role_change_permission($managerrole->id, $categorycontext, 'moodle/course:view', CAP_PREVENT);
|
role_change_permission($managerrole->id, $categorycontext, 'moodle/course:view', CAP_PREVENT);
|
||||||
$this->assertTrue(has_capability('moodle/role:assign', $categorycontext, $manager));
|
$this->assertTrue(has_capability('moodle/role:assign', $categorycontext, $manager));
|
||||||
$this->assertFalse(has_capability('moodle/course:visibility', $categorycontext, $manager));
|
$this->assertFalse(has_capability('moodle/course:visibility', $categorycontext, $manager));
|
||||||
$this->assertFalse(has_capability('moodle/course:visibility', $coursecontext, $manager));
|
$this->assertFalse(has_capability('moodle/course:visibility', $coursecontext, $manager));
|
||||||
$this->assertTrue(will_have_course_capability('moodle/course:visibility', $categorycontext, $manager));
|
$this->assertTrue(guess_if_creator_will_have_course_capability('moodle/course:visibility', $categorycontext, $manager));
|
||||||
$this->assertTrue(will_have_course_capability('moodle/course:visibility', $coursecontext, $manager));
|
$this->assertTrue(guess_if_creator_will_have_course_capability('moodle/course:visibility', $coursecontext, $manager));
|
||||||
|
|
||||||
$this->getDataGenerator()->enrol_user($manager->id, $course->id, 0);
|
$this->getDataGenerator()->enrol_user($manager->id, $course->id, 0);
|
||||||
|
|
||||||
|
@ -1605,14 +1605,14 @@ class accesslib_testcase extends advanced_testcase {
|
||||||
$this->assertTrue(is_enrolled($coursecontext, $manager));
|
$this->assertTrue(is_enrolled($coursecontext, $manager));
|
||||||
$this->assertFalse(has_capability('moodle/course:visibility', $categorycontext, $manager));
|
$this->assertFalse(has_capability('moodle/course:visibility', $categorycontext, $manager));
|
||||||
$this->assertFalse(has_capability('moodle/course:visibility', $coursecontext, $manager));
|
$this->assertFalse(has_capability('moodle/course:visibility', $coursecontext, $manager));
|
||||||
$this->assertTrue(will_have_course_capability('moodle/course:visibility', $categorycontext, $manager));
|
$this->assertTrue(guess_if_creator_will_have_course_capability('moodle/course:visibility', $categorycontext, $manager));
|
||||||
$this->assertFalse(will_have_course_capability('moodle/course:visibility', $coursecontext, $manager));
|
$this->assertFalse(guess_if_creator_will_have_course_capability('moodle/course:visibility', $coursecontext, $manager));
|
||||||
|
|
||||||
// Test problems.
|
// Test problems.
|
||||||
|
|
||||||
try {
|
try {
|
||||||
will_have_course_capability('moodle/course:visibility', $syscontext, $creator);
|
guess_if_creator_will_have_course_capability('moodle/course:visibility', $syscontext, $creator);
|
||||||
$this->fail('Exception expected when non course/category context passed to will_have_course_capability()');
|
$this->fail('Exception expected when non course/category context passed to guess_if_creator_will_have_course_capability()');
|
||||||
} catch (moodle_exception $e) {
|
} catch (moodle_exception $e) {
|
||||||
$this->assertInstanceOf('coding_exception', $e);
|
$this->assertInstanceOf('coding_exception', $e);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue