diff options
| author | Jan-Hendrik Willms <tleilax+studip@gmail.com> | 2023-05-02 14:26:44 +0000 |
|---|---|---|
| committer | Jan-Hendrik Willms <tleilax+studip@gmail.com> | 2023-05-02 14:26:44 +0000 |
| commit | 0565945451e03b65cdb14be8a210a4d9a2213926 (patch) | |
| tree | 85512d75f1900ab400d595f4f6ce4520242efb10 /app/controllers/admin/autoinsert.php | |
| parent | bdded9bfa102fb2a670f0d111dd1c6354055d44a (diff) | |
allow forcing of 'manual auto insert', fixes #2576
Closes #2576
Merge request studip/studip!1735
Diffstat (limited to 'app/controllers/admin/autoinsert.php')
| -rw-r--r-- | app/controllers/admin/autoinsert.php | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/app/controllers/admin/autoinsert.php b/app/controllers/admin/autoinsert.php index 70464e1..f899795 100644 --- a/app/controllers/admin/autoinsert.php +++ b/app/controllers/admin/autoinsert.php @@ -149,14 +149,17 @@ class Admin_AutoinsertController extends AuthenticatedController $this->seminar_search = []; PageLayout::setTitle(_('Manuelles Eintragen von Nutzergruppen in Veranstaltungen')); - if (Request::submitted('submit')) { + if (Request::submittedSome('submit', 'force')) { $filters = array_filter(Request::getArray('filter')); - if (!Request::get('sem_id') || Request::get('sem_id') == 'false') { + $force = Request::bool('force', false); + $seminar_id = Request::option('sem_id'); + + if (!$seminar_id || $seminar_id === 'false') { PageLayout::postError(_('Ungültiger Aufruf')); } elseif (!count($filters)) { PageLayout::postError(_('Keine Filterkriterien gewählt')); } else { - $seminar = Seminar::GetInstance(Request::option('sem_id')); + $seminar = Seminar::GetInstance($seminar_id); $userlookup = new UserLookup(); foreach ($filters as $type => $values) { @@ -166,9 +169,9 @@ class Admin_AutoinsertController extends AuthenticatedController $real_users = 0; foreach ($user_ids as $user_id) { - if (!AutoInsert::checkAutoInsertUser(Request::option('sem_id'), $user_id)) { - $seminar->addMember($user_id); - $real_users += AutoInsert::saveAutoInsertUser(Request::option('sem_id'), $user_id); + if ($force || !AutoInsert::checkAutoInsertUser($seminar_id, $user_id)) { + $real_users += $seminar->addMember($user_id) ? 1 : 0; + AutoInsert::saveAutoInsertUser($seminar_id, $user_id); } } @@ -192,6 +195,7 @@ class Admin_AutoinsertController extends AuthenticatedController } $this->redirect('admin/autoinsert/manual'); + return; } } |
