[BUGFIX] Remove disabled button in inline records 29/53029/2
authorJohannes Schlier <johannes.schlier@b13.de>
Tue, 30 May 2017 15:23:24 +0000 (17:23 +0200)
committerChristian Kuhn <lolli@schwarzbu.ch>
Fri, 2 Jun 2017 11:26:28 +0000 (13:26 +0200)
If the info icon is disabled it is now removed completely.
Previously the logic for new records was not caught correctly, so that
the case for the enabled icon with a new record was executed.
Disabling the icon should remove it completely,
as a disabled non-clickable icon is not helpful and confusing for editors.
This is now done, and the case for the enabled icon with new records is
also correctly caught.

Resolves: #81380
Releases: master, 8.7
Change-Id: I1c78a99a83efa3c88e3a6337df9cd0c8a959ea7b
Reviewed-on: https://review.typo3.org/53029
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
typo3/sysext/backend/Classes/Form/Container/InlineRecordContainer.php

index a8f06ab..6e5b9ed 100644 (file)
@@ -434,13 +434,15 @@ class InlineRecordContainer extends AbstractContainer
             $uid = $rec['uid'];
             $table = $foreignTable;
         }
-        if ($enabledControls['info'] && !$isNewItem) {
-            $cells['info'] = '
+        if ($enabledControls['info']) {
+            if ($isNewItem) {
+                $cells['info'] = '<span class="btn btn-default disabled">' . $this->iconFactory->getIcon('empty-empty', Icon::SIZE_SMALL)->render() . '</span>';
+            } else {
+                $cells['info'] = '
                                <a class="btn btn-default" href="#" onclick="' . htmlspecialchars(('top.launchView(' . GeneralUtility::quoteJSvalue($table) . ', ' . GeneralUtility::quoteJSvalue($uid) . '); return false;')) . '" title="' . htmlspecialchars($languageService->sL('LLL:EXT:lang/Resources/Private/Language/locallang_mod_web_list.xlf:showInfo')) . '">
                                        ' . $this->iconFactory->getIcon('actions-document-info', Icon::SIZE_SMALL)->render() . '
                                </a>';
-        } else {
-            $cells['info'] = '<span class="btn btn-default disabled">' . $this->iconFactory->getIcon('empty-empty', Icon::SIZE_SMALL)->render() . '</span>';
+            }
         }
         // If the table is NOT a read-only table, then show these links:
         if (!$tcaTableCtrl['readOnly'] && !$data['isInlineDefaultLanguageRecordInLocalizedParentContext']) {