Merge remote-tracking branch 'origin/support/3.0' into develop

This commit is contained in:
Eric Espie
2022-08-09 17:42:23 +02:00
14 changed files with 33 additions and 14 deletions

View File

@@ -28,7 +28,7 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', [
//
Dict::Add('CS CZ', 'Czech', 'Čeština', [
'Class:OAuthClient' => 'Oauth Client~~',
'Class:OAuthClient' => 'OAuth Client~~',
'Class:OAuthClient/Attribute:provider' => 'Provider~~',
'Class:OAuthClient/Attribute:provider+' => '~~',
'Class:OAuthClient/Attribute:name' => 'Login~~',

View File

@@ -28,7 +28,7 @@ Dict::Add('DA DA', 'Danish', 'Dansk', [
//
Dict::Add('DA DA', 'Danish', 'Dansk', [
'Class:OAuthClient' => 'Oauth Client~~',
'Class:OAuthClient' => 'OAuth Client~~',
'Class:OAuthClient/Attribute:provider' => 'Provider~~',
'Class:OAuthClient/Attribute:provider+' => '~~',
'Class:OAuthClient/Attribute:name' => 'Login~~',

View File

@@ -33,7 +33,7 @@ Dict::Add('EN US', 'English', 'English', [
//
Dict::Add('EN US', 'English', 'English', [
'Class:OAuthClient' => 'Oauth Client',
'Class:OAuthClient' => 'OAuth Client',
'Class:OAuthClient/Attribute:provider' => 'Provider',
'Class:OAuthClient/Attribute:provider+' => '',
'Class:OAuthClient/Attribute:name' => 'Login',

View File

@@ -28,7 +28,7 @@ Dict::Add('ES CR', 'Spanish', 'Español, Castellaño', [
//
Dict::Add('ES CR', 'Spanish', 'Español, Castellaño', [
'Class:OAuthClient' => 'Oauth Client~~',
'Class:OAuthClient' => 'OAuth Client~~',
'Class:OAuthClient/Attribute:provider' => 'Provider~~',
'Class:OAuthClient/Attribute:provider+' => '~~',
'Class:OAuthClient/Attribute:name' => 'Login~~',

View File

@@ -28,7 +28,7 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', [
//
Dict::Add('HU HU', 'Hungarian', 'Magyar', [
'Class:OAuthClient' => 'Oauth Client~~',
'Class:OAuthClient' => 'OAuth Client~~',
'Class:OAuthClient/Attribute:provider' => 'Provider~~',
'Class:OAuthClient/Attribute:provider+' => '~~',
'Class:OAuthClient/Attribute:name' => 'Login~~',

View File

@@ -28,7 +28,7 @@ Dict::Add('IT IT', 'Italian', 'Italiano', [
//
Dict::Add('IT IT', 'Italian', 'Italiano', [
'Class:OAuthClient' => 'Oauth Client~~',
'Class:OAuthClient' => 'OAuth Client~~',
'Class:OAuthClient/Attribute:provider' => 'Provider~~',
'Class:OAuthClient/Attribute:provider+' => '~~',
'Class:OAuthClient/Attribute:name' => 'Login~~',

View File

@@ -28,7 +28,7 @@ Dict::Add('JA JP', 'Japanese', '日本語', [
//
Dict::Add('JA JP', 'Japanese', '日本語', [
'Class:OAuthClient' => 'Oauth Client~~',
'Class:OAuthClient' => 'OAuth Client~~',
'Class:OAuthClient/Attribute:provider' => 'Provider~~',
'Class:OAuthClient/Attribute:provider+' => '~~',
'Class:OAuthClient/Attribute:name' => 'Login~~',

View File

@@ -28,7 +28,7 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', [
//
Dict::Add('NL NL', 'Dutch', 'Nederlands', [
'Class:OAuthClient' => 'Oauth Client~~',
'Class:OAuthClient' => 'OAuth Client~~',
'Class:OAuthClient/Attribute:provider' => 'Provider~~',
'Class:OAuthClient/Attribute:provider+' => '~~',
'Class:OAuthClient/Attribute:name' => 'Login~~',

View File

@@ -28,7 +28,7 @@ Dict::Add('PT BR', 'Brazilian', 'Brazilian', [
//
Dict::Add('PT BR', 'Brazilian', 'Brazilian', [
'Class:OAuthClient' => 'Oauth Client~~',
'Class:OAuthClient' => 'OAuth Client~~',
'Class:OAuthClient/Attribute:provider' => 'Provider~~',
'Class:OAuthClient/Attribute:provider+' => '~~',
'Class:OAuthClient/Attribute:name' => 'Login~~',

View File

@@ -28,7 +28,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
//
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:OAuthClient' => 'Oauth Client~~',
'Class:OAuthClient' => 'OAuth Client~~',
'Class:OAuthClient/Attribute:provider' => 'Provider~~',
'Class:OAuthClient/Attribute:provider+' => '~~',
'Class:OAuthClient/Attribute:name' => 'Login~~',

View File

@@ -28,7 +28,7 @@ Dict::Add('SK SK', 'Slovak', 'Slovenčina', [
//
Dict::Add('SK SK', 'Slovak', 'Slovenčina', [
'Class:OAuthClient' => 'Oauth Client~~',
'Class:OAuthClient' => 'OAuth Client~~',
'Class:OAuthClient/Attribute:provider' => 'Provider~~',
'Class:OAuthClient/Attribute:provider+' => '~~',
'Class:OAuthClient/Attribute:name' => 'Login~~',

View File

@@ -28,7 +28,7 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', [
//
Dict::Add('TR TR', 'Turkish', 'Türkçe', [
'Class:OAuthClient' => 'Oauth Client~~',
'Class:OAuthClient' => 'OAuth Client~~',
'Class:OAuthClient/Attribute:provider' => 'Provider~~',
'Class:OAuthClient/Attribute:provider+' => '~~',
'Class:OAuthClient/Attribute:name' => 'Login~~',

View File

@@ -28,7 +28,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
//
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:OAuthClient' => 'Oauth Client~~',
'Class:OAuthClient' => 'OAuth Client~~',
'Class:OAuthClient/Attribute:provider' => 'Provider~~',
'Class:OAuthClient/Attribute:provider+' => '~~',
'Class:OAuthClient/Attribute:name' => 'Login~~',

View File

@@ -2026,7 +2026,11 @@ EOF
// Note: We can't use ModelFactory::GetField() as the current clas doesn't seem to be loaded yet.
$oField = $this->oFactory->GetNodes('field[@id="'.$sStateAttCode.'"]', $oFields)->item(0);
if ($oField == null) {
throw new DOMFormatException("Non existing attribute '$sStateAttCode'", null, null, $oStateAttribute);
// Search field in parent class
$oField = $this->GetFieldInParentClasses($oClass, $sStateAttCode);
if ($oField == null) {
throw new DOMFormatException("Non existing attribute '$sStateAttCode'", null, null, $oStateAttribute);
}
}
$oValues = $oField->GetUniqueElement('values');
$oValueNodes = $oValues->getElementsByTagName('value');
@@ -3799,4 +3803,19 @@ EOF;
return $sValue;
}
private function GetFieldInParentClasses($oClass, $sAttCode)
{
$sParentClass = $oClass->GetChildText('parent', 'DBObject');
if ($sParentClass != 'DBObject') {
$oParent = $this->oFactory->GetClass($sParentClass);
$oParentFields = $oParent->GetOptionalElement('fields');
$oField = $this->oFactory->GetNodes('field[@id="'.$sAttCode.'"]', $oParentFields)->item(0);
if ($oField != null) {
return $oField;
}
return $this->GetFieldInParentClasses($oParent, $sAttCode);
}
return null;
}
}