diff --git a/mod/quiz/accessrule/openclosedate/lang/en/deprecated.txt b/mod/quiz/accessrule/openclosedate/lang/en/deprecated.txt new file mode 100644 index 00000000000..03fecc7b713 --- /dev/null +++ b/mod/quiz/accessrule/openclosedate/lang/en/deprecated.txt @@ -0,0 +1 @@ +quiznotavailable,quizaccess_openclosedate diff --git a/mod/quiz/accessrule/openclosedate/lang/en/quizaccess_openclosedate.php b/mod/quiz/accessrule/openclosedate/lang/en/quizaccess_openclosedate.php index 8e5191d3591..30dbc8ae1a0 100644 --- a/mod/quiz/accessrule/openclosedate/lang/en/quizaccess_openclosedate.php +++ b/mod/quiz/accessrule/openclosedate/lang/en/quizaccess_openclosedate.php @@ -30,4 +30,7 @@ defined('MOODLE_INTERNAL') || die(); $string['notavailable'] = 'This quiz is not currently available'; $string['pluginname'] = 'Open and close date access rule'; $string['privacy:metadata'] = 'The Open and close date quiz access rule plugin does not store any personal data.'; + +// Deprecated since Moodle 3.11. $string['quiznotavailable'] = 'The quiz will not be available until {$a}'; + diff --git a/mod/quiz/accessrule/openclosedate/rule.php b/mod/quiz/accessrule/openclosedate/rule.php index 98d6da5a90d..2bb70dac93a 100644 --- a/mod/quiz/accessrule/openclosedate/rule.php +++ b/mod/quiz/accessrule/openclosedate/rule.php @@ -42,30 +42,6 @@ class quizaccess_openclosedate extends quiz_access_rule_base { return new self($quizobj, $timenow); } - public function description() { - $result = array(); - if ($this->timenow < $this->quiz->timeopen) { - $result[] = get_string('quiznotavailable', 'quizaccess_openclosedate', - userdate($this->quiz->timeopen)); - if ($this->quiz->timeclose) { - $result[] = get_string('quizcloseson', 'quiz', userdate($this->quiz->timeclose)); - } - - } else if ($this->quiz->timeclose && $this->timenow > $this->quiz->timeclose) { - $result[] = get_string('quizclosed', 'quiz', userdate($this->quiz->timeclose)); - - } else { - if ($this->quiz->timeopen) { - $result[] = get_string('quizopenedon', 'quiz', userdate($this->quiz->timeopen)); - } - if ($this->quiz->timeclose) { - $result[] = get_string('quizcloseson', 'quiz', userdate($this->quiz->timeclose)); - } - } - - return $result; - } - public function prevent_access() { $message = get_string('notavailable', 'quizaccess_openclosedate'); diff --git a/mod/quiz/accessrule/openclosedate/tests/rule_test.php b/mod/quiz/accessrule/openclosedate/tests/rule_test.php index 08beabe9c92..2da8fad436e 100644 --- a/mod/quiz/accessrule/openclosedate/tests/rule_test.php +++ b/mod/quiz/accessrule/openclosedate/tests/rule_test.php @@ -50,7 +50,6 @@ class quizaccess_openclosedate_testcase extends basic_testcase { $attempt->preview = 0; $rule = new quizaccess_openclosedate($quizobj, 10000); - $this->assertEmpty($rule->description()); $this->assertFalse($rule->prevent_access()); $this->assertFalse($rule->prevent_new_attempt(0, $attempt)); $this->assertFalse($rule->is_finished(0, $attempt)); @@ -59,7 +58,6 @@ class quizaccess_openclosedate_testcase extends basic_testcase { $this->assertFalse($rule->time_left_display($attempt, 0)); $rule = new quizaccess_openclosedate($quizobj, 0); - $this->assertEmpty($rule->description()); $this->assertFalse($rule->prevent_access()); $this->assertFalse($rule->prevent_new_attempt(0, $attempt)); $this->assertFalse($rule->is_finished(0, $attempt)); @@ -79,8 +77,6 @@ class quizaccess_openclosedate_testcase extends basic_testcase { $attempt->preview = 0; $rule = new quizaccess_openclosedate($quizobj, 9999); - $this->assertEquals($rule->description(), - array(get_string('quiznotavailable', 'quizaccess_openclosedate', userdate(10000)))); $this->assertEquals($rule->prevent_access(), get_string('notavailable', 'quizaccess_openclosedate')); $this->assertFalse($rule->prevent_new_attempt(0, $attempt)); @@ -89,8 +85,6 @@ class quizaccess_openclosedate_testcase extends basic_testcase { $this->assertFalse($rule->time_left_display($attempt, 0)); $rule = new quizaccess_openclosedate($quizobj, 10000); - $this->assertEquals($rule->description(), - array(get_string('quizopenedon', 'quiz', userdate(10000)))); $this->assertFalse($rule->prevent_access()); $this->assertFalse($rule->prevent_new_attempt(0, $attempt)); $this->assertFalse($rule->is_finished(0, $attempt)); @@ -110,8 +104,6 @@ class quizaccess_openclosedate_testcase extends basic_testcase { $attempt->preview = 0; $rule = new quizaccess_openclosedate($quizobj, 20000); - $this->assertEquals($rule->description(), - array(get_string('quizcloseson', 'quiz', userdate(20000)))); $this->assertFalse($rule->prevent_access()); $this->assertFalse($rule->prevent_new_attempt(0, $attempt)); $this->assertFalse($rule->is_finished(0, $attempt)); @@ -123,8 +115,6 @@ class quizaccess_openclosedate_testcase extends basic_testcase { $this->assertEquals($rule->time_left_display($attempt, 20100), -100); $rule = new quizaccess_openclosedate($quizobj, 20001); - $this->assertEquals($rule->description(), - array(get_string('quizclosed', 'quiz', userdate(20000)))); $this->assertEquals($rule->prevent_access(), get_string('notavailable', 'quizaccess_openclosedate')); $this->assertFalse($rule->prevent_new_attempt(0, $attempt)); @@ -148,33 +138,22 @@ class quizaccess_openclosedate_testcase extends basic_testcase { $attempt->preview = 0; $rule = new quizaccess_openclosedate($quizobj, 9999); - $this->assertEquals($rule->description(), - array(get_string('quiznotavailable', 'quizaccess_openclosedate', userdate(10000)), - get_string('quizcloseson', 'quiz', userdate(20000)))); $this->assertEquals($rule->prevent_access(), get_string('notavailable', 'quizaccess_openclosedate')); $this->assertFalse($rule->prevent_new_attempt(0, $attempt)); $this->assertFalse($rule->is_finished(0, $attempt)); $rule = new quizaccess_openclosedate($quizobj, 10000); - $this->assertEquals($rule->description(), - array(get_string('quizopenedon', 'quiz', userdate(10000)), - get_string('quizcloseson', 'quiz', userdate(20000)))); $this->assertFalse($rule->prevent_access()); $this->assertFalse($rule->prevent_new_attempt(0, $attempt)); $this->assertFalse($rule->is_finished(0, $attempt)); $rule = new quizaccess_openclosedate($quizobj, 20000); - $this->assertEquals($rule->description(), - array(get_string('quizopenedon', 'quiz', userdate(10000)), - get_string('quizcloseson', 'quiz', userdate(20000)))); $this->assertFalse($rule->prevent_access()); $this->assertFalse($rule->prevent_new_attempt(0, $attempt)); $this->assertFalse($rule->is_finished(0, $attempt)); $rule = new quizaccess_openclosedate($quizobj, 20001); - $this->assertEquals($rule->description(), - array(get_string('quizclosed', 'quiz', userdate(20000)))); $this->assertEquals($rule->prevent_access(), get_string('notavailable', 'quizaccess_openclosedate')); $this->assertFalse($rule->prevent_new_attempt(0, $attempt)); diff --git a/mod/quiz/tests/external_test.php b/mod/quiz/tests/external_test.php index 9d97fce8c15..8e7a93dcf82 100644 --- a/mod/quiz/tests/external_test.php +++ b/mod/quiz/tests/external_test.php @@ -1670,8 +1670,8 @@ class mod_quiz_external_testcase extends externallib_advanced_testcase { $result = mod_quiz_external::get_quiz_access_information($quiz->id); $result = external_api::clean_returnvalue(mod_quiz_external::get_quiz_access_information_returns(), $result); - // Access limited by time and password. - $this->assertCount(3, $result['accessrules']); + // Access is limited by time and password, but only the password limit has a description. + $this->assertCount(1, $result['accessrules']); // Two rule names, password and open/close date. $this->assertCount(2, $result['activerulenames']); $this->assertCount(1, $result['preventaccessreasons']);