mirror of
https://github.com/Combodo/iTop.git
synced 2026-04-23 02:28:44 +02:00
Restore prototypes of cmdbAbstractObject methods in which we added $sMode to preserve compatibility with existing extensions (#240)
* Restore prototypes of cmdbAbstractObject methods in which we added $sMode to preserve compatibility with existing extensions * Rename cmdbAbstractObject::ENUM_OBJECT_MODE_XXX * Add cmdbAbstractObject::ENUM_OBJECT_MODE_BULK_EDIT * Refactor usage of $sDisplayMode in cmdbAbstractObject::DisplayModifyForm()
This commit is contained in:
@@ -62,11 +62,11 @@ class ActivityPanel extends UIBlock
|
||||
/** @var \DBObject $oObject The object for which the activity panel is for */
|
||||
protected $oObject;
|
||||
/**
|
||||
* @see \cmdbAbstractObject::ENUM_OBJECT_MODE_XXX
|
||||
* @see \cmdbAbstractObject::ENUM_DISPLAY_MODE_XXX
|
||||
* @var string $sObjectMode Display mode of $oObject (create, edit, view, ...)
|
||||
*/
|
||||
protected $sObjectMode;
|
||||
/** @var null|string $sTransactionId Only when $sObjectMode is set to \cmdbAbstractObject::ENUM_OBJECT_MODE_VIEW */
|
||||
/** @var null|string $sTransactionId Only when $sObjectMode is set to \cmdbAbstractObject::ENUM_DISPLAY_MODE_VIEW */
|
||||
protected $sTransactionId;
|
||||
/** @var array $aCaseLogs Metadata of the case logs (att. code, color, ...), will be use to make the tabs and identify them easily */
|
||||
protected $aCaseLogs;
|
||||
@@ -107,7 +107,7 @@ class ActivityPanel extends UIBlock
|
||||
$this->InitializeCaseLogTabs();
|
||||
$this->InitializeCaseLogTabsEntryForms();
|
||||
$this->InitializeComposeMenu();
|
||||
$this->SetObjectMode(cmdbAbstractObject::DEFAULT_OBJECT_MODE);
|
||||
$this->SetObjectMode(cmdbAbstractObject::DEFAULT_DISPLAY_MODE);
|
||||
$this->SetObject($oObject);
|
||||
$this->SetEntries($aEntries);
|
||||
$this->bAreEntriesSorted = false;
|
||||
@@ -184,7 +184,7 @@ class ActivityPanel extends UIBlock
|
||||
* Set the display mode of the $oObject
|
||||
*
|
||||
* @param string $sMode
|
||||
* @see cmdbAbstractObject::ENUM_OBJECT_MODE_XXX
|
||||
* @see cmdbAbstractObject::ENUM_DISPLAY_MODE_XXX
|
||||
*
|
||||
* @return $this
|
||||
* @throws \Exception
|
||||
@@ -204,7 +204,7 @@ class ActivityPanel extends UIBlock
|
||||
/**
|
||||
* Return the display mode of the $oObject
|
||||
*
|
||||
* @see cmdbAbstractObject::ENUM_OBJECT_MODE_XXX
|
||||
* @see cmdbAbstractObject::ENUM_DISPLAY_MODE_XXX
|
||||
* @return string
|
||||
*/
|
||||
public function GetObjectMode(): string
|
||||
@@ -260,13 +260,13 @@ class ActivityPanel extends UIBlock
|
||||
|
||||
/**
|
||||
* @return bool True if the lock mechanism has to be enabled
|
||||
* @uses \cmdbAbstractObject::ENUM_OBJECT_MODE_VIEW
|
||||
* @uses \cmdbAbstractObject::ENUM_DISPLAY_MODE_VIEW
|
||||
* @uses static::HasAnEditableCaseLogTab()
|
||||
* @uses "concurrent_lock_enabled" config. param.
|
||||
*/
|
||||
public function IsLockEnabled(): bool
|
||||
{
|
||||
return (cmdbAbstractObject::ENUM_OBJECT_MODE_VIEW === $this->sObjectMode) && (MetaModel::GetConfig()->Get('concurrent_lock_enabled')) && (true === $this->HasAnEditableCaseLogTab());
|
||||
return (cmdbAbstractObject::ENUM_DISPLAY_MODE_VIEW === $this->sObjectMode) && (MetaModel::GetConfig()->Get('concurrent_lock_enabled')) && (true === $this->HasAnEditableCaseLogTab());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -567,8 +567,8 @@ class ActivityPanel extends UIBlock
|
||||
// - There is a least 1 *writable* case log
|
||||
// - And object is in view mode (in edit mode, it will be handled by the general form)
|
||||
// Otherwise we generate unnecessary transaction IDs that could saturate the system
|
||||
if ((false === $bIsReadOnly) && (false === $this->HasTransactionId()) && (cmdbAbstractObject::ENUM_OBJECT_MODE_VIEW === $this->sObjectMode)) {
|
||||
$this->sTransactionId = (cmdbAbstractObject::ENUM_OBJECT_MODE_VIEW === $this->sObjectMode) ? utils::GetNewTransactionId() : null;
|
||||
if ((false === $bIsReadOnly) && (false === $this->HasTransactionId()) && (cmdbAbstractObject::ENUM_DISPLAY_MODE_VIEW === $this->sObjectMode)) {
|
||||
$this->sTransactionId = (cmdbAbstractObject::ENUM_DISPLAY_MODE_VIEW === $this->sObjectMode) ? utils::GetNewTransactionId() : null;
|
||||
}
|
||||
|
||||
// Add log to compose button menu only if it is editable
|
||||
|
||||
@@ -43,7 +43,7 @@ class ActivityPanelFactory
|
||||
/**
|
||||
* Make an activity panel for an object details layout, meaning that it should contain the case logs and the activity.
|
||||
*
|
||||
* @see cmdbAbstractObject::ENUM_OBJECT_MODE_XXX
|
||||
* @see cmdbAbstractObject::ENUM_DISPLAY_MODE_XXX
|
||||
*
|
||||
* @param \DBObject $oObject
|
||||
* @param string $sMode Mode the object is being displayed (view, edit, create, ...), default is view.
|
||||
@@ -56,14 +56,14 @@ class ActivityPanelFactory
|
||||
* @throws \MySQLException
|
||||
* @throws \OQLException
|
||||
*/
|
||||
public static function MakeForObjectDetails(DBObject $oObject, string $sMode = cmdbAbstractObject::DEFAULT_OBJECT_MODE)
|
||||
public static function MakeForObjectDetails(DBObject $oObject, string $sMode = cmdbAbstractObject::DEFAULT_DISPLAY_MODE)
|
||||
{
|
||||
$sObjClass = get_class($oObject);
|
||||
$sObjId = $oObject->GetKey();
|
||||
|
||||
if ($sMode == cmdbAbstractObject::ENUM_OBJECT_MODE_PRINT) {
|
||||
if ($sMode == cmdbAbstractObject::ENUM_DISPLAY_MODE_PRINT) {
|
||||
$oActivityPanel = new ActivityPanelPrint($oObject, [], ActivityPanel::BLOCK_CODE);
|
||||
$sMode = cmdbAbstractObject::ENUM_OBJECT_MODE_VIEW;
|
||||
$sMode = cmdbAbstractObject::ENUM_DISPLAY_MODE_VIEW;
|
||||
} else {
|
||||
$oActivityPanel = new ActivityPanel($oObject, [], ActivityPanel::BLOCK_CODE);
|
||||
}
|
||||
|
||||
@@ -143,20 +143,20 @@ class CaseLogEntryForm extends UIContentBlock
|
||||
*
|
||||
* @param string $sObjectMode
|
||||
* @see $sSubmitMode
|
||||
* @see cmdbAbstractObject::ENUM_OBJECT_MODE_XXX
|
||||
* @see cmdbAbstractObject::ENUM_DISPLAY_MODE_XXX
|
||||
*
|
||||
* @return $this
|
||||
*/
|
||||
public function SetSubmitModeFromHostObjectMode($sObjectMode)
|
||||
{
|
||||
switch ($sObjectMode){
|
||||
case cmdbAbstractObject::ENUM_OBJECT_MODE_CREATE:
|
||||
case cmdbAbstractObject::ENUM_OBJECT_MODE_EDIT:
|
||||
case cmdbAbstractObject::ENUM_DISPLAY_MODE_CREATE:
|
||||
case cmdbAbstractObject::ENUM_DISPLAY_MODE_EDIT:
|
||||
$sSubmitMode = static::ENUM_SUBMIT_MODE_BRIDGED;
|
||||
break;
|
||||
|
||||
case cmdbAbstractObject::ENUM_OBJECT_MODE_VIEW:
|
||||
case cmdbAbstractObject::ENUM_OBJECT_MODE_STIMULUS:
|
||||
case cmdbAbstractObject::ENUM_DISPLAY_MODE_VIEW:
|
||||
case cmdbAbstractObject::ENUM_DISPLAY_MODE_STIMULUS:
|
||||
default:
|
||||
$sSubmitMode = static::ENUM_SUBMIT_MODE_AUTONOMOUS;
|
||||
break;
|
||||
|
||||
@@ -33,7 +33,7 @@ use UserRights;
|
||||
*/
|
||||
class CaseLogEntryFormFactory
|
||||
{
|
||||
public static function MakeForCaselogTab(DBObject $oObject, string $sCaseLogAttCode, string $sObjectMode = cmdbAbstractObject::DEFAULT_OBJECT_MODE)
|
||||
public static function MakeForCaselogTab(DBObject $oObject, string $sCaseLogAttCode, string $sObjectMode = cmdbAbstractObject::DEFAULT_DISPLAY_MODE)
|
||||
{
|
||||
$oCaseLogEntryForm = new CaseLogEntryForm($oObject, $sCaseLogAttCode);
|
||||
$oCaseLogEntryForm->SetSubmitModeFromHostObjectMode($sObjectMode)
|
||||
|
||||
@@ -54,7 +54,7 @@ class ObjectDetails extends Panel implements iKeyboardShortcut
|
||||
protected $sObjectName;
|
||||
/**
|
||||
* @var string The mode in which the object should be displayed (read, edit, create, ...)
|
||||
* @see \cmdbAbstractObject::ENUM_OBJECT_MODE_XXX
|
||||
* @see \cmdbAbstractObject::ENUM_DISPLAY_MODE_XXX
|
||||
*/
|
||||
protected $sObjectMode;
|
||||
/** @var string */
|
||||
@@ -70,14 +70,14 @@ class ObjectDetails extends Panel implements iKeyboardShortcut
|
||||
* ObjectDetails constructor.
|
||||
*
|
||||
* @param \DBObject $oObject The object for which we display the details
|
||||
* @param string $sMode See \cmdbAbstractObject::ENUM_OBJECT_MODE_XXX
|
||||
* @param string $sMode See \cmdbAbstractObject::ENUM_DISPLAY_MODE_XXX
|
||||
* @param string|null $sId ID of the block itself, not the $oObject ID
|
||||
*
|
||||
* @throws \ArchivedObjectException
|
||||
* @throws \CoreException
|
||||
* @throws \DictExceptionMissingString
|
||||
*/
|
||||
public function __construct(DBObject $oObject, string $sMode = cmdbAbstractObject::DEFAULT_OBJECT_MODE, ?string $sId = null)
|
||||
public function __construct(DBObject $oObject, string $sMode = cmdbAbstractObject::DEFAULT_DISPLAY_MODE, ?string $sId = null)
|
||||
{
|
||||
$this->sClassName = get_class($oObject);
|
||||
$this->sClassLabel = MetaModel::GetName($this->GetClassName());
|
||||
@@ -252,7 +252,7 @@ class ObjectDetails extends Panel implements iKeyboardShortcut
|
||||
*/
|
||||
protected function ComputeObjectName(DBObject $oObject): void
|
||||
{
|
||||
if ($this->sObjectMode === cmdbAbstractObject::ENUM_OBJECT_MODE_CREATE) {
|
||||
if ($this->sObjectMode === cmdbAbstractObject::ENUM_DISPLAY_MODE_CREATE) {
|
||||
$this->sObjectName = Dict::Format('UI:CreationTitle_Class', $this->sClassLabel);
|
||||
} else {
|
||||
$this->sObjectName = $oObject->GetRawName();
|
||||
|
||||
@@ -29,7 +29,7 @@ class ObjectFactory
|
||||
* @return \Combodo\iTop\Application\UI\Base\Layout\Object\ObjectDetails
|
||||
* @throws \CoreException
|
||||
*/
|
||||
public static function MakeDetails(DBObject $oObject, ?string $sMode = cmdbAbstractObject::DEFAULT_OBJECT_MODE)
|
||||
public static function MakeDetails(DBObject $oObject, ?string $sMode = cmdbAbstractObject::DEFAULT_DISPLAY_MODE)
|
||||
{
|
||||
$oObjectDetails = new ObjectDetails($oObject, $sMode);
|
||||
$oObjectDetails->SetIsHeaderVisibleOnScroll(true);
|
||||
|
||||
@@ -51,12 +51,12 @@ class PageContentFactory
|
||||
* @param \DBObject $oObject
|
||||
* @param string $sMode Mode the object is being displayed (view, edit, create, ...), default is view.
|
||||
*
|
||||
* @see cmdbAbstractObject::ENUM_OBJECT_MODE_XXX
|
||||
* @see cmdbAbstractObject::ENUM_DISPLAY_MODE_XXX
|
||||
*
|
||||
* @return \Combodo\iTop\Application\UI\Base\Layout\PageContent\PageContentWithSideContent
|
||||
* @throws \CoreException
|
||||
*/
|
||||
public static function MakeForObjectDetails(DBObject $oObject, string $sMode = cmdbAbstractObject::DEFAULT_OBJECT_MODE)
|
||||
public static function MakeForObjectDetails(DBObject $oObject, string $sMode = cmdbAbstractObject::DEFAULT_DISPLAY_MODE)
|
||||
{
|
||||
$oLayout = new PageContentWithSideContent();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user