aboutsummaryrefslogtreecommitdiff
path: root/app/controllers/admin/datafields.php
diff options
context:
space:
mode:
authorDavid Siegfried <david.siegfried@uni-vechta.de>2025-03-04 14:17:33 +0000
committerJan-Hendrik Willms <tleilax+studip@gmail.com>2025-03-04 14:17:33 +0000
commit816b401d16119b5251c4217db8cc6e26b3b71c65 (patch)
tree8382ec2bc0cb1758c5c523817ca31314102c6010 /app/controllers/admin/datafields.php
parent6af9de5fb177efec9d29492d9caeac6ba72bccc1 (diff)
fix adding datafields, fixes #5335
Closes #5335 Merge request studip/studip!3997
Diffstat (limited to 'app/controllers/admin/datafields.php')
-rw-r--r--app/controllers/admin/datafields.php9
1 files changed, 8 insertions, 1 deletions
diff --git a/app/controllers/admin/datafields.php b/app/controllers/admin/datafields.php
index 6019a13..6188a02 100644
--- a/app/controllers/admin/datafields.php
+++ b/app/controllers/admin/datafields.php
@@ -156,7 +156,13 @@ class Admin_DatafieldsController extends AuthenticatedController
} elseif ($type === 'studycourse') {
$datafield->object_class = Request::option('object_class');
} else {
- $datafield->object_class = array_sum(Request::getArray('object_class')) ?: null;
+ $object_class = Request::getArray('object_class');
+ if (empty($object_class) || (count($object_class) === 1 && $object_class[0] === 'NULL')) {
+ $object_class = null;
+ } else {
+ $object_class = array_sum($object_class);
+ }
+ $datafield->object_class = $object_class;
}
$datafield->edit_perms = Request::get('edit_perms');
$datafield->view_perms = Request::get('visibility_perms');
@@ -188,6 +194,7 @@ class Admin_DatafieldsController extends AuthenticatedController
$this->institutes = Institute::getMyInstitutes();
if (!$this->object_typ) {
$this->render_action('type_select');
+ return;
}
if (Request::isXhr() && $this->type_name) {