From 2e2b7f96f22bc6a070792fdaf07ff8a36557ff0b Mon Sep 17 00:00:00 2001 From: Pierre Goiffon Date: Wed, 3 Feb 2021 13:00:51 +0100 Subject: [PATCH] =?UTF-8?q?N=C2=B02334=20Fix=20unable=20to=20display=20fin?= =?UTF-8?q?alClass=20on=20remote=20class=20in=20view/edit=20lnk=20relation?= =?UTF-8?q?s=20Don't=20filter=20finalClass=20anymore=20when=20viewing=20ob?= =?UTF-8?q?ject=20in=20\MetaModel::GetZListAttDefsFilteredForIndirectRemot?= =?UTF-8?q?eClass=20Also=20added=20some=20type=20hinting?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/ui.linkswidget.class.inc.php | 3 +-- core/metamodel.class.php | 16 ++++++++-------- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/application/ui.linkswidget.class.inc.php b/application/ui.linkswidget.class.inc.php index 92f7bcffe..b38155606 100644 --- a/application/ui.linkswidget.class.inc.php +++ b/application/ui.linkswidget.class.inc.php @@ -102,8 +102,7 @@ class UILinksWidget $this->m_aEditableFields[] = $this->m_sExtKeyToRemote; $aRemoteAttDefsToDisplay = MetaModel::GetZListAttDefsFilteredForIndirectRemoteClass($this->m_sRemoteClass); - foreach ($aRemoteAttDefsToDisplay as $oRemoteAttDef) - { + foreach ($aRemoteAttDefsToDisplay as $oRemoteAttDef) { $sRemoteAttCode = $oRemoteAttDef->GetCode(); $this->m_aTableConfig['static::'.$sRemoteAttCode] = array( 'label' => $oRemoteAttDef->GetLabel(), diff --git a/core/metamodel.class.php b/core/metamodel.class.php index f8878661f..e7914e757 100644 --- a/core/metamodel.class.php +++ b/core/metamodel.class.php @@ -1977,19 +1977,17 @@ abstract class MetaModel * * @return \AttributeDefinition[] list of attdefs to display by default for the remote class * + * @throws \Exception + * @uses \MetaModel::GetZListItems 'list' zlist + * * @since 3.0.0 N°2334 */ - public static function GetZListAttDefsFilteredForIndirectRemoteClass($sRemoteClass) + public static function GetZListAttDefsFilteredForIndirectRemoteClass(string $sRemoteClass): array { $aAttCodesToPrint = []; - foreach (MetaModel::GetZListItems($sRemoteClass, 'list') as $sFieldCode) - { + foreach (MetaModel::GetZListItems($sRemoteClass, 'list') as $sFieldCode) { //TODO: check the state of the attribute: hidden or visible ? - if ($sFieldCode == 'finalclass') - { - continue; - } $oRemoteAttDef = MetaModel::GetAttributeDef($sRemoteClass, $sFieldCode); $aAttCodesToPrint[] = $oRemoteAttDef; @@ -2005,9 +2003,11 @@ abstract class MetaModel * @return \AttributeDefinition[] list of attdefs to display by default for lnk class * * @throws \CoreException + * @uses \MetaModel::GetZListItems 'list' zlist + * * @since 3.0.0 N°2334 */ - public static function GetZListAttDefsFilteredForIndirectLinkClass($sClass, $sAttCode) + public static function GetZListAttDefsFilteredForIndirectLinkClass(string $sClass, string $sAttCode): array { $aAttCodesToPrint = [];