From 22e9d09a0de10353c4bcc2914620b17f97854747 Mon Sep 17 00:00:00 2001 From: Oliver Hader <oliver@typo3.org> Date: Fri, 13 Jun 2014 13:23:01 +0200 Subject: [PATCH] [BUGIFX] Field labels not shown in workspaces history Field labels are not shown if opening the history of an element in the workspace module. Resolves: #59546 Releases: 6.2 Change-Id: I3f522957dad8e36046b508dde658496f1cec6008 Reviewed-on: https://review.typo3.org/30713 Reviewed-by: Wouter Wolters Reviewed-by: Alexander Opitz Tested-by: Alexander Opitz Reviewed-by: Tymoteusz Motylewski Tested-by: Tymoteusz Motylewski Reviewed-by: Oliver Hader Tested-by: Oliver Hader --- .../Classes/Service/HistoryService.php | 16 ++++++++++++++-- .../Resources/Public/JavaScript/helpers.js | 18 +++++++++++++++++- 2 files changed, 31 insertions(+), 3 deletions(-) diff --git a/typo3/sysext/workspaces/Classes/Service/HistoryService.php b/typo3/sysext/workspaces/Classes/Service/HistoryService.php index 6e7cfa881af7..f7ae7c952e96 100644 --- a/typo3/sysext/workspaces/Classes/Service/HistoryService.php +++ b/typo3/sysext/workspaces/Classes/Service/HistoryService.php @@ -89,7 +89,7 @@ class HistoryService implements \TYPO3\CMS\Core\SingletonInterface { if (!empty($entry['action'])) { $differences = $entry['action']; } else { - $differences = implode('<br/>', $this->getDifferences($entry)); + $differences = $this->getDifferences($entry); } return array( 'datetime' => htmlspecialchars(BackendUtility::datetime($entry['tstamp'])), @@ -117,7 +117,12 @@ class HistoryService implements \TYPO3\CMS\Core\SingletonInterface { BackendUtility::getProcessedValue($tableName, $field, $entry['oldRecord'][$field], 0, TRUE), BackendUtility::getProcessedValue($tableName, $field, $entry['newRecord'][$field], 0, TRUE) ); - $differences[] = nl2br($fieldDifferences); + if (!empty($fieldDifferences)) { + $differences[] = array( + 'label' => $this->getLanguageService()->sl((string)BackendUtility::getItemLabel($tableName, $field)), + 'html' => nl2br(trim($fieldDifferences)), + ); + } } } } @@ -168,4 +173,11 @@ class HistoryService implements \TYPO3\CMS\Core\SingletonInterface { return $this->differencesObject; } + /** + * @return \TYPO3\CMS\Lang\LanguageService + */ + protected function getLanguageService() { + return $GLOBALS['LANG']; + } + } diff --git a/typo3/sysext/workspaces/Resources/Public/JavaScript/helpers.js b/typo3/sysext/workspaces/Resources/Public/JavaScript/helpers.js index 17336407f61f..e6a6f00758b6 100644 --- a/typo3/sysext/workspaces/Resources/Public/JavaScript/helpers.js +++ b/typo3/sysext/workspaces/Resources/Public/JavaScript/helpers.js @@ -172,7 +172,23 @@ TYPO3.Workspaces.Helpers = { columns: [ { width: 30, id: 'datetime', header: 'Date' }, { width: 20, id: 'user', header: 'User', dataIndex: 'user' }, - { id: 'differences', header: 'Differences', dataIndex: 'differences' } + { + id: 'differences', + header: 'Differences', + dataIndex: 'differences', + renderer: function(value, metaData, record, rowIndex, colIndex, store) { + if (typeof value === 'string') { + return value; + } else { + var template = new Ext.XTemplate( + '<tpl for=".">', + '<div style="display: block; padding: 3px 0;"><strong>{label}</strong> {html}</div>', + '</tpl>' + ); + return template.apply(value); + } + } + } ] }) } -- GitLab