diff --git a/backup/restore.php b/backup/restore.php
index dd24b89b722..9bbe150a127 100644
--- a/backup/restore.php
+++ b/backup/restore.php
@@ -80,7 +80,7 @@
print_error("cannotuseadminadminorteacher", '', $loginurl);
} else {
if (!has_capability('moodle/restore:restorecourse', get_context_instance(CONTEXT_COURSE, $to))
- && !has_capability('moodle/site:import', get_context_instance(CONTEXT_COURSE, $to))) {
+ && !has_capability('moodle/restore:restoretargetimport', get_context_instance(CONTEXT_COURSE, $to))) {
print_error("cannotuseadminadminorteacher", '', $loginurl);
}
}
diff --git a/backup/restore_execute.html b/backup/restore_execute.html
index 939972ea083..4f051c141f7 100644
--- a/backup/restore_execute.html
+++ b/backup/restore_execute.html
@@ -48,7 +48,7 @@
print_error("cannotuseadminadminorteacher", '', $loginurl);
} else {
if (!has_capability('moodle/restore:restorecourse', get_context_instance(CONTEXT_COURSE, $to))
- && !has_capability('moodle/site:import', get_context_instance(CONTEXT_COURSE, $to))) {
+ && !has_capability('moodle/restore:restoretargetimport', get_context_instance(CONTEXT_COURSE, $to))) {
print_error("cannotuseadminadminorteacher", '', $loginurl);
}
}
diff --git a/backup/restore_precheck.html b/backup/restore_precheck.html
index e9dd9635c1b..3a9252110a9 100644
--- a/backup/restore_precheck.html
+++ b/backup/restore_precheck.html
@@ -21,7 +21,7 @@
print_error("cannotuseadminadminorteacher", '', $loginurl);
} else {
if (!has_capability('moodle/restore:restorecourse', get_context_instance(CONTEXT_COURSE, $to))
- && !has_capability('moodle/site:import', get_context_instance(CONTEXT_COURSE, $to))) {
+ && !has_capability('moodle/restore:restoretargetimport', get_context_instance(CONTEXT_COURSE, $to))) {
print_error("cannotuseadminadminorteacher", '', $loginurl);
}
}
diff --git a/blocks/admin/block_admin.php b/blocks/admin/block_admin.php
index 6a97860808c..b09bfabea28 100644
--- a/blocks/admin/block_admin.php
+++ b/blocks/admin/block_admin.php
@@ -121,7 +121,7 @@ class block_admin extends block_list {
}
/// Import data from other courses
- if ($course->id !== SITEID and has_capability('moodle/site:import', $this->page->context)) {
+ if ($course->id !== SITEID and has_capability('moodle/restore:restoretargetimport', $this->page->context)) {
$this->content->items[]=''.get_string('import').'';
$this->content->icons[]='
';
}
diff --git a/course/import.php b/course/import.php
index 4c8b754a66a..3af9e796c61 100644
--- a/course/import.php
+++ b/course/import.php
@@ -35,7 +35,7 @@ if (!$course = $DB->get_record('course', array('id'=>$id))) {
require_login($course->id);
-require_capability('moodle/site:import', get_context_instance(CONTEXT_COURSE, $id));
+require_capability('moodle/restore:restoretargetimport', get_context_instance(CONTEXT_COURSE, $id));
/// Always we begin an import, we delete all backup/restore/import session structures
if (isset($SESSION->course_header)) {
diff --git a/lib/db/access.php b/lib/db/access.php
index 1ae53d581a9..88b05137a5f 100644
--- a/lib/db/access.php
+++ b/lib/db/access.php
@@ -141,18 +141,6 @@ $capabilities = array(
)
),
- 'moodle/site:import' => array(
-
- 'riskbitmask' => RISK_SPAM | RISK_PERSONAL | RISK_XSS,
-
- 'captype' => 'write',
- 'contextlevel' => CONTEXT_COURSE,
- 'legacy' => array(
- 'editingteacher' => CAP_ALLOW,
- 'admin' => CAP_ALLOW
- )
- ),
-
'moodle/backup:backupcourse' => array(
'riskbitmask' => RISK_SPAM | RISK_PERSONAL | RISK_XSS,
@@ -206,6 +194,20 @@ $capabilities = array(
'clonepermissionsfrom' => 'moodle/site:restore'
),
+ 'moodle/restore:restoretargetimport' => array(
+
+ 'riskbitmask' => RISK_SPAM | RISK_PERSONAL | RISK_XSS,
+
+ 'captype' => 'write',
+ 'contextlevel' => CONTEXT_COURSE,
+ 'legacy' => array(
+ 'editingteacher' => CAP_ALLOW,
+ 'admin' => CAP_ALLOW
+ ),
+
+ 'clonepermissionsfrom' => 'moodle/site:import'
+ ),
+
'moodle/restore:uploadfile' => array(
'riskbitmask' => RISK_SPAM | RISK_PERSONAL | RISK_XSS,
@@ -220,17 +222,6 @@ $capabilities = array(
'clonepermissionsfrom' => 'moodle/site:backupupload'
),
- 'moodle/restore:createuser' => array(
-
- 'riskbitmask' => RISK_SPAM | RISK_PERSONAL,
-
- 'captype' => 'write',
- 'contextlevel' => CONTEXT_SYSTEM,
- 'legacy' => array(
- 'admin' => CAP_ALLOW
- )
- ),
-
'moodle/restore:userinfo' => array(
'riskbitmask' => RISK_SPAM | RISK_PERSONAL | RISK_XSS | RISK_CONFIG,
@@ -242,6 +233,17 @@ $capabilities = array(
)
),
+ 'moodle/restore:createuser' => array(
+
+ 'riskbitmask' => RISK_SPAM | RISK_PERSONAL,
+
+ 'captype' => 'write',
+ 'contextlevel' => CONTEXT_SYSTEM,
+ 'legacy' => array(
+ 'admin' => CAP_ALLOW
+ )
+ ),
+
'moodle/restore:rolldates' => array(
'captype' => 'write',
diff --git a/lib/navigationlib.php b/lib/navigationlib.php
index c462dcc7153..844f73e2487 100644
--- a/lib/navigationlib.php
+++ b/lib/navigationlib.php
@@ -2929,7 +2929,7 @@ class settings_navigation extends navigation_node {
}
// Import data from other courses
- if (has_capability('moodle/site:import', $course->context)) {
+ if (has_capability('moodle/restore:restoretargetimport', $course->context)) {
$url = new moodle_url('/course/import.php', array('id'=>$course->id));
$coursenode->add(get_string('import'), $url, self::TYPE_SETTING, null, null, new pix_icon('i/restore', ''));
}