').text($(element).data('label'));
---
> var labelEl = $('
').html($(element).data('label'));
diff -r /var/www/typo3_src-7.6.9/typo3/sysext/backend/Resources/Public/JavaScript/FormEngineValidation.js /var/www/typo3_src-7.6.10/typo3/sysext/backend/Resources/Public/JavaScript/FormEngineValidation.js
207d206
< var origValue = $humanReadableField.val();
220,226c219,220
< if ($.inArray('password', evalList) !== -1) {
< $mainField.val(origValue);
< $humanReadableField.val(newValue);
< } else {
< $mainField.val(newValue);
< $humanReadableField.val(formattedValue);
< }
---
> $mainField.val(newValue);
> $humanReadableField.val(formattedValue);
277d270
< $field.closest(FormEngineValidation.markerSelector).addClass(FormEngineValidation.errorClass);
291d283
< $field.closest(FormEngineValidation.markerSelector).addClass(FormEngineValidation.errorClass);
314d305
< $field.closest(FormEngineValidation.markerSelector).addClass(FormEngineValidation.errorClass);
359a351,353
> // mark field
> $field.closest(FormEngineValidation.markerSelector).addClass(FormEngineValidation.errorClass);
>
490,491c484
< var theString = (value) ? FormEngineValidation.passwordDummy : '';
< returnValue = theString;
---
> // password is only a display evaluation, we ignore it
diff -r /var/www/typo3_src-7.6.9/typo3/sysext/backend/Resources/Public/JavaScript/jsfunc.inline.js /var/www/typo3_src-7.6.10/typo3/sysext/backend/Resources/Public/JavaScript/jsfunc.inline.js
179a180
> return false;
1135c1136
< TYPO3.jQuery('#' + this.escapeObjectId(objectId) + '_label').html(value.length ? value : this.noTitleString);
---
> TYPO3.jQuery('#' + this.escapeObjectId(objectId) + '_label').text(value.length ? value : this.noTitleString);
diff -r /var/www/typo3_src-7.6.9/typo3/sysext/backend/Resources/Public/JavaScript/LoginRefresh.js /var/www/typo3_src-7.6.10/typo3/sysext/backend/Resources/Public/JavaScript/LoginRefresh.js
207c207,208
< LoginRefresh.$loginForm.find('.modal-header h4').text(TYPO3.LLL.core.refresh_login_title);
---
> var refresh_login_title = String(TYPO3.LLL.core.refresh_login_title).replace('%s', TYPO3.configuration.username);
> LoginRefresh.$loginForm.find('.modal-header h4').text(refresh_login_title);
220c221,225
< $('', {type: 'submit', form: 'beLoginRefresh', class: 'btn btn-primary', 'data-action': 'refreshSession'}).text(TYPO3.LLL.core.refresh_login_button)
---
> $('', {type: 'button', class: 'btn btn-primary', 'data-action': 'refreshSession'})
> .text(TYPO3.LLL.core.refresh_login_button)
> .on('click', function(e) {
> LoginRefresh.$loginForm.find('form').submit();
> })
Only in /var/www/typo3_src-7.6.10/typo3/sysext/backend/Tests: Functional
diff -r /var/www/typo3_src-7.6.9/typo3/sysext/backend/Tests/Unit/Controller/FormInlineAjaxControllerTest.php /var/www/typo3_src-7.6.10/typo3/sysext/backend/Tests/Unit/Controller/FormInlineAjaxControllerTest.php
17a18
> use TYPO3\CMS\Core\Authentication\BackendUserAuthentication;
63a65,218
> }
>
> /**
> * @dataProvider splitDomObjectIdDataProviderForTableName
> * @param string $dataStructure
> * @param string $expectedTableName
> * @test
> *
> * test for the flexform domobject identifier split
> */
> public function splitDomObjectIdResolvesTablenameCorrectly($dataStructure, $expectedTableName)
> {
> $mock = $this->getAccessibleMock(FormInlineAjaxController::class, ['dummy'], [], '', false);
> $result = $mock->_call('splitDomObjectId', $dataStructure);
> $this->assertSame($expectedTableName, $result[1]);
> }
>
> /**
> * @return array
> */
> public function splitDomObjectIdDataProviderForTableName()
> {
> return [
> 'news new' => [
> 'data-335-tx_news_domain_model_news-2-content_elements-tt_content-999-pi_flexform---data---sheet.tabGeneral---lDEF---settings.related_files---vDEF-tx_news_domain_model_file',
> 'tx_news_domain_model_file'
> ],
> 'load existing child' => [
> 'data-318-tx_styleguide_flex-4-flex_3---data---sInline---lDEF---inline_1---vDEF-tx_styleguide_flex_flex_3_inline_1_child-4',
> 'tx_styleguide_flex_flex_3_inline_1_child'
> ],
> 'create new child' => [
> 'data-318-tx_styleguide_flex-4-flex_3---data---sInline---lDEF---inline_1---vDEF-tx_styleguide_flex_flex_3_inline_1_child',
> 'tx_styleguide_flex_flex_3_inline_1_child'
> ],
> 'insert new after' => [
> 'data-336-tt_content-1000-pi_flexform---data---sheet.tabGeneral---lDEF---settings.related_files---vDEF-tx_news_domain_model_file-6',
> 'tx_news_domain_model_file'
> ],
> 'fal simple' => [
> 'data-336-tt_content-998-pi_flexform---data---sheet.tabGeneral---lDEF---settings.image---vDEF-sys_file_reference-837',
> 'sys_file_reference'
> ],
> 'fal down deep' => [
> 'data-335-tx_news_domain_model_news-2-content_elements-tt_content-999-pi_flexform---data---sheet.tabGeneral---lDEF---settings.image---vDEF-sys_file_reference',
> 'sys_file_reference'
> ],
> 'new record after others' => ['data-336-tt_content-1000-pi_flexform---data---sheet.tabGeneral---lDEF---settings.related_files---vDEF-tx_news_domain_model_file-NEW5757f36287214984252204', 'tx_news_domain_model_file'],
> ];
> }
>
> /**
> * @dataProvider splitDomObjectIdDataProviderForFlexFormPath
> *
> * @param string $dataStructure
> * @param string $expectedFlexformPath
> *
> * @test
> *
> * test for the flexform domobject identifier split
> */
> public function splitDomObjectIdResolvesFlexformPathCorrectly($dataStructure, $expectedFlexformPath)
> {
> $mock = $this->getAccessibleMock(FormInlineAjaxController::class, ['dummy'], [], '', false);
> $result = $mock->_call('splitDomObjectId', $dataStructure);
> $this->assertSame($expectedFlexformPath, $result[0]);
> }
>
> /**
> * @return array
> */
> public function splitDomObjectIdDataProviderForFlexFormPath()
> {
> return [
> 'news new' => [
> 'data-335-tx_news_domain_model_news-2-content_elements-tt_content-999-pi_flexform---data---sheet.tabGeneral---lDEF---settings.related_files---vDEF-tx_news_domain_model_file',
> 'sheet.tabGeneral:lDEF:settings.related_files:vDEF'
> ],
> 'load existing child' => [
> 'data-318-tx_styleguide_flex-4-flex_3---data---sInline---lDEF---inline_1---vDEF-tx_styleguide_flex_flex_3_inline_1_child-4',
> 'sInline:lDEF:inline_1:vDEF'
> ],
> 'create new child' => [
> 'data-318-tx_styleguide_flex-4-flex_3---data---sInline---lDEF---inline_1---vDEF-tx_styleguide_flex_flex_3_inline_1_child',
> 'sInline:lDEF:inline_1:vDEF'
> ],
> 'insert new after' => [
> 'data-336-tt_content-1000-pi_flexform---data---sheet.tabGeneral---lDEF---settings.related_files---vDEF-tx_news_domain_model_file-6',
> 'sheet.tabGeneral:lDEF:settings.related_files:vDEF'
> ],
> 'fal simple' => [
> 'data-336-tt_content-998-pi_flexform---data---sheet.tabGeneral---lDEF---settings.image---vDEF-sys_file_reference-837',
> 'sheet.tabGeneral:lDEF:settings.image:vDEF'
> ],
> 'fal down deep' => [
> 'data-335-tx_news_domain_model_news-2-content_elements-tt_content-999-pi_flexform---data---sheet.tabGeneral---lDEF---settings.image---vDEF-sys_file_reference',
> 'sheet.tabGeneral:lDEF:settings.image:vDEF'
> ],
> 'new record after others' => [
> 'data-336-tt_content-1000-pi_flexform---data---sheet.tabGeneral---lDEF---settings.related_files---vDEF-tx_news_domain_model_file-NEW5757f36287214984252204',
> 'sheet.tabGeneral:lDEF:settings.related_files:vDEF'
> ],
> ];
> }
>
> /**
> * Fallback for IRRE items without inline view attribute
> * @issue https://forge.typo3.org/issues/76561
> *
> * @test
> */
> public function getInlineExpandCollapseStateArraySwitchesToFallbackIfTheBackendUserDoesNotHaveAnUCInlineViewProperty()
> {
> $backendUserProphecy = $this->prophesize(BackendUserAuthentication::class);
> $backendUserProphecy->uc = [];
> $backendUser = $backendUserProphecy->reveal();
>
> $mockObject = $this->getAccessibleMock(
> FormInlineAjaxController::class,
> ['getBackendUserAuthentication'],
> [],
> '',
> false
> );
> $mockObject->method('getBackendUserAuthentication')->willReturn($backendUser);
> $result = $mockObject->_call('getInlineExpandCollapseStateArray');
>
> $this->assertEmpty($result);
> }
>
>
> /**
> * Unserialize uc inline view string for IRRE item
> * @issue https://forge.typo3.org/issues/76561
> *
> * @test
> */
> public function getInlineExpandCollapseStateArrayWillUnserializeUCInlineViewPropertyAsAnArrayWithData()
> {
> $backendUserProphecy = $this->prophesize(BackendUserAuthentication::class);
> $backendUserProphecy->uc = ['inlineView' => serialize(['foo' => 'bar'])];
> $backendUser = $backendUserProphecy->reveal();
>
> $mockObject = $this->getAccessibleMock(
> FormInlineAjaxController::class,
> ['getBackendUserAuthentication'],
> [],
> '',
> false
> );
> $mockObject->method('getBackendUserAuthentication')->willReturn($backendUser);
> $result = $mockObject->_call('getInlineExpandCollapseStateArray');
>
> $this->assertNotEmpty($result);
diff -r /var/www/typo3_src-7.6.9/typo3/sysext/backend/Tests/Unit/Form/Element/InputTextElementTest.php /var/www/typo3_src-7.6.10/typo3/sysext/backend/Tests/Unit/Form/Element/InputTextElementTest.php
51d50
<
diff -r /var/www/typo3_src-7.6.9/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaSelectItemsTest.php /var/www/typo3_src-7.6.10/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaSelectItemsTest.php
1325a1326,1334
> 'replace CURRENT_PID within FlexForm' => [
> 'AND fTable.uid=###CURRENT_PID###',
> 'pages.uid=fTable.pid AND pages.deleted=0 AND 1=1 AND fTable.uid=77',
> [
> 'flexParentDatabaseRow' => [
> 'pid' => '77',
> ],
> ],
> ],
diff -r /var/www/typo3_src-7.6.9/typo3/sysext/backend/Tests/Unit/Utility/BackendUtilityTest.php /var/www/typo3_src-7.6.10/typo3/sysext/backend/Tests/Unit/Utility/BackendUtilityTest.php
1067c1067,1068
< public function dateTimeAgeReturnsCorrectValues() {
---
> public function dateTimeAgeReturnsCorrectValues()
> {