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

This commit is contained in:
Eric Espie
2024-02-27 18:14:28 +01:00
7 changed files with 34 additions and 16 deletions

View File

@@ -536,7 +536,7 @@ CSS;
if (static::HasImageExtension($sImg)
&& ! array_key_exists($sImg, $aImages))
{
$sFilePath = realpath($sImg);
$sFilePath = utils::RealPath($sImg, APPROOT);
if ($sFilePath !== false) {
$sFilePathWithSlashes = str_replace('\\', '/', $sFilePath);
$aImages[$sImg] = $sFilePathWithSlashes;
@@ -544,7 +544,7 @@ CSS;
}
$sCanonicalPath = static::CanonicalizePath($sTargetThemeFolderPath.'/'.$sImg);
$sFilePath = realpath($sCanonicalPath);
$sFilePath = utils::RealPath($sCanonicalPath, APPROOT);
if ($sFilePath !== false) {
$sFilePathWithSlashes = str_replace('\\', '/', $sFilePath);
$aImages[$sImg] = $sFilePathWithSlashes;

View File

@@ -2311,6 +2311,7 @@ abstract class DBObject implements iDisplay
protected function HasObjectsInDbForUniquenessRule($sUniquenessRuleId, $aUniquenessRuleProperties)
{
$oUniquenessQuery = $this->GetSearchForUniquenessRule($sUniquenessRuleId, $aUniquenessRuleProperties);
$oUniquenessQuery->AllowAllData();
$oUniquenessDuplicates = new DBObjectSet($oUniquenessQuery);
$bHasDuplicates = $oUniquenessDuplicates->CountExceeds(0);

View File

@@ -114,17 +114,26 @@ abstract class Trigger extends cmdbAbstractObject
// Find the related actions
$oLinkedActions = $this->Get('action_list');
while ($oLink = $oLinkedActions->Fetch())
{
/** @var \DBObject $oLink */
$iActionId = $oLink->Get('action_id');
/** @var \Action $oAction */
$oAction = MetaModel::GetObject('Action', $iActionId);
if ($oAction->IsActive())
{
$oKPI = new ExecutionKPI();
$oAction->DoExecute($this, $aContextArgs);
$oKPI->ComputeStatsForExtension($oAction, 'DoExecute');
// Order actions as expected
$aActionListOrdered = [];
while ($oLink = $oLinkedActions->Fetch()) {
$aActionListOrdered[(int) $oLink->Get('order')][] = $oLink;
}
ksort($aActionListOrdered);
// Execute actions
foreach ($aActionListOrdered as $aActionSubList) {
foreach ($aActionSubList as $oLink) /** @var \DBObject $oLink */ {
/** @var \DBObject $oLink */
$iActionId = $oLink->Get('action_id');
/** @var \Action $oAction */
$oAction = MetaModel::GetObject('Action', $iActionId);
if ($oAction->IsActive()) {
$oKPI = new ExecutionKPI();
$oAction->DoExecute($this, $aContextArgs);
$oKPI->ComputeStatsForExtension($oAction, 'DoExecute');
}
}
}
}

View File

@@ -22,6 +22,9 @@ $ibo-datatableconfig--settings-panel--option--margin-right: $ibo-spacing-200 !de
}
.ibo-datatableconfig--attributes-panel--per-page--input{
margin: $ibo-datatableconfig--attributes-panel--per-page--input--margin-y $ibo-datatableconfig--attributes-panel--per-page--input--margin-x;
max-width: 4em;
@extend .ibo-input;
display: initial;
}
.ibo-datatableconfig--settings-panel .ibo-panel--body{

View File

@@ -186,6 +186,11 @@ $(function () {
var sSortDirection = 'asc';
var oColumns = $('#datatable_dlg_'+this.options.sListId).find(':itop-fieldsorter').fieldsorter('get_params');
var iPageSize = parseInt($('#datatable_dlg_'+this.options.sListId+' input[name="page_size"]').val(), 10);
// Fallback to default page size in case of invalid number
if (isNaN(iPageSize) || iPageSize <= 0) {
iPageSize = this.options.oDefaultSettings.iDefaultPageSize;
$('#datatable_dlg_'+this.options.sListId+' input[name="page_size"]').val(iPageSize);
}
oOptions = {oColumns: oColumns, iPageSize: iPageSize, iDefaultPageSize: iPageSize };
}

View File

@@ -278,7 +278,7 @@ class AjaxRenderController
}
$sTableId = utils::ReadParam('list_id', '');
$iLength = utils::ReadParam('end', 10);
$iLength = utils::ReadParam('end', 10, false, utils::ENUM_SANITIZATION_FILTER_INTEGER);
$aColumns = utils::ReadParam('columns', array(), false, 'raw_data');
$sSelectMode = utils::ReadParam('select_mode', '');
$aClassAliases = utils::ReadParam('class_aliases', array());
@@ -499,7 +499,7 @@ class AjaxRenderController
*/
public static function DatatableSaveSettings(): bool
{
$iPageSize = utils::ReadParam('page_size', 10);
$iPageSize = utils::ReadParam('page_size', 10, false, utils::ENUM_SANITIZATION_FILTER_INTEGER);
$sTableId = utils::ReadParam('table_id', null, false, 'raw_data');
$bSaveAsDefaults = (utils::ReadParam('defaults', 'true') == 'true');
$aClassAliases = utils::ReadParam('class_aliases', array(), false, 'raw_data');

View File

@@ -20,7 +20,7 @@
</ul>
</div>
</div>
<p> {{ 'UI:Display_X_ItemsPerPage_prefix'|dict_s }}<input class="ibo-datatableconfig--attributes-panel--per-page--input" type="text" size="4" name="page_size" value="{{ oUIBlock.GetOption("iPageSize") }}">{{ 'UI:Display_X_ItemsPerPage_suffix'|dict_s }}</p>
<p> {{ 'UI:Display_X_ItemsPerPage_prefix'|dict_s }}<input class="ibo-datatableconfig--attributes-panel--per-page--input" type="number" min="1" size="4" name="page_size" value="{{ oUIBlock.GetOption("iPageSize") }}">{{ 'UI:Display_X_ItemsPerPage_suffix'|dict_s }}</p>
</div>
</div>
<div class="ibo-datatableconfig--settings-panel ibo-panel ibo-is-neutral ibo-is-opened" data-role="ibo-panel">