Skip to content
Snippets Groups Projects
Commit cae4796d authored by Rasmus Fuhse's avatar Rasmus Fuhse
Browse files

implement copying of files

parent 32b36696
No related branches found
No related tags found
No related merge requests found
......@@ -41,7 +41,7 @@ class CopyController extends PluginController
"semester_id", "dozent_id", "lock_copied_courses",
"invisible_copied_courses", "cycles", "resource_assignments",
"week_offset", "end_offset", "copy_tutors", "with_children",
"contents_scm"
"contents_scm", "contents_documents"
];
foreach ($params as $param) {
$config_name = "COURSECOPY_SETTINGS_".strtoupper($param);
......@@ -78,7 +78,7 @@ class CopyController extends PluginController
foreach ($course_ids as $course_id) {
$oldcourse = Course::find($course_id);
if ($oldcourse) {
if ($oldcourse && Seminar_Perm::get()->have_studip_perm('dozent', $course_id)) {
$newcourse = new Course();
$newcourse->setData($oldcourse->toArray());
if ($newcourse['parent_course']) {
......@@ -268,6 +268,24 @@ class CopyController extends PluginController
$new_scm->store();
}
}
if (Request::get("contents_documents")) {
$oldtopfolder = Folder::findTopFolder($oldcourse->getId());
$newtopfolder = Folder::findTopFolder($newcourse->getId());
foreach ($oldtopfolder->file_refs as $fileref) {
FileManager::copyFile(
$fileref->getFileType(),
$newtopfolder->getTypedFolder(),
User::findCurrent()
);
}
foreach ($oldtopfolder->subfolders as $subfolder) {
FileManager::copyFolder(
$subfolder->getTypedFolder(),
$newtopfolder->getTypedFolder(),
User::findCurrent()
);
}
}
}
}
PageLayout::postSuccess(_("Die Veranstaltungen wurden erfolgreich kopiert."));
......
pluginname=CourseCopy
pluginclassname=CourseCopy
version=1.7
version=1.8.2
origin=data-quest
studipMinVersion=4.0
studipMinVersion=4.6
studipMaxVersion=5.0.99
......@@ -87,12 +87,20 @@
<fieldset>
<legend><?= _("Inhalte") ?></legend>
<label>
<input type="checkbox"
name="contents_documents"
value="1"<?= UserConfig::get($GLOBALS['user']->id)->COURSECOPY_SETTINGS_CONTENTS_DOCUMENTS ? " checked" : "" ?>>
<?= _("Dateien mit kopieren") ?>
</label>
<label>
<input type="checkbox"
name="contents_scm"
value="1"<?= UserConfig::get($GLOBALS['user']->id)->COURSECOPY_SETTINGS_CONTENTS_SCM ? " checked" : "" ?>>
<?= _("Freie Inhaltsseiten mit kopieren") ?>
</label>
</fieldset>
<div data-dialog-button>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment