diff options
| author | David Siegfried <david.siegfried@uni-vechta.de> | 2025-03-04 14:17:33 +0000 |
|---|---|---|
| committer | Jan-Hendrik Willms <tleilax+studip@gmail.com> | 2025-03-04 14:17:33 +0000 |
| commit | 816b401d16119b5251c4217db8cc6e26b3b71c65 (patch) | |
| tree | 8382ec2bc0cb1758c5c523817ca31314102c6010 /app/controllers/admin/datafields.php | |
| parent | 6af9de5fb177efec9d29492d9caeac6ba72bccc1 (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.php | 9 |
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) { |
