Commit 4fd30373 authored by André Buchmann's avatar André Buchmann Committed by Christian Kuhn
Browse files

[BUGFIX] Consider hideAtCopy and disableHideAtCopy for page translation

In TYPO3 v8, new page translations within pages_language_overlay
were visible by default when using plain DataHandler.

In TYPO3 v9, due to the merge into "pages" for translations,
the default value for "hidden" is used. Every new page translation
was hidden by default - this was a different behavior.

Issue #88248 changed this and restored the behaviour how it was in
TYPO3 v8, this translated pages where always visible.

This patch consider TCA configuration 'hideAtCopy' and TSconfig setting
'TCEMAIN.table.pages.disableHideAtCopy' options for page translations
if source page is not already hidden. Further datahandler tests are
added to cover these cases and prevent regressions on that.

As the patch for #88248 already has been stating:

For future TYPO3 major versions, the hidden field could be migrated
into a 'allowLanguageSynchronization' once the Context API is used
throughout Core properly.

Resolves: #89622
Related: #88248

Releases: master
Change-Id: Iff0488c559201fa51071cb6f364edec8e148a05a
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/71556

Tested-by: Benni Mack's avatarBenni Mack <benni@typo3.org>
Tested-by: Stefan Bürk's avatarStefan Bürk <stefan@buerk.tech>
Tested-by: core-ci's avatarcore-ci <typo3@b13.com>
Tested-by: Christian Kuhn's avatarChristian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Benni Mack's avatarBenni Mack <benni@typo3.org>
Reviewed-by: Stefan Bürk's avatarStefan Bürk <stefan@buerk.tech>
Reviewed-by: Christian Kuhn's avatarChristian Kuhn <lolli@schwarzbu.ch>
parent 935b834d
......@@ -4537,8 +4537,8 @@ class DataHandler implements LoggerAwareInterface
if (isset($fCfg['l10n_mode']) && $fCfg['l10n_mode'] === 'prefixLangTitle') {
if (($fCfg['config']['type'] === 'text' || $fCfg['config']['type'] === 'input') && (string)$row[$fN] !== '') {
$TSConfig = BackendUtility::getPagesTSconfig($pageId)['TCEMAIN.'] ?? [];
$tE = $this->getTableEntries($table, $TSConfig);
if (!empty($TSConfig['translateToMessage']) && !($tE['disablePrependAtCopy'] ?? false)) {
$tableEntries = $this->getTableEntries($table, $TSConfig);
if (!empty($TSConfig['translateToMessage']) && !($tableEntries['disablePrependAtCopy'] ?? false)) {
$translateToMsg = $this->getLanguageService()->sL($TSConfig['translateToMessage']);
$translateToMsg = @sprintf($translateToMsg, $siteLanguage->getTitle());
}
......@@ -4583,6 +4583,19 @@ class DataHandler implements LoggerAwareInterface
if (!empty($GLOBALS['TCA'][$table]['ctrl']['enablecolumns']['disabled'])) {
$hiddenFieldName = $GLOBALS['TCA'][$table]['ctrl']['enablecolumns']['disabled'];
$overrideValues[$hiddenFieldName] = $row[$hiddenFieldName] ?? $GLOBALS['TCA'][$table]['columns'][$hiddenFieldName]['config']['default'];
// Override by TCA "hideAtCopy" or pageTS "disableHideAtCopy"
// Only for visible pages to get the same behaviour as for copy
if (!$overrideValues[$hiddenFieldName]) {
$TSConfig = BackendUtility::getPagesTSconfig($uid)['TCEMAIN.'] ?? [];
$tableEntries = $this->getTableEntries($table, $TSConfig);
if (
($GLOBALS['TCA'][$table]['ctrl']['hideAtCopy'] ?? false)
&& !$this->neverHideAtCopy
&& !($tableEntries['disableHideAtCopy'] ?? false)
) {
$overrideValues[$hiddenFieldName] = 1;
}
}
}
$temporaryId = StringUtility::getUniqueId('NEW');
$copyTCE = $this->getLocalTCE();
......
......@@ -478,6 +478,158 @@ abstract class AbstractActionTestCase extends AbstractDataHandlerActionTestCase
$this->actionService->copyRecord(self::TABLE_Content, self::VALUE_ContentIdParent, self::VALUE_PageIdParent);
}
public function localizePageNotHiddenHideAtCopyFalse(): void
{
$GLOBALS['TCA'][self::TABLE_Page]['ctrl']['hideAtCopy'] = false;
$localizedTableIds = $this->actionService->localizeRecord(self::TABLE_Page, self::VALUE_PageId, self::VALUE_LanguageId);
$this->recordIds['localizedPageId'] = $localizedTableIds[self::TABLE_Page][self::VALUE_PageId];
}
public function localizePageHiddenHideAtCopyFalse(): void
{
$GLOBALS['TCA'][self::TABLE_Page]['ctrl']['hideAtCopy'] = false;
// @todo Add hidden page to importDefault.csv to make this database change superfluous.
$this->getConnectionPool()->getConnectionForTable(self::TABLE_Page)->update(
self::TABLE_Page,
[
'hidden' => 1,
],
[
'uid' => self::VALUE_PageId,
]
);
$localizedTableIds = $this->actionService->localizeRecord(self::TABLE_Page, self::VALUE_PageId, self::VALUE_LanguageId);
$this->recordIds['localizedPageId'] = $localizedTableIds[self::TABLE_Page][self::VALUE_PageId];
}
public function localizePageNotHiddenHideAtCopyDisableHideAtCopyUnset(): void
{
// This is the default, but set it to be expressive for this test.
$GLOBALS['TCA'][self::TABLE_Page]['ctrl']['hideAtCopy'] = true;
$localizedTableIds = $this->actionService->localizeRecord(self::TABLE_Page, self::VALUE_PageId, self::VALUE_LanguageId);
$this->recordIds['localizedPageId'] = $localizedTableIds[self::TABLE_Page][self::VALUE_PageId];
}
public function localizePageHiddenHideAtCopyDisableHideAtCopyUnset(): void
{
// This is the default, but set it to be expressive for this test.
$GLOBALS['TCA'][self::TABLE_Page]['ctrl']['hideAtCopy'] = true;
// @todo Add hidden page to importDefault.csv to make this database change superfluous.
$this->getConnectionPool()->getConnectionForTable(self::TABLE_Page)->update(
self::TABLE_Page,
[
'hidden' => 1,
],
[
'uid' => self::VALUE_PageId,
]
);
$localizedTableIds = $this->actionService->localizeRecord(self::TABLE_Page, self::VALUE_PageId, self::VALUE_LanguageId);
$this->recordIds['localizedPageId'] = $localizedTableIds[self::TABLE_Page][self::VALUE_PageId];
}
public function localizePageNotHiddenHideAtCopyDisableHideAtCopySetToFalse(): void
{
// This is the default, but set it to be expressive for this test.
$GLOBALS['TCA'][self::TABLE_Page]['ctrl']['hideAtCopy'] = true;
$this->getConnectionPool()->getConnectionForTable(self::TABLE_Page)->update(
self::TABLE_Page,
[
'TSconfig' => 'TCEMAIN.table.pages.disableHideAtCopy = 0',
],
[
'uid' => self::VALUE_PageIdWebsite,
]
);
$localizedTableIds = $this->actionService->localizeRecord(self::TABLE_Page, self::VALUE_PageId, self::VALUE_LanguageId);
$this->recordIds['localizedPageId'] = $localizedTableIds[self::TABLE_Page][self::VALUE_PageId];
}
public function localizePageHiddenHideAtCopyDisableHideAtCopySetToFalse(): void
{
// This is the default, but set it to be expressive for this test.
$GLOBALS['TCA'][self::TABLE_Page]['ctrl']['hideAtCopy'] = true;
// @todo Add hidden page to importDefault.csv to make this database change superfluous.
$this->getConnectionPool()->getConnectionForTable(self::TABLE_Page)->update(
self::TABLE_Page,
[
'hidden' => 1,
],
[
'uid' => self::VALUE_PageId,
]
);
$this->getConnectionPool()->getConnectionForTable(self::TABLE_Page)->update(
self::TABLE_Page,
[
'TSconfig' => 'TCEMAIN.table.pages.disableHideAtCopy = 0',
],
[
'uid' => self::VALUE_PageIdWebsite,
]
);
$localizedTableIds = $this->actionService->localizeRecord(self::TABLE_Page, self::VALUE_PageId, self::VALUE_LanguageId);
$this->recordIds['localizedPageId'] = $localizedTableIds[self::TABLE_Page][self::VALUE_PageId];
}
public function localizePageNotHiddenHideAtCopyDisableHideAtCopySetToTrue(): void
{
// This is the default, but set it to be expressive for this test.
$GLOBALS['TCA'][self::TABLE_Page]['ctrl']['hideAtCopy'] = true;
$this->getConnectionPool()->getConnectionForTable(self::TABLE_Page)->update(
self::TABLE_Page,
[
'TSconfig' => 'TCEMAIN.table.pages.disableHideAtCopy = 1',
],
[
'uid' => self::VALUE_PageIdWebsite,
]
);
$GLOBALS['TCA'][self::TABLE_Page]['ctrl']['hideAtCopy'] = true;
$localizedTableIds = $this->actionService->localizeRecord(self::TABLE_Page, self::VALUE_PageId, self::VALUE_LanguageId);
$this->recordIds['localizedPageId'] = $localizedTableIds[self::TABLE_Page][self::VALUE_PageId];
}
public function localizePageHiddenHideAtCopyDisableHideAtCopySetToTrue(): void
{
// This is the default, but set it to be expressive for this test.
$GLOBALS['TCA'][self::TABLE_Page]['ctrl']['hideAtCopy'] = true;
// @todo Add hidden page to importDefault.csv to make this database change superfluous.
$this->getConnectionPool()->getConnectionForTable(self::TABLE_Page)->update(
self::TABLE_Page,
[
'hidden' => 1,
],
[
'uid' => self::VALUE_PageId,
]
);
$this->getConnectionPool()->getConnectionForTable(self::TABLE_Page)->update(
self::TABLE_Page,
[
'TSconfig' => 'TCEMAIN.table.pages.disableHideAtCopy = 1',
],
[
'uid' => self::VALUE_PageIdWebsite,
]
);
$localizedTableIds = $this->actionService->localizeRecord(self::TABLE_Page, self::VALUE_PageId, self::VALUE_LanguageId);
$this->recordIds['localizedPageId'] = $localizedTableIds[self::TABLE_Page][self::VALUE_PageId];
}
public function changePageSorting(): void
{
$this->actionService->moveRecord(self::TABLE_Page, self::VALUE_PageId, -self::VALUE_PageIdTarget);
......
......@@ -772,6 +772,78 @@ class ActionTest extends AbstractActionTestCase
$this->assertAssertionDataSet('localizeNestedPagesAndContents');
}
/**
* @test
*/
public function localizePageHiddenHideAtCopyFalse(): void
{
parent::localizePageHiddenHideAtCopyFalse();
$this->assertAssertionDataSet('localizePageHiddenHideAtCopyFalse');
}
/**
* @test
*/
public function localizePageNotHiddenHideAtCopyFalse(): void
{
parent::localizePageNotHiddenHideAtCopyFalse();
$this->assertAssertionDataSet('localizePageNotHiddenHideAtCopyFalse');
}
/**
* @test
*/
public function localizePageNotHiddenHideAtCopyDisableHideAtCopyUnset(): void
{
parent::localizePageNotHiddenHideAtCopyDisableHideAtCopyUnset();
$this->assertAssertionDataSet('localizePageNotHiddenHideAtCopyNotDisableHideAtCopyUnset');
}
/**
* @test
*/
public function localizePageHiddenHideAtCopyDisableHideAtCopyUnset(): void
{
parent::localizePageHiddenHideAtCopyDisableHideAtCopyUnset();
$this->assertAssertionDataSet('localizePageHiddenHideAtCopyNotDisableHideAtCopyUnset');
}
/**
* @test
*/
public function localizePageNotHiddenHideAtCopyDisableHideAtCopySetToFalse(): void
{
parent::localizePageNotHiddenHideAtCopyDisableHideAtCopySetToFalse();
$this->assertAssertionDataSet('localizePageNotHiddenHideAtCopyDisableHideAtCopySetToFalse');
}
/**
* @test
*/
public function localizePageHiddenHideAtCopyDisableHideAtCopySetToFalse(): void
{
parent::localizePageHiddenHideAtCopyDisableHideAtCopySetToFalse();
$this->assertAssertionDataSet('localizePageHiddenHideAtCopyDisableHideAtCopySetToFalse');
}
/**
* @test
*/
public function localizePageNotHiddenHideAtCopyDisableHideAtCopySetToTrue(): void
{
parent::localizePageNotHiddenHideAtCopyDisableHideAtCopySetToTrue();
$this->assertAssertionDataSet('localizePageNotHiddenHideAtCopyDisableHideAtCopySetToTrue');
}
/**
* @test
*/
public function localizePageHiddenHideAtCopyDisableHideAtCopySetToTrue(): void
{
parent::localizePageHiddenHideAtCopyDisableHideAtCopySetToTrue();
$this->assertAssertionDataSet('localizePageHiddenHideAtCopyDisableHideAtCopySetToTrue');
}
/**
* @test
* See DataSet/changePageSorting.csv
......
"pages",,,,,,,,,,,,,,
,"uid","pid","sorting","sys_language_uid","l10n_parent","deleted","hidden","t3_origuid","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title","slug"
,1,0,256,0,0,0,0,0,0,0,0,0,"FunctionalTest","/"
,50,0,512,0,0,0,0,0,0,0,0,0,"Second Root Page","/"
,51,50,128,0,0,0,0,0,0,0,0,0,"DataHandlerTest in second tree","/data-handler"
,52,51,128,0,0,0,0,0,0,0,0,0,"Relations in second tree","/data-handler/relations"
,88,1,256,0,0,0,0,0,0,0,0,0,"DataHandlerTest","/data-handler"
,89,88,256,0,0,0,1,0,0,0,0,0,"Relations","/data-handler/relations"
,90,88,512,0,0,0,0,0,0,0,0,0,"Target","/data-handler/target"
,91,88,256,1,89,0,1,0,0,0,0,0,"[Translate to Dansk:] Relations","/data-handler/translate-to-dansk-relations"
"sys_language",,,,,,,,,,,,,,
,"uid","pid","hidden","title","flag",,,,,,,,,
,1,0,0,"Dansk","dk",,,,,,,,,
,2,0,0,"Deutsch","de",,,,,,,,,
"tt_content",,,,,,,,,,,,,,
,"uid","pid","sorting","deleted","sys_language_uid","l18n_parent","l10n_source","t3_origuid","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","header",
,296,88,256,0,0,0,0,0,0,0,0,0,"Regular Element #0",
,297,89,256,0,0,0,0,0,0,0,0,0,"Regular Element #1",
,298,89,512,0,0,0,0,0,0,0,0,0,"Regular Element #2",
,299,89,768,0,0,0,0,0,0,0,0,0,"Regular Element #3",
,300,89,1024,0,1,299,299,299,0,0,0,0,"[Translate to Dansk:] Regular Element #3",
,301,89,384,0,1,297,297,297,0,0,0,0,"[Translate to Dansk:] Regular Element #1",
,302,89,448,0,2,297,301,301,0,0,0,0,"[Translate to Deutsch:] [Translate to Dansk:] Regular Element #1",
"sys_refindex",,,,,,,,,,,,,,
,"hash","tablename","recuid","field","flexpointer","softref_key","softref_id","sorting","workspace","ref_table","ref_uid","ref_string",,
,"1130084e4038e95f2d5806b731cd416a","tt_content",300,"l18n_parent",,,,0,0,"tt_content",299,,,
,"4a1e04a83a4a17882682d86f6cd61f3d","tt_content",301,"l18n_parent",,,,0,0,"tt_content",297,,,
,"25f3b71b67f29fa33fbfd4fa2d930b70","tt_content",302,"l18n_parent",,,,0,0,"tt_content",297,,,
,"583b9974d1df1d9efb695cdabfe53a73","pages",91,"l10n_parent",,,,0,0,"pages",89,,,
"pages",,,,,,,,,,,,,,
,"uid","pid","sorting","sys_language_uid","l10n_parent","deleted","hidden","t3_origuid","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title","slug"
,1,0,256,0,0,0,0,0,0,0,0,0,"FunctionalTest","/"
,50,0,512,0,0,0,0,0,0,0,0,0,"Second Root Page","/"
,51,50,128,0,0,0,0,0,0,0,0,0,"DataHandlerTest in second tree","/data-handler"
,52,51,128,0,0,0,0,0,0,0,0,0,"Relations in second tree","/data-handler/relations"
,88,1,256,0,0,0,0,0,0,0,0,0,"DataHandlerTest","/data-handler"
,89,88,256,0,0,0,1,0,0,0,0,0,"Relations","/data-handler/relations"
,90,88,512,0,0,0,0,0,0,0,0,0,"Target","/data-handler/target"
,91,88,256,1,89,0,1,0,0,0,0,0,"[Translate to Dansk:] Relations","/data-handler/translate-to-dansk-relations"
"sys_language",,,,,,,,,,,,,,
,"uid","pid","hidden","title","flag",,,,,,,,,
,1,0,0,"Dansk","dk",,,,,,,,,
,2,0,0,"Deutsch","de",,,,,,,,,
"tt_content",,,,,,,,,,,,,,
,"uid","pid","sorting","deleted","sys_language_uid","l18n_parent","l10n_source","t3_origuid","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","header",
,296,88,256,0,0,0,0,0,0,0,0,0,"Regular Element #0",
,297,89,256,0,0,0,0,0,0,0,0,0,"Regular Element #1",
,298,89,512,0,0,0,0,0,0,0,0,0,"Regular Element #2",
,299,89,768,0,0,0,0,0,0,0,0,0,"Regular Element #3",
,300,89,1024,0,1,299,299,299,0,0,0,0,"[Translate to Dansk:] Regular Element #3",
,301,89,384,0,1,297,297,297,0,0,0,0,"[Translate to Dansk:] Regular Element #1",
,302,89,448,0,2,297,301,301,0,0,0,0,"[Translate to Deutsch:] [Translate to Dansk:] Regular Element #1",
"sys_refindex",,,,,,,,,,,,,,
,"hash","tablename","recuid","field","flexpointer","softref_key","softref_id","sorting","workspace","ref_table","ref_uid","ref_string",,
,"1130084e4038e95f2d5806b731cd416a","tt_content",300,"l18n_parent",,,,0,0,"tt_content",299,,,
,"4a1e04a83a4a17882682d86f6cd61f3d","tt_content",301,"l18n_parent",,,,0,0,"tt_content",297,,,
,"25f3b71b67f29fa33fbfd4fa2d930b70","tt_content",302,"l18n_parent",,,,0,0,"tt_content",297,,,
,"583b9974d1df1d9efb695cdabfe53a73","pages",91,"l10n_parent",,,,0,0,"pages",89,,,
"pages",,,,,,,,,,,,,,
,"uid","pid","sorting","sys_language_uid","l10n_parent","deleted","hidden","t3_origuid","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title","slug"
,1,0,256,0,0,0,0,0,0,0,0,0,"FunctionalTest","/"
,50,0,512,0,0,0,0,0,0,0,0,0,"Second Root Page","/"
,51,50,128,0,0,0,0,0,0,0,0,0,"DataHandlerTest in second tree","/data-handler"
,52,51,128,0,0,0,0,0,0,0,0,0,"Relations in second tree","/data-handler/relations"
,88,1,256,0,0,0,0,0,0,0,0,0,"DataHandlerTest","/data-handler"
,89,88,256,0,0,0,1,0,0,0,0,0,"Relations","/data-handler/relations"
,90,88,512,0,0,0,0,0,0,0,0,0,"Target","/data-handler/target"
,91,88,256,1,89,0,1,0,0,0,0,0,"[Translate to Dansk:] Relations","/data-handler/translate-to-dansk-relations"
"sys_language",,,,,,,,,,,,,,
,"uid","pid","hidden","title","flag",,,,,,,,,
,1,0,0,"Dansk","dk",,,,,,,,,
,2,0,0,"Deutsch","de",,,,,,,,,
"tt_content",,,,,,,,,,,,,,
,"uid","pid","sorting","deleted","sys_language_uid","l18n_parent","l10n_source","t3_origuid","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","header",
,296,88,256,0,0,0,0,0,0,0,0,0,"Regular Element #0",
,297,89,256,0,0,0,0,0,0,0,0,0,"Regular Element #1",
,298,89,512,0,0,0,0,0,0,0,0,0,"Regular Element #2",
,299,89,768,0,0,0,0,0,0,0,0,0,"Regular Element #3",
,300,89,1024,0,1,299,299,299,0,0,0,0,"[Translate to Dansk:] Regular Element #3",
,301,89,384,0,1,297,297,297,0,0,0,0,"[Translate to Dansk:] Regular Element #1",
,302,89,448,0,2,297,301,301,0,0,0,0,"[Translate to Deutsch:] [Translate to Dansk:] Regular Element #1",
"sys_refindex",,,,,,,,,,,,,,
,"hash","tablename","recuid","field","flexpointer","softref_key","softref_id","sorting","workspace","ref_table","ref_uid","ref_string",,
,"1130084e4038e95f2d5806b731cd416a","tt_content",300,"l18n_parent",,,,0,0,"tt_content",299,,,
,"4a1e04a83a4a17882682d86f6cd61f3d","tt_content",301,"l18n_parent",,,,0,0,"tt_content",297,,,
,"25f3b71b67f29fa33fbfd4fa2d930b70","tt_content",302,"l18n_parent",,,,0,0,"tt_content",297,,,
,"583b9974d1df1d9efb695cdabfe53a73","pages",91,"l10n_parent",,,,0,0,"pages",89,,,
"pages",,,,,,,,,,,,,,
,"uid","pid","sorting","sys_language_uid","l10n_parent","deleted","hidden","t3_origuid","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title","slug"
,1,0,256,0,0,0,0,0,0,0,0,0,"FunctionalTest","/"
,50,0,512,0,0,0,0,0,0,0,0,0,"Second Root Page","/"
,51,50,128,0,0,0,0,0,0,0,0,0,"DataHandlerTest in second tree","/data-handler"
,52,51,128,0,0,0,0,0,0,0,0,0,"Relations in second tree","/data-handler/relations"
,88,1,256,0,0,0,0,0,0,0,0,0,"DataHandlerTest","/data-handler"
,89,88,256,0,0,0,1,0,0,0,0,0,"Relations","/data-handler/relations"
,90,88,512,0,0,0,0,0,0,0,0,0,"Target","/data-handler/target"
,91,88,256,1,89,0,1,0,0,0,0,0,"[Translate to Dansk:] Relations","/data-handler/translate-to-dansk-relations"
"sys_language",,,,,,,,,,,,,,
,"uid","pid","hidden","title","flag",,,,,,,,,
,1,0,0,"Dansk","dk",,,,,,,,,
,2,0,0,"Deutsch","de",,,,,,,,,
"tt_content",,,,,,,,,,,,,,
,"uid","pid","sorting","deleted","sys_language_uid","l18n_parent","l10n_source","t3_origuid","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","header",
,296,88,256,0,0,0,0,0,0,0,0,0,"Regular Element #0",
,297,89,256,0,0,0,0,0,0,0,0,0,"Regular Element #1",
,298,89,512,0,0,0,0,0,0,0,0,0,"Regular Element #2",
,299,89,768,0,0,0,0,0,0,0,0,0,"Regular Element #3",
,300,89,1024,0,1,299,299,299,0,0,0,0,"[Translate to Dansk:] Regular Element #3",
,301,89,384,0,1,297,297,297,0,0,0,0,"[Translate to Dansk:] Regular Element #1",
,302,89,448,0,2,297,301,301,0,0,0,0,"[Translate to Deutsch:] [Translate to Dansk:] Regular Element #1",
"sys_refindex",,,,,,,,,,,,,,
,"hash","tablename","recuid","field","flexpointer","softref_key","softref_id","sorting","workspace","ref_table","ref_uid","ref_string",,
,"1130084e4038e95f2d5806b731cd416a","tt_content",300,"l18n_parent",,,,0,0,"tt_content",299,,,
,"4a1e04a83a4a17882682d86f6cd61f3d","tt_content",301,"l18n_parent",,,,0,0,"tt_content",297,,,
,"25f3b71b67f29fa33fbfd4fa2d930b70","tt_content",302,"l18n_parent",,,,0,0,"tt_content",297,,,
,"583b9974d1df1d9efb695cdabfe53a73","pages",91,"l10n_parent",,,,0,0,"pages",89,,,
"pages",,,,,,,,,,,,,,
,"uid","pid","sorting","sys_language_uid","l10n_parent","deleted","hidden","t3_origuid","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title","slug"
,1,0,256,0,0,0,0,0,0,0,0,0,"FunctionalTest","/"
,50,0,512,0,0,0,0,0,0,0,0,0,"Second Root Page","/"
,51,50,128,0,0,0,0,0,0,0,0,0,"DataHandlerTest in second tree","/data-handler"
,52,51,128,0,0,0,0,0,0,0,0,0,"Relations in second tree","/data-handler/relations"
,88,1,256,0,0,0,0,0,0,0,0,0,"DataHandlerTest","/data-handler"
,89,88,256,0,0,0,0,0,0,0,0,0,"Relations","/data-handler/relations"
,90,88,512,0,0,0,0,0,0,0,0,0,"Target","/data-handler/target"
,91,88,256,1,89,0,1,0,0,0,0,0,"[Translate to Dansk:] Relations","/data-handler/translate-to-dansk-relations"
"sys_language",,,,,,,,,,,,,,
,"uid","pid","hidden","title","flag",,,,,,,,,
,1,0,0,"Dansk","dk",,,,,,,,,
,2,0,0,"Deutsch","de",,,,,,,,,
"tt_content",,,,,,,,,,,,,,
,"uid","pid","sorting","deleted","sys_language_uid","l18n_parent","l10n_source","t3_origuid","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","header",
,296,88,256,0,0,0,0,0,0,0,0,0,"Regular Element #0",
,297,89,256,0,0,0,0,0,0,0,0,0,"Regular Element #1",
,298,89,512,0,0,0,0,0,0,0,0,0,"Regular Element #2",
,299,89,768,0,0,0,0,0,0,0,0,0,"Regular Element #3",
,300,89,1024,0,1,299,299,299,0,0,0,0,"[Translate to Dansk:] Regular Element #3",
,301,89,384,0,1,297,297,297,0,0,0,0,"[Translate to Dansk:] Regular Element #1",
,302,89,448,0,2,297,301,301,0,0,0,0,"[Translate to Deutsch:] [Translate to Dansk:] Regular Element #1",
"sys_refindex",,,,,,,,,,,,,,
,"hash","tablename","recuid","field","flexpointer","softref_key","softref_id","sorting","workspace","ref_table","ref_uid","ref_string",,
,"1130084e4038e95f2d5806b731cd416a","tt_content",300,"l18n_parent",,,,0,0,"tt_content",299,,,
,"4a1e04a83a4a17882682d86f6cd61f3d","tt_content",301,"l18n_parent",,,,0,0,"tt_content",297,,,
,"25f3b71b67f29fa33fbfd4fa2d930b70","tt_content",302,"l18n_parent",,,,0,0,"tt_content",297,,,
,"583b9974d1df1d9efb695cdabfe53a73","pages",91,"l10n_parent",,,,0,0,"pages",89,,,
"pages",,,,,,,,,,,,,,
,"uid","pid","sorting","sys_language_uid","l10n_parent","deleted","hidden","t3_origuid","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title","slug"
,1,0,256,0,0,0,0,0,0,0,0,0,"FunctionalTest","/"
,50,0,512,0,0,0,0,0,0,0,0,0,"Second Root Page","/"
,51,50,128,0,0,0,0,0,0,0,0,0,"DataHandlerTest in second tree","/data-handler"
,52,51,128,0,0,0,0,0,0,0,0,0,"Relations in second tree","/data-handler/relations"
,88,1,256,0,0,0,0,0,0,0,0,0,"DataHandlerTest","/data-handler"
,89,88,256,0,0,0,0,0,0,0,0,0,"Relations","/data-handler/relations"
,90,88,512,0,0,0,0,0,0,0,0,0,"Target","/data-handler/target"
,91,88,256,1,89,0,0,0,0,0,0,0,"[Translate to Dansk:] Relations","/data-handler/translate-to-dansk-relations"
"sys_language",,,,,,,,,,,,,,
,"uid","pid","hidden","title","flag",,,,,,,,,
,1,0,0,"Dansk","dk",,,,,,,,,
,2,0,0,"Deutsch","de",,,,,,,,,
"tt_content",,,,,,,,,,,,,,
,"uid","pid","sorting","deleted","sys_language_uid","l18n_parent","l10n_source","t3_origuid","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","header",
,296,88,256,0,0,0,0,0,0,0,0,0,"Regular Element #0",
,297,89,256,0,0,0,0,0,0,0,0,0,"Regular Element #1",
,298,89,512,0,0,0,0,0,0,0,0,0,"Regular Element #2",
,299,89,768,0,0,0,0,0,0,0,0,0,"Regular Element #3",
,300,89,1024,0,1,299,299,299,0,0,0,0,"[Translate to Dansk:] Regular Element #3",
,301,89,384,0,1,297,297,297,0,0,0,0,"[Translate to Dansk:] Regular Element #1",
,302,89,448,0,2,297,301,301,0,0,0,0,"[Translate to Deutsch:] [Translate to Dansk:] Regular Element #1",
"sys_refindex",,,,,,,,,,,,,,
,"hash","tablename","recuid","field","flexpointer","softref_key","softref_id","sorting","workspace","ref_table","ref_uid","ref_string",,
,"1130084e4038e95f2d5806b731cd416a","tt_content",300,"l18n_parent",,,,0,0,"tt_content",299,,,
,"4a1e04a83a4a17882682d86f6cd61f3d","tt_content",301,"l18n_parent",,,,0,0,"tt_content",297,,,
,"25f3b71b67f29fa33fbfd4fa2d930b70","tt_content",302,"l18n_parent",,,,0,0,"tt_content",297,,,
,"583b9974d1df1d9efb695cdabfe53a73","pages",91,"l10n_parent",,,,0,0,"pages",89,,,
"pages",,,,,,,,,,,,,,
,"uid","pid","sorting","sys_language_uid","l10n_parent","deleted","hidden","t3_origuid","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title","slug"
,1,0,256,0,0,0,0,0,0,0,0,0,"FunctionalTest","/"
,50,0,512,0,0,0,0,0,0,0,0,0,"Second Root Page","/"
,51,50,128,0,0,0,0,0,0,0,0,0,"DataHandlerTest in second tree","/data-handler"
,52,51,128,0,0,0,0,0,0,0,0,0,"Relations in second tree","/data-handler/relations"
,88,1,256,0,0,0,0,0,0,0,0,0,"DataHandlerTest","/data-handler"
,89,88,256,0,0,0,0,0,0,0,0,0,"Relations","/data-handler/relations"
,90,88,512,0,0,0,0,0,0,0,0,0,"Target","/data-handler/target"
,91,88,256,1,89,0,0,0,0,0,0,0,"[Translate to Dansk:] Relations","/data-handler/translate-to-dansk-relations"
"sys_language",,,,,,,,,,,,,,
,"uid","pid","hidden","title","flag",,,,,,,,,
,1,0,0,"Dansk","dk",,,,,,,,,
,2,0,0,"Deutsch","de",,,,,,,,,
"tt_content",,,,,,,,,,,,,,
,"uid","pid","sorting","deleted","sys_language_uid","l18n_parent","l10n_source","t3_origuid","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","header",
,296,88,256,0,0,0,0,0,0,0,0,0,"Regular Element #0",
,297,89,256,0,0,0,0,0,0,0,0,0,"Regular Element #1",
,298,89,512,0,0,0,0,0,0,0,0,0,"Regular Element #2",
,299,89,768,0,0,0,0,0,0,0,0,0,"Regular Element #3",
,300,89,1024,0,1,299,299,299,0,0,0,0,"[Translate to Dansk:] Regular Element #3",
,301,89,384,0,1,297,297,297,0,0,0,0,"[Translate to Dansk:] Regular Element #1",
,302,89,448,0,2,297,301,301,0,0,0,0,"[Translate to Deutsch:] [Translate to Dansk:] Regular Element #1",
"sys_refindex",,,,,,,,,,,,,,
,"hash","tablename","recuid","field","flexpointer","softref_key","softref_id","sorting","workspace","ref_table","ref_uid","ref_string",,
,"1130084e4038e95f2d5806b731cd416a","tt_content",300,"l18n_parent",,,,0,0,"tt_content",299,,,
,"4a1e04a83a4a17882682d86f6cd61f3d","tt_content",301,"l18n_parent",,,,0,0,"tt_content",297,,,
,"25f3b71b67f29fa33fbfd4fa2d930b70","tt_content",302,"l18n_parent",,,,0,0,"tt_content",297,,,
,"583b9974d1df1d9efb695cdabfe53a73","pages",91,"l10n_parent",,,,0,0,"pages",89,,,
"pages",,,,,,,,,,,,,,
,"uid","pid","sorting","sys_language_uid","l10n_parent","deleted","hidden","t3_origuid","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","title","slug"
,1,0,256,0,0,0,0,0,0,0,0,0,"FunctionalTest","/"
,50,0,512,0,0,0,0,0,0,0,0,0,"Second Root Page","/"
,51,50,128,0,0,0,0,0,0,0,0,0,"DataHandlerTest in second tree","/data-handler"
,52,51,128,0,0,0,0,0,0,0,0,0,"Relations in second tree","/data-handler/relations"
,88,1,256,0,0,0,0,0,0,0,0,0,"DataHandlerTest","/data-handler"
,89,88,256,0,0,0,0,0,0,0,0,0,"Relations","/data-handler/relations"
,90,88,512,0,0,0,0,0,0,0,0,0,"Target","/data-handler/target"
,91,88,256,1,89,0,1,0,0,0,0,0,"[Translate to Dansk:] Relations","/data-handler/translate-to-dansk-relations"
"sys_language",,,,,,,,,,,,,,
,"uid","pid","hidden","title","flag",,,,,,,,,
,1,0,0,"Dansk","dk",,,,,,,,,
,2,0,0,"Deutsch","de",,,,,,,,,
"tt_content",,,,,,,,,,,,,,
,"uid","pid","sorting","deleted","sys_language_uid","l18n_parent","l10n_source","t3_origuid","t3ver_wsid","t3ver_state","t3ver_stage","t3ver_oid","header",
,296,88,256,0,0,0,0,0,0,0,0,0,"Regular Element #0",
,297,89,256,0,0,0,0,0,0,0,0,0,"Regular Element #1",
,298,89,512,0,0,0,0,0,0,0,0,0,"Regular Element #2",
,299,89,768,0,0,0,0,0,0,0,0,0,"Regular Element #3",
,300,89,1024,0,1,299,299,299,0,0,0,0,"[Translate to Dansk:] Regular Element #3",
,301,89,384,0,1,297,297,297,0,0,0,0,"[Translate to Dansk:] Regular Element #1",
,302,89,448,0,2,297,301,301,0,0,0,0,"[Translate to Deutsch:] [Translate to Dansk:] Regular Element #1",
"sys_refindex",,,,,,,,,,,,,,
,"hash","tablename","recuid","field","flexpointer","softref_key","softref_id","sorting","workspace","ref_table","ref_uid","ref_string",,
,"1130084e4038e95f2d5806b731cd416a","tt_content",300,"l18n_parent",,,,0,0,"tt_content",299,,,
,"4a1e04a83a4a17882682d86f6cd61f3d","tt_content",301,"l18n_parent",,,,0,0,"tt_content",297,,,
,"25f3b71b67f29fa33fbfd4fa2d930b70","tt_content",302,"l18n_parent",,,,0,0,"tt_content",297,,,
,"583b9974d1df1d9efb695cdabfe53a73","pages",91,"l10n_parent",,,,0,0,"pages",89,,,
......@@ -390,6 +390,86 @@ class ActionTest extends AbstractActionTestCase
$this->assertAssertionDataSet('localizePage');
}
/**
* @test
*/
public function localizePageHiddenHideAtCopyFalse(): void
{
parent::localizePageHiddenHideAtCopyFalse();
$this->actionService->clearWorkspaceRecord(self::TABLE_Page, $this->recordIds['localizedPageId']);
$this->assertAssertionDataSet('localizePageHiddenHideAtCopyFalse');
}
/**
* @test
*/
public function localizePageNotHiddenHideAtCopyFalse(): void
{
parent::localizePageNotHiddenHideAtCopyFalse();
$this->actionService->clearWorkspaceRecord(self::TABLE_Page, $this->recordIds['localizedPageId']);
$this->assertAssertionDataSet('localizePageNotHiddenHideAtCopyFalse');
}
/**
* @test
*/
public function localizePageNotHiddenHideAtCopyDisableHideAtCopyUnset(): void
{
parent::localizePageNotHiddenHideAtCopyDisableHideAtCopyUnset();
$this->actionService->clearWorkspaceRecord(self::TABLE_Page, $this->recordIds['localizedPageId']);
$this->assertAssertionDataSet('localizePageNotHiddenHideAtCopyDisableHideAtCopyUnset');
}
/**
* @test
*/
public function localizePageHiddenHideAtCopyDisableHideAtCopyUnset(): void
{
parent::localizePageHiddenHideAtCopyDisableHideAtCopyUnset();
$this->actionService->clearWorkspaceRecord(self::TABLE_Page, $this->recordIds['localizedPageId']);