Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

MDL-28488 backup - '[backup|restore]:configure cap does not control i…

…mport mode anymore
  • Loading branch information...
commit 56a1642c5bff53a35adbdb86acfa90099286e1ce 1 parent 9d74bab
@stronk7 stronk7 authored
View
20 backup/util/checks/backup_check.class.php
@@ -217,15 +217,19 @@ public static function check_security($backup_controller, $apply) {
}
// Check the user has the ability to configure the backup. If not then we need
- // to lock all settings by permission so that no changes can be made.
- $hasconfigcap = has_capability('moodle/backup:configure', $coursectx, $userid);
- if (!$hasconfigcap) {
- $settings = $backup_controller->get_plan()->get_settings();
- foreach ($settings as $setting) {
- if ($setting->get_name()=='filename') {
- continue;
+ // to lock all settings by permission so that no changes can be made. This does
+ // not apply to the import facility, where the activities must be always enabled
+ // to be able to pick them
+ if ($mode != backup::MODE_IMPORT) {
+ $hasconfigcap = has_capability('moodle/backup:configure', $coursectx, $userid);
+ if (!$hasconfigcap) {
+ $settings = $backup_controller->get_plan()->get_settings();
+ foreach ($settings as $setting) {
+ if ($setting->get_name() == 'filename') {
+ continue;
+ }
+ $setting->set_status(base_setting::LOCKED_BY_PERMISSION);
}
- $setting->set_status(base_setting::LOCKED_BY_PERMISSION);
}
}
View
16 backup/util/checks/restore_check.class.php
@@ -156,12 +156,16 @@ public static function check_security($restore_controller, $apply) {
}
// Check the user has the ability to configure the restore. If not then we need
- // to lock all settings by permission so that no changes can be made.
- $hasconfigcap = has_capability('moodle/restore:configure', $coursectx, $userid);
- if (!$hasconfigcap) {
- $settings = $restore_controller->get_plan()->get_settings();
- foreach ($settings as $setting) {
- $setting->set_status(base_setting::LOCKED_BY_PERMISSION);
+ // to lock all settings by permission so that no changes can be made. This does
+ // not apply to the import facility, where all the activities (picked on backup)
+ // are restored automatically without restore UI
+ if ($mode != backup::MODE_IMPORT) {
+ $hasconfigcap = has_capability('moodle/restore:configure', $coursectx, $userid);
+ if (!$hasconfigcap) {
+ $settings = $restore_controller->get_plan()->get_settings();
+ foreach ($settings as $setting) {
+ $setting->set_status(base_setting::LOCKED_BY_PERMISSION);
+ }
}
}
Please sign in to comment.
Something went wrong with that request. Please try again.