Merge branch 'MDL-41940' of https://github.com/merrill-oakland/moodle
authorSam Hemelryk <sam@moodle.com>
Tue, 8 Oct 2013 23:41:36 +0000 (12:41 +1300)
committerSam Hemelryk <sam@moodle.com>
Tue, 8 Oct 2013 23:41:36 +0000 (12:41 +1300)
admin/settings/plugins.php
files/coursefilesedit_form.php
files/tests/behat/course_files.feature [new file with mode: 0644]
lang/en/admin.php

index 6265aac..63d39ab 100644 (file)
@@ -259,6 +259,7 @@ if ($hassiteconfig) {
     $temp->add(new admin_setting_configtext('repositorycacheexpire', new lang_string('cacheexpire', 'repository'), new lang_string('configcacheexpire', 'repository'), 120));
     $temp->add(new admin_setting_configcheckbox('repositoryallowexternallinks', new lang_string('allowexternallinks', 'repository'), new lang_string('configallowexternallinks', 'repository'), 1));
     $temp->add(new admin_setting_configcheckbox('legacyfilesinnewcourses', new lang_string('legacyfilesinnewcourses', 'admin'), new lang_string('legacyfilesinnewcourses_help', 'admin'), 0));
+    $temp->add(new admin_setting_configcheckbox('legacyfilesaddallowed', new lang_string('legacyfilesaddallowed', 'admin'), new lang_string('legacyfilesaddallowed_help', 'admin'), 1));
     $ADMIN->add('repositorysettings', $temp);
     $ADMIN->add('repositorysettings', new admin_externalpage('repositorynew',
         new lang_string('addplugin', 'repository'), $url, 'moodle/site:config', true));
index e1311f0..bc57f18 100644 (file)
@@ -19,9 +19,18 @@ require_once($CFG->libdir.'/formslib.php');
 
 class coursefiles_edit_form extends moodleform {
     function definition() {
+        global $CFG;
+
+        $maxfiles = 0;
+        $subdirs = 0;
+        if ($CFG->legacyfilesaddallowed) {
+            $maxfiles = -1;
+            $subdirs = 1;
+        }
+
         $mform =& $this->_form;
         $contextid = $this->_customdata['contextid'];
-        $options = array('subdirs'=>1, 'maxfiles'=>-1, 'accepted_types'=>'*');
+        $options = array('subdirs' => $subdirs, 'maxfiles' => $maxfiles, 'accepted_types'=>'*');
         $mform->addElement('filemanager', 'files_filemanager', '', null, $options);
         $mform->addElement('hidden', 'contextid', $this->_customdata['contextid']);
         $mform->setType('contextid', PARAM_INT);
diff --git a/files/tests/behat/course_files.feature b/files/tests/behat/course_files.feature
new file mode 100644 (file)
index 0000000..1695275
--- /dev/null
@@ -0,0 +1,38 @@
+@files @files_course @_only_local
+Feature: Course files
+  In order to add legacy files
+  As a user
+  I need to upload files
+
+  @javascript
+  Scenario: Add legacy files
+    Given the following "courses" exists:
+      | fullname | shortname | category | legacyfiles |
+      | Course 1 | C1 | 0 | 2 |
+    And I log in as "admin"
+    And I set the following administration settings values:
+      | Legacy course files in new courses | 1 |
+    And I follow "Home"
+    And I follow "Course 1"
+    Then I should see "Legacy course files"
+    And I follow "Legacy course files"
+    And I press "Edit legacy course files"
+    Then I should see "Add..."
+    Then I should see "Create folder"
+
+  @javascript
+  Scenario: Add legacy file disabled
+    Given the following "courses" exists:
+      | fullname | shortname | category | legacyfiles |
+      | Course 1 | C1 | 0 | 2 |
+    And I log in as "admin"
+    And I set the following administration settings values:
+      | Legacy course files in new courses | 1 |
+      | Allow adding to legacy course files | 1 |
+    And I follow "Home"
+    And I follow "Course 1"
+    Then I should see "Legacy course files"
+    And I follow "Legacy course files"
+    And I press "Edit legacy course files"
+    Then I should not see "Add..."
+    Then I should not see "Create folder"
index 07cc2ec..b71263c 100644 (file)
@@ -623,6 +623,8 @@ $string['languagesettings'] = 'Language settings';
 $string['latexpreamble'] = 'LaTeX preamble';
 $string['latexsettings'] = 'LaTeX renderer Settings';
 $string['latinexcelexport'] = 'Excel encoding';
+$string['legacyfilesaddallowed'] = 'Allow adding to legacy course files';
+$string['legacyfilesaddallowed_help'] = 'If a course has legacy course files, allow new files and folders to be added to it.';
 $string['legacyfilesinnewcourses'] = 'Legacy course files in new courses';
 $string['legacyfilesinnewcourses_help'] = 'By default legacy course files areas are available only in upgraded courses. Please note some features like single activity backup/restore are not compatible with this settings.';
 $string['licensesettings'] = 'Licence settings';