From 569def84e6ccc37c0495ba2a29b1a231197dc5f7 Mon Sep 17 00:00:00 2001 From: David Siegfried Date: Tue, 4 Mar 2025 14:17:33 +0000 Subject: fix adding datafields, fixes #5335 Closes #5335 Merge request studip/studip!3997 --- app/controllers/admin/datafields.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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) { -- cgit v1.0