N°3907 - Polishing: Run query

This commit is contained in:
acognet
2021-08-02 18:56:07 +02:00
parent e28f704f3e
commit 3130e95f4f
5 changed files with 47 additions and 13 deletions

View File

@@ -403,7 +403,7 @@ class AjaxRenderController
while ($aObject = $oSet->FetchAssoc()) {
$aObj = [];
foreach ($aClassAliases as $sAlias => $sClass) {
if (isset($aObject[$sAlias])) {
if (isset($aObject[$sAlias]) && !is_null($aObject[$sAlias])) {
$aObj[$sAlias."/_key_"] = $aObject[$sAlias]->GetKey();
$aObj[$sAlias."/hyperlink"] = $aObject[$sAlias]->GetHyperlink();
foreach ($aColumnsLoad[$sAlias] as $sAttCode) {
@@ -415,10 +415,14 @@ class AjaxRenderController
}
}
}
if ($sIdName != "") {
$aObj["id"] = $aObj[$sIdName];
}
if (isset($aObj)) {
if (isset($aObject)) {
if ($sIdName != "") {
if (isset($aObj[$sIdName])) {
$aObj["id"] = $aObj[$sIdName];
} else {
throw new Exception(Dict::Format('UI:Error:AnErrorOccuredWhileRunningTheQuery_Message', $oSet->GetFilter()->ToOQL()));
}
}
array_push($aResult["data"], $aObj);
}
}

View File

@@ -508,8 +508,6 @@ class DataTableUIBlockFactory extends AbstractUIBlockFactory
}
}
$sSelectMode = 'none';
$oDefaultSettings = DataTableSettings::GetDataModelSettings($aAuthorizedClasses, $bViewLink, $aList);
$bDisplayLimit = isset($aExtraParams['display_limit']) ? $aExtraParams['display_limit'] : true;
@@ -563,9 +561,15 @@ class DataTableUIBlockFactory extends AbstractUIBlockFactory
$aColumnDefinition = [];
$aSortOrder = [];
$iIndexColumn = 0;
if ($sSelectMode != "") {
$bSelectMode = isset($aExtraParams['selection_mode']) ? $aExtraParams['selection_mode'] == true : false;
$bSingleSelectMode = isset($aExtraParams['selection_type']) ? ($aExtraParams['selection_type'] == 'single') : false;
$sSelectMode = '';
if ($bSelectMode) {
$sSelectMode = $bSingleSelectMode ? 'single' : 'multiple';
$iIndexColumn++;
}
$aSortDatable = [];
foreach ($aAuthorizedClasses as $sClassAlias => $sClassName) {
if (isset($oCustomSettings->aColumns[$sClassAlias])) {