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

# Conflicts:
#	core/dbobject.class.php
#	core/log.class.inc.php
#	setup/compiler.class.inc.php
This commit is contained in:
Pierre Goiffon
2021-06-28 08:58:34 +02:00
15 changed files with 509 additions and 118 deletions

View File

@@ -31,6 +31,7 @@ use DBObjectSet;
use DBSearch;
use FieldExpression;
use IssueLog;
use LogChannels;
use MetaModel;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
@@ -441,9 +442,9 @@ class BrowseBrickController extends BrickController
}
}
IssueLog::Debug('Portal BrowseBrick query', 'portal', array(
'portalId' => $sPortalId,
'brickId' => $sBrickId,
IssueLog::Debug('Portal BrowseBrick query', LogChannels::PORTAL, array(
'sPortalId' => $sPortalId,
'sBrickId' => $sBrickId,
'oql' => $oSet->GetFilter()->ToOQL(),
));

View File

@@ -44,6 +44,7 @@ use FieldExpression;
use iPopupMenuExtension;
use IssueLog;
use JSButtonItem;
use LogChannels;
use MetaModel;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
@@ -816,10 +817,10 @@ class ManageBrickController extends BrickController
);
}
IssueLog::Debug('Portal ManageBrick query', 'portal', array(
'portalId' => $sPortalId,
'brickId' => $sBrickId,
'groupingTab' => $sGroupingTab,
IssueLog::Debug('Portal ManageBrick query', LogChannels::PORTAL, array(
'sPortalId' => $sPortalId,
'sBrickId' => $sBrickId,
'sGroupingTab' => $sGroupingTab,
'oql' => $oSet->GetFilter()->ToOQL(),
'aGroupingTabs' => $aGroupingTabs,
));

View File

@@ -78,6 +78,12 @@ class ObjectFormManager extends FormManager
protected $aFormProperties;
/** @var array $aCallbackUrls */
protected $aCallbackUrls = array();
/**
* List of hidden fields, used for form update (eg. remove them from the form regarding they dependencies)
* @var array $aHiddenFieldsId
* @since 2.7.5
*/
protected $aHiddenFieldsId = array();
/**
* Creates an instance of \Combodo\iTop\Portal\Form\ObjectFormManager from JSON data that must contain at least :
@@ -954,6 +960,8 @@ class ObjectFormManager extends FormManager
if($oField->GetHidden() === false)
{
$oForm->AddField($oField);
} else {
$this->aHiddenFieldsId[]=$oField->GetId();
}
}
@@ -1485,4 +1493,22 @@ class ObjectFormManager extends FormManager
}
return $oChangeOp;
}
/**
* @return array
* @since 2.7.5
*/
public function GetHiddenFieldsId()
{
return $this->aHiddenFieldsId;
}
/**
* @param array $aHiddenFieldsId
* @since 2.7.5
*/
public function SetHiddenFieldsId($aHiddenFieldsId)
{
$this->aHiddenFieldsId = $aHiddenFieldsId;
}
}

View File

@@ -280,8 +280,8 @@ class ObjectFormHandlerHelper
->SetFormProperties($aFormProperties);
$oFormManager->Build();
// Check the number of editable fields
$aFormData['hidden_fields'] = $oFormManager->GetHiddenFieldsId();
// Check the number of editable fields
$aFormData['editable_fields_count'] = $oFormManager->GetForm()->GetEditableFieldCount();
}
else
@@ -388,6 +388,7 @@ class ObjectFormHandlerHelper
$aFormData['object_state'] = $oFormManager->GetObject()->GetState();
$aFormData['fieldset'] = $aFieldSetData;
$aFormData['display_mode'] = (isset($aFormProperties['properties'])) ? $aFormProperties['properties']['display_mode'] : ApplicationHelper::FORM_DEFAULT_DISPLAY_MODE;
$aFormData['hidden_fields'] = $oFormManager->GetHiddenFieldsId();
// - Set a text to be copied on title if the object is not in creation
if($sMode !== static::ENUM_MODE_CREATE && !empty($sObjectId))
{