thuecat/Configuration/TCA/tx_thuecat_parking_facility.php
Daniel Siepmann aeaae9b42c
Support TYPO3 v12 and PHP 8.3
Use rector, PHPUnit, Codeception and PHPStan to find and fix issues.
2023-12-04 09:32:23 +01:00

221 lines
8 KiB
PHP

<?php
declare(strict_types=1);
use WerkraumMedia\ThueCat\Extension;
defined('TYPO3') or die();
return (static function (string $extensionKey, string $tableName) {
$languagePath = Extension::getLanguagePath() . 'locallang_tca.xlf:' . $tableName;
return [
'ctrl' => [
'label' => 'title',
'iconfile' => Extension::getIconPath() . $tableName . '.svg',
'default_sortby' => 'title',
'tstamp' => 'tstamp',
'crdate' => 'crdate',
'title' => $languagePath,
'enablecolumns' => [
'disabled' => 'disable',
],
'searchFields' => 'title, description',
'transOrigPointerField' => 'l18n_parent',
'transOrigDiffSourceField' => 'l18n_diffsource',
'languageField' => 'sys_language_uid',
'translationSource' => 'l10n_source',
],
'columns' => [
'sys_language_uid' => [
'exclude' => true,
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.language',
'config' => ['type' => 'language'],
],
'l18n_parent' => [
'displayCond' => 'FIELD:sys_language_uid:>:0',
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'items' => [['label' => '', 'value' => 0]],
'foreign_table' => $tableName,
'foreign_table_where' => 'AND ' . $tableName . '.pid=###CURRENT_PID### AND ' . $tableName . '.sys_language_uid IN (-1,0)',
'default' => 0,
],
],
'l10n_source' => [
'config' => [
'type' => 'passthrough',
],
],
'disable' => [
'exclude' => true,
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.enabled',
'config' => [
'type' => 'check',
'renderType' => 'checkboxToggle',
'items' => [
[
'label' => '',
1 => '',
'invertStateDisplay' => true,
],
],
],
],
'title' => [
'label' => $languagePath . '.title',
'l10n_mode' => 'prefixLangTitle',
'config' => [
'type' => 'input',
'size' => 20,
'max' => 255,
'readOnly' => true,
],
],
'description' => [
'label' => $languagePath . '.description',
'l10n_mode' => 'prefixLangTitle',
'config' => [
'type' => 'text',
'readOnly' => true,
],
],
'sanitation' => [
'label' => $languagePath . '.sanitation',
'l10n_mode' => 'prefixLangTitle',
'config' => [
'type' => 'input',
'readOnly' => true,
],
],
'other_service' => [
'label' => $languagePath . '.other_service',
'l10n_mode' => 'prefixLangTitle',
'config' => [
'type' => 'input',
'readOnly' => true,
],
],
'traffic_infrastructure' => [
'label' => $languagePath . '.traffic_infrastructure',
'l10n_mode' => 'prefixLangTitle',
'config' => [
'type' => 'input',
'readOnly' => true,
],
],
'payment_accepted' => [
'label' => $languagePath . '.payment_accepted',
'l10n_mode' => 'prefixLangTitle',
'config' => [
'type' => 'input',
'readOnly' => true,
],
],
'distance_to_public_transport' => [
'label' => $languagePath . '.distance_to_public_transport',
'l10n_mode' => 'prefixLangTitle',
'config' => [
'type' => 'input',
'readOnly' => true,
],
],
'opening_hours' => [
'label' => $languagePath . '.opening_hours',
'l10n_mode' => 'exclude',
'config' => [
'type' => 'text',
'readOnly' => true,
],
],
'special_opening_hours' => [
'label' => $languagePath . '.special_opening_hours',
'l10n_mode' => 'exclude',
'config' => [
'type' => 'text',
'readOnly' => true,
],
],
'address' => [
'label' => $languagePath . '.address',
'l10n_mode' => 'exclude',
'config' => [
'type' => 'text',
'readOnly' => true,
],
],
'media' => [
'label' => $languagePath . '.media',
'l10n_mode' => 'exclude',
'config' => [
'type' => 'text',
'readOnly' => true,
],
],
'offers' => [
'label' => $languagePath . '.offers',
'l10n_mode' => 'exclude',
'config' => [
'type' => 'text',
'readOnly' => true,
],
],
'remote_id' => [
'label' => $languagePath . '.remote_id',
'l10n_mode' => 'exclude',
'config' => [
'type' => 'input',
'readOnly' => true,
],
],
'town' => [
'label' => $languagePath . '.town',
'l10n_mode' => 'exclude',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'foreign_table' => 'tx_thuecat_town',
'default' => '0',
'items' => [
[
'label' => $languagePath . '.town.unkown',
'value' => 0,
],
],
'readOnly' => true,
],
],
'managed_by' => [
'label' => $languagePath . '.managed_by',
'l10n_mode' => 'exclude',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'foreign_table' => 'tx_thuecat_organisation',
'default' => '0',
'items' => [
[
'label' => $languagePath . '.managed_by.unkown',
'value' => 0,
],
],
'readOnly' => true,
],
],
],
'palettes' => [
'language' => [
'label' => $languagePath . '.palette.language',
'showitem' => 'sys_language_uid,l18n_parent',
],
],
'types' => [
'0' => [
'showitem' => '--palette--;;language, disable, title, description, sanitation, other_service, traffic_infrastructure, payment_accepted, distance_to_public_transport, opening_hours, special_opening_hours, offers, address, media, remote_id, --div--;' . $languagePath . '.tab.relations, town, managed_by',
],
],
];
})(Extension::EXTENSION_KEY, 'tx_thuecat_parking_facility');