featdd / dpn_glossary

Glossary extension for TYPO3
http://typo3.org/extensions/repository/view/dpn_glossary
GNU General Public License v2.0
20 stars 29 forks source link

Filling out Description or Synonym as a non-admin user results in Error #208

Closed shollorangehivede closed 8 months ago

shollorangehivede commented 9 months ago

Typo3-Error is: 1: recordEditAccessInternals() check failed. [ERROR: The "languageField" field named "sys_language_uid" was not found in testing record!])

Possible reason: Missing 'sys_language_uid' in 'type' in Configuration/TCA/tx_dpnglossary_domain_model_description.php and Configuration/TCA/tx_dpnglossary_domain_model_synonym.php

Tested Typo3-Version: 11.5.33 Tested DNP Glossary Version: 5.1.0

featdd commented 9 months ago

Hi @shollorangehivede,

how do I reproduce this error? The field is of course defined here, I've never encountered this error before.

Greetings Daniel

shollorangehivede commented 9 months ago

Thank you for the quick answer - in our case, we updated the glossary (which was inactive for the time being) to the latest version and set it all up. Then we added user rights for an editor-user-group and tested the setup. All was working fine as an admin but when switching in the role of an editor, the error was shown when entering a description or synonym. A colleague suggested to add the sys_language_uid to the 'types' in line 27. We got a work-around by overriding the TCA:


use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;

//Add Language Field to DPN Glossary Description and Synonym Element

$GLOBALS['TCA']['tx_dpnglossary_domain_model_description']['palettes']['hiddenLanguagePalette'] = [
    'showitem' => 'sys_language_uid, l10n_parent',
    'isHiddenPalette' => true
];
$GLOBALS['TCA']['tx_dpnglossary_domain_model_synonym']['palettes']['hiddenLanguagePalette'] = [
    'showitem' => 'sys_language_uid, l10n_parent',
    'isHiddenPalette' => true
];

ExtensionManagementUtility::addToAllTCAtypes('tx_dpnglossary_domain_model_description', '--palette--;;hiddenLanguagePalette', '1');
ExtensionManagementUtility::addToAllTCAtypes('tx_dpnglossary_domain_model_synonym', '--palette--;;hiddenLanguagePalette', '1');
featdd commented 8 months ago

Hi @shollorangehivede,

I've fixed this here: 42e53f8c37be4040f4db111745edaefd9840ae3c

Greetings Daniel