From 1218c1b0731ee390c5f1019b9a24cc12bd14d8c5 Mon Sep 17 00:00:00 2001 From: Rasmus Fuhse <fuhse@data-quest.de> Date: Tue, 20 Aug 2019 10:29:27 +0200 Subject: [PATCH] add copying tutors --- controllers/copy.php | 22 +++++++++++++++++++--- views/copy/info.php | 5 +++++ 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/controllers/copy.php b/controllers/copy.php index 713d9b9..db08f44 100755 --- a/controllers/copy.php +++ b/controllers/copy.php @@ -30,14 +30,17 @@ class CopyController extends PluginController public function process_action() { if (Request::isPost()) { - foreach (array("semester_id", "dozent_id", "lock_copied_courses", "cycles", "resource_assignments", "week_offset", "end_offset") as $param) { + foreach (array("semester_id", "dozent_id", "lock_copied_courses", "cycles", "resource_assignments", "week_offset", "end_offset", "copy_tutors") as $param) { $config_name = "COURSECOPY_SETTINGS_".strtoupper($param); UserConfig::get($GLOBALS['user']->id)->store($config_name, Request::get($param)); } + if (!Request::get("dozent_id_parameter")) { //quicksearch-special + UserConfig::get($GLOBALS['user']->id)->store("COURSECOPY_SETTINGS_DOZENT_ID", ""); + } $dozent = null; - if (Request::option("dozent_id")) { - $dozent = User::find(Request::option("dozent_id")); + if (UserConfig::get($GLOBALS['user']->id)->COURSECOPY_SETTINGS_DOZENT_ID) { + $dozent = User::find(UserConfig::get($GLOBALS['user']->id)->COURSECOPY_SETTINGS_DOZENT_ID); if (!$dozent['perms'] === "dozent") { $dozent = null; } @@ -96,6 +99,19 @@ class CopyController extends PluginController } } + //Tutor_innen + if (Request::get("copy_tutors")) { + foreach ($oldcourse->members->filter(function ($member) { + return $member['status'] === "tutor"; + }) as $tutormember) { + $coursemember = new CourseMember(); + $coursemember->setData($tutormember->toArray()); + $coursemember['seminar_id'] = $newcourse->getId(); + $coursemember['mkdate'] = time(); + $coursemember->store(); + } + } + //Studienbereiche $statement = DBManager::get()->prepare(" INSERT IGNORE INTO seminar_sem_tree diff --git a/views/copy/info.php b/views/copy/info.php index 13a3c12..6a5cab6 100755 --- a/views/copy/info.php +++ b/views/copy/info.php @@ -34,6 +34,11 @@ echo $qs->render() ?> + <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="lock_copied_courses" value="1"<?= UserConfig::get($GLOBALS['user']->id)->COURSECOPY_SETTINGS_LOCK_COPIED_COURSES ? " checked" : "" ?>> <?= _('Kopierte Veranstaltungen sperren') ?> -- GitLab