diff --git a/blocks/admin/block_admin.php b/blocks/admin/block_admin.php
index 0d8a59f0db8..bd963d86e99 100644
--- a/blocks/admin/block_admin.php
+++ b/blocks/admin/block_admin.php
@@ -139,6 +139,7 @@ class block_admin extends block_list {
/// Manage questions
if ($course->id!==SITEID){
+ $questionlink = '';
$questioncaps = array(
'moodle/question:add',
'moodle/question:editmine',
@@ -147,15 +148,18 @@ class block_admin extends block_list {
'moodle/question:viewall',
'moodle/question:movemine',
'moodle/question:moveall');
- $questionpermission = false;
foreach ($questioncaps as $questioncap){
if (has_capability($questioncap, $context)){
- $questionpermission = true;
+ $questionlink = 'edit.php';
break;
}
}
- if ($questionpermission) {
- $this->content->items[]=''.get_string('questions', 'quiz').'';
+ if (!$questionlink && has_capability('moodle/question:managecategory', $context)) {
+ $questionlink = 'category.php';
+ }
+ if ($questionlink) {
+ $this->content->items[]=''.get_string('questions', 'quiz').'';
$this->content->icons[]='
';
}
}