From 0d0814a3b0aee39b81fae53f0da446e5b50173c0 Mon Sep 17 00:00:00 2001
From: Frank Naegler <frank.naegler@typo3.org>
Date: Fri, 5 Aug 2016 21:50:38 +0200
Subject: [PATCH] [BUGFIX] 'eval' => 'null' field stays disabled

This is a regression fix, introduced with #75397

Resolves: #77287
Related: #75397
Releases: master, 7.6
Change-Id: I405646aee0acc6a67753c79ae4b3d3c5f8de1bed
Reviewed-on: https://review.typo3.org/49402
Tested-by: Bamboo TYPO3com <info@typo3.com>
Reviewed-by: Mathias Schreiber <mathias.schreiber@wmdb.de>
Tested-by: Mathias Schreiber <mathias.schreiber@wmdb.de>
Reviewed-by: Alexander Stehlik <alexander.stehlik@gmail.com>
Tested-by: Alexander Stehlik <alexander.stehlik@gmail.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Frank Naegler <frank.naegler@typo3.org>
Tested-by: Frank Naegler <frank.naegler@typo3.org>
---
 Build/Resources/Public/Less/TYPO3/_element_tceforms.less     | 5 +++++
 .../backend/Classes/Form/Container/SingleFieldContainer.php  | 4 ++--
 typo3/sysext/backend/Resources/Public/Css/backend.css        | 3 +++
 3 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/Build/Resources/Public/Less/TYPO3/_element_tceforms.less b/Build/Resources/Public/Less/TYPO3/_element_tceforms.less
index 7d29f7b11d87..3d40b63b647e 100644
--- a/Build/Resources/Public/Less/TYPO3/_element_tceforms.less
+++ b/Build/Resources/Public/Less/TYPO3/_element_tceforms.less
@@ -241,6 +241,11 @@ div.t3-form-field-container:first-child .t3-form-field-label-flex {
 		filter: alpha(opacity=50);
 	}
 }
+// z-index must be higher as .t3-form-field-disable z-index
+// this is required for the eval=null field checkbox
+.t3-form-field-eval-null-checkbox {
+	z-index: 9000;
+}
 .t3-form-palette-field-label {
 	text-indent: 2px;
 }
diff --git a/typo3/sysext/backend/Classes/Form/Container/SingleFieldContainer.php b/typo3/sysext/backend/Classes/Form/Container/SingleFieldContainer.php
index c65f8622f5ee..461467fdd36f 100644
--- a/typo3/sysext/backend/Classes/Form/Container/SingleFieldContainer.php
+++ b/typo3/sysext/backend/Classes/Form/Container/SingleFieldContainer.php
@@ -226,13 +226,13 @@ class SingleFieldContainer extends AbstractContainer
             $nullValueWrap = array();
             $nullValueWrap[] = '<div class="' . implode(' ', $fieldItemClasses) . '">';
             $nullValueWrap[] =    '<div class="t3-form-field-disable"></div>';
-            $nullValueWrap[] =    '<div class="checkbox">';
+            $nullValueWrap[] =    '<div class="checkbox t3-form-field-eval-null-checkbox">';
             $nullValueWrap[] =        '<label>';
             $nullValueWrap[] =            '<input type="hidden"' . $nullControlNameAttribute . ' value="0" />';
             $nullValueWrap[] =            '<input type="checkbox"' . $nullControlNameAttribute . ' value="1" onchange="' . $onChange . '"' . $checked . ' /> &nbsp;';
             $nullValueWrap[] =        '</label>';
-            $nullValueWrap[] =        $html;
             $nullValueWrap[] =    '</div>';
+            $nullValueWrap[] =    $html;
             $nullValueWrap[] = '</div>';
 
             $html = implode(LF, $nullValueWrap);
diff --git a/typo3/sysext/backend/Resources/Public/Css/backend.css b/typo3/sysext/backend/Resources/Public/Css/backend.css
index 5db0872c5dab..792f85d034bb 100644
--- a/typo3/sysext/backend/Resources/Public/Css/backend.css
+++ b/typo3/sysext/backend/Resources/Public/Css/backend.css
@@ -10585,6 +10585,9 @@ div.t3-form-field-container:first-child .t3-form-field-label-flex {
   opacity: 0.5;
   filter: alpha(opacity=50);
 }
+.t3-form-field-eval-null-checkbox {
+  z-index: 9000;
+}
 .t3-form-palette-field-label {
   text-indent: 2px;
 }
-- 
GitLab