aboutsummaryrefslogtreecommitdiff
path: root/app/controllers/admin/autoinsert.php
diff options
context:
space:
mode:
authorJan-Hendrik Willms <tleilax+studip@gmail.com>2023-05-02 14:26:44 +0000
committerJan-Hendrik Willms <tleilax+studip@gmail.com>2023-05-02 14:26:44 +0000
commit0565945451e03b65cdb14be8a210a4d9a2213926 (patch)
tree85512d75f1900ab400d595f4f6ce4520242efb10 /app/controllers/admin/autoinsert.php
parentbdded9bfa102fb2a670f0d111dd1c6354055d44a (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.php16
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;
}
}