From 625892fa1cb5cd226019a7353ab7b8e8635847e5 Mon Sep 17 00:00:00 2001 From: Rasmus Fuhse <rasmusfuhse@MBP-von-Rasmus.fritz.box> Date: Thu, 20 Jan 2022 16:22:28 +0100 Subject: [PATCH] add copying of statusgroups --- controllers/copy.php | 14 +++++++++++++- plugin.manifest | 4 ++-- views/copy/info.php | 42 ++++++++++++++++++++++++------------------ 3 files changed, 39 insertions(+), 21 deletions(-) diff --git a/controllers/copy.php b/controllers/copy.php index f60f238..b2b26e2 100755 --- a/controllers/copy.php +++ b/controllers/copy.php @@ -44,7 +44,7 @@ class CopyController extends PluginController $params = [ "semester_id", "dozent_id", "lock_copied_courses", "invisible_copied_courses", "cycles", "resource_assignments", - "week_offset", "end_offset", "copy_tutors", "with_children", + "week_offset", "end_offset", "copy_tutors", "copy_statusgruppen", "with_children", "contents_scm", "contents_documents" ]; foreach ($params as $param) { @@ -163,6 +163,18 @@ class CopyController extends PluginController } } + //Statusgruppen + if (Request::get("copy_statusgruppen")) { + foreach ($oldcourse->statusgruppen as $statusgruppe) { + $new_group = new Statusgruppen(); + $new_group->setData($statusgruppe->toArray()); + $new_group->setId($new_group->getNewId()); + $new_group['range_id'] = $newcourse->getId(); + $new_group['mkdate'] = time(); + $new_group->store(); + } + } + //Studienbereiche $statement = DBManager::get()->prepare(" INSERT IGNORE INTO seminar_sem_tree diff --git a/plugin.manifest b/plugin.manifest index ca8d2f2..c82045d 100755 --- a/plugin.manifest +++ b/plugin.manifest @@ -1,6 +1,6 @@ pluginname=CourseCopy pluginclassname=CourseCopy -version=1.8.4 +version=1.9 origin=data-quest studipMinVersion=4.0 -studipMaxVersion=5.0.99 +studipMaxVersion=5.1.99 diff --git a/views/copy/info.php b/views/copy/info.php index 178d660..6454943 100755 --- a/views/copy/info.php +++ b/views/copy/info.php @@ -34,30 +34,36 @@ echo $qs->render() ?> - <label> - <? endif ?> - <input type="checkbox" name="copy_tutors" value="1"<?= UserConfig::get($GLOBALS['user']->id)->COURSECOPY_SETTINGS_COPY_TUTORS ? " checked" : "" ?>> - <?= _('Tutor/-innen mit übernehmen') ?> </label> + <? endif ?> - <label> - <input type="checkbox" name="lock_copied_courses" value="1"<?= UserConfig::get($GLOBALS['user']->id)->COURSECOPY_SETTINGS_LOCK_COPIED_COURSES ? " checked" : "" ?>> - <?= _('Kopierte Veranstaltungen sperren') ?> - </label> + <label> + <input type="checkbox" name="copy_tutors" value="1"<?= UserConfig::get($GLOBALS['user']->id)->COURSECOPY_SETTINGS_COPY_TUTORS ? " checked" : "" ?>> + <?= _('Tutor/-innen mit übernehmen') ?> + </label> - <label> - <input type="checkbox" name="invisible_copied_courses" value="1"<?= UserConfig::get($GLOBALS['user']->id)->COURSECOPY_SETTINGS_INVISIBLE_COPIED_COURSES ? " checked" : "" ?>> - <?= _('Kopierte Veranstaltungen unsichtbar schalten') ?> - </label> + <label> + <input type="checkbox" name="copy_statusgruppen" value="1"<?= UserConfig::get($GLOBALS['user']->id)->COURSECOPY_SETTINGS_COPY_STATUSGRUPPEN ? " checked" : "" ?>> + <?= _('Teilnehmergruppen mit übernehmen') ?> + </label> + + <label> + <input type="checkbox" name="lock_copied_courses" value="1"<?= UserConfig::get($GLOBALS['user']->id)->COURSECOPY_SETTINGS_LOCK_COPIED_COURSES ? " checked" : "" ?>> + <?= _('Kopierte Veranstaltungen sperren') ?> + </label> - <? if ($have_coursegroups) : ?> - <label> - <input type="checkbox" name="with_children" value="1"<?= UserConfig::get($GLOBALS['user']->id)->COURSECOPY_SETTINGS_WITH_CHILDREN ? " checked" : "" ?>> - <?= _("Veranstaltungsgruppen inklusive Kindveranstaltungen kopieren") ?> - </label> - <? endif ?> + <label> + <input type="checkbox" name="invisible_copied_courses" value="1"<?= UserConfig::get($GLOBALS['user']->id)->COURSECOPY_SETTINGS_INVISIBLE_COPIED_COURSES ? " checked" : "" ?>> + <?= _('Kopierte Veranstaltungen unsichtbar schalten') ?> </label> + <? if ($have_coursegroups) : ?> + <label> + <input type="checkbox" name="with_children" value="1"<?= UserConfig::get($GLOBALS['user']->id)->COURSECOPY_SETTINGS_WITH_CHILDREN ? " checked" : "" ?>> + <?= _("Veranstaltungsgruppen inklusive Kindveranstaltungen kopieren") ?> + </label> + <? endif ?> + </fieldset> <? if (is_object($single_course)) : ?> -- GitLab