mirror of
https://github.com/Combodo/iTop.git
synced 2026-04-22 10:08:45 +02:00
@@ -110,6 +110,27 @@ abstract class User extends cmdbAbstractObject
|
||||
abstract public function CanChangePassword();
|
||||
abstract public function ChangePassword($sOldPassword, $sNewPassword);
|
||||
|
||||
/*
|
||||
* Overload the standard behavior
|
||||
*/
|
||||
public function DoCheckToWrite()
|
||||
{
|
||||
parent::DoCheckToWrite();
|
||||
|
||||
// Note: This MUST be factorized later: declare unique keys (set of columns) in the data model
|
||||
$aChanges = $this->ListChanges();
|
||||
if (array_key_exists('login', $aChanges))
|
||||
{
|
||||
$sNewLogin = $aChanges['login'];
|
||||
$oSearch = DBObjectSearch::FromOQL_AllData("SELECT User WHERE login = :newlogin");
|
||||
$oSet = new DBObjectSet($oSearch, array(), array('newlogin' => $sNewLogin));
|
||||
if ($oSet->Count() > 0)
|
||||
{
|
||||
$this->m_aCheckIssues[] = Dict::Format('Class:User/Error:LoginMustBeUnique', $sNewLogin);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function GetGrantAsHtml($sClass, $iAction)
|
||||
{
|
||||
if (UserRights::IsActionAllowed($sClass, $iAction, null, $this))
|
||||
|
||||
@@ -108,6 +108,8 @@ Dict::Add('EN US', 'English', 'English', array(
|
||||
'Class:User/Attribute:profile_list+' => 'Roles, granting rights for that person',
|
||||
'Class:User/Attribute:allowed_org_list' => 'Allowed Organizations',
|
||||
'Class:User/Attribute:allowed_org_list+' => 'The end user is allowed to see data belonging to the following organizations. If no organization is specified, there is no restriction.',
|
||||
|
||||
'Class:User/Error:LoginMustBeUnique' => 'Login must be unique - "%1s" is already being used.',
|
||||
));
|
||||
|
||||
//
|
||||
@@ -648,6 +650,7 @@ Dict::Add('EN US', 'English', 'English', array(
|
||||
'UI:PageTitle:ObjectCreated' => 'iTop Object Created.',
|
||||
'UI:Title:Object_Of_Class_Created' => '%1$s - %2$s created.',
|
||||
'UI:Apply_Stimulus_On_Object_In_State_ToTarget_State' => 'Applying %1$s on object: %2$s in state %3$s to target state: %4$s.',
|
||||
'UI:ObjectCouldNotBeWritten' => 'The object could not be written: %1$s',
|
||||
'UI:PageTitle:FatalError' => 'iTop - Fatal Error',
|
||||
'UI:FatalErrorMessage' => 'Fatal error, iTop cannot continue.',
|
||||
'UI:Error_Details' => 'Error: %1$s.',
|
||||
|
||||
@@ -658,6 +658,7 @@ Dict::Add('ES CR', 'Spanish', 'Español, Castellano', array(
|
||||
'UI:PageTitle:ObjectCreated' => 'iTop Object Created.',
|
||||
'UI:Title:Object_Of_Class_Created' => '%1$s - %2$s created.',
|
||||
'UI:Apply_Stimulus_On_Object_In_State_ToTarget_State' => 'Applying %1$s on object: %2$s in state %3$s to target state: %4$s.',
|
||||
'UI:ObjectCouldNotBeWritten' => 'The object could not be written: %1$s',
|
||||
'UI:PageTitle:FatalError' => 'iTop - Fatal Error',
|
||||
'UI:FatalErrorMessage' => 'Fatal error, iTop cannot continue.',
|
||||
'UI:Error_Details' => 'Error: %1$s.',
|
||||
|
||||
@@ -108,6 +108,8 @@ Dict::Add('FR FR', 'French', 'Français', array(
|
||||
'Class:User/Attribute:profile_list+' => 'Rôles, ouvrants les droits d\'accès',
|
||||
'Class:User/Attribute:allowed_org_list' => 'Organisations permises',
|
||||
'Class:User/Attribute:allowed_org_list+' => 'L\'utilisateur a le droit de voir les données des organisations listées ici. Si aucune organisation n\'est spécifiée, alors aucune restriction ne s\'applique.',
|
||||
|
||||
'Class:User/Error:LoginMustBeUnique' => 'Le login doit être unique - "%1s" est déjà utilisé.',
|
||||
));
|
||||
|
||||
//
|
||||
@@ -651,6 +653,7 @@ Dict::Add('FR FR', 'French', 'Français', array(
|
||||
'UI:PageTitle:ObjectCreated' => 'iTop objet créé.',
|
||||
'UI:Title:Object_Of_Class_Created' => '%2$s - %1$s créé(e).',
|
||||
'UI:Apply_Stimulus_On_Object_In_State_ToTarget_State' => '%1$s pour %2$s de l\'état %3$s vers l\'état %4$s.',
|
||||
'UI:ObjectCouldNotBeWritten' => 'L\'objet ne peut pas être enregistré: %1$s',
|
||||
'UI:PageTitle:FatalError' => 'iTop - Erreur Fatale',
|
||||
'UI:FatalErrorMessage' => 'Erreur fatale, iTop ne peut pas continuer.',
|
||||
'UI:Error_Details' => 'Erreur: %1$s.',
|
||||
|
||||
@@ -48,95 +48,95 @@
|
||||
// Class:<class_name>/Stimulus:<stimulus_code>
|
||||
// Class:<class_name>/Stimulus:<stimulus_code>+
|
||||
|
||||
//
|
||||
// Class: KnownError
|
||||
//
|
||||
|
||||
Dict::Add('FR FR', 'French', 'Français', array(
|
||||
'Class:KnownError' => 'Erreur Connue',
|
||||
'Class:KnownError+' => 'Erreur documenté pour un problème connu',
|
||||
'Class:KnownError/Attribute:name' => 'Nom',
|
||||
'Class:KnownError/Attribute:name+' => '',
|
||||
'Class:KnownError/Attribute:org_id' => 'Client',
|
||||
'Class:KnownError/Attribute:org_id+' => '',
|
||||
'Class:KnownError/Attribute:cust_name' => 'Nom du client',
|
||||
'Class:KnownError/Attribute:cust_name+' => '',
|
||||
'Class:KnownError/Attribute:problem_id' => 'Problème lié',
|
||||
'Class:KnownError/Attribute:problem_id+' => '',
|
||||
'Class:KnownError/Attribute:problem_ref' => 'Ref',
|
||||
'Class:KnownError/Attribute:problem_ref+' => '',
|
||||
'Class:KnownError/Attribute:symptom' => 'Symptome',
|
||||
'Class:KnownError/Attribute:symptom+' => '',
|
||||
'Class:KnownError/Attribute:root_cause' => 'Cause première',
|
||||
'Class:KnownError/Attribute:root_cause+' => '',
|
||||
'Class:KnownError/Attribute:workaround' => 'Contournement',
|
||||
'Class:KnownError/Attribute:workaround+' => '',
|
||||
'Class:KnownError/Attribute:solution' => 'Solution',
|
||||
'Class:KnownError/Attribute:solution+' => '',
|
||||
'Class:KnownError/Attribute:error_code' => 'Code d\'erreur',
|
||||
'Class:KnownError/Attribute:error_code+' => '',
|
||||
'Class:KnownError/Attribute:domain' => 'Domaine',
|
||||
'Class:KnownError/Attribute:domain+' => '',
|
||||
'Class:KnownError/Attribute:domain/Value:Application' => 'Application',
|
||||
'Class:KnownError/Attribute:domain/Value:Application+' => 'Application',
|
||||
'Class:KnownError/Attribute:domain/Value:Desktop' => 'Desktop',
|
||||
'Class:KnownError/Attribute:domain/Value:Desktop+' => 'Desktop',
|
||||
'Class:KnownError/Attribute:domain/Value:Network' => 'Réseau',
|
||||
'Class:KnownError/Attribute:domain/Value:Network+' => 'Réseau',
|
||||
'Class:KnownError/Attribute:domain/Value:Server' => 'Serveur',
|
||||
'Class:KnownError/Attribute:domain/Value:Server+' => 'Serveur',
|
||||
'Class:KnownError/Attribute:vendor' => 'Vendeur',
|
||||
'Class:KnownError/Attribute:vendor+' => '',
|
||||
'Class:KnownError/Attribute:model' => 'Modèle',
|
||||
'Class:KnownError/Attribute:model+' => '',
|
||||
'Class:KnownError/Attribute:version' => 'Version',
|
||||
'Class:KnownError/Attribute:version+' => '',
|
||||
'Class:KnownError/Attribute:ci_list' => 'CIs',
|
||||
'Class:KnownError/Attribute:ci_list+' => '',
|
||||
'Class:KnownError/Attribute:document_list' => 'Documents',
|
||||
'Class:KnownError/Attribute:document_list+' => '',
|
||||
));
|
||||
|
||||
|
||||
//
|
||||
// Class: lnkInfraError
|
||||
//
|
||||
|
||||
Dict::Add('EN US', 'English', 'English', array(
|
||||
'Class:lnkInfraError' => 'Lien erreur CI',
|
||||
'Class:lnkInfraError+' => 'CIs liés à une erreur connue',
|
||||
'Class:lnkInfraError/Attribute:infra_id' => 'CI',
|
||||
'Class:lnkInfraError/Attribute:infra_id+' => '',
|
||||
'Class:lnkInfraError/Attribute:infra_name' => 'Nom du CI',
|
||||
'Class:lnkInfraError/Attribute:infra_name+' => '',
|
||||
'Class:lnkInfraError/Attribute:infra_status' => 'Status du CI',
|
||||
'Class:lnkInfraError/Attribute:infra_status+' => '',
|
||||
'Class:lnkInfraError/Attribute:error_id' => 'Erreur',
|
||||
'Class:lnkInfraError/Attribute:error_id+' => '',
|
||||
'Class:lnkInfraError/Attribute:error_name' => 'Nom de l\'erreur',
|
||||
'Class:lnkInfraError/Attribute:error_name+' => '',
|
||||
'Class:lnkInfraError/Attribute:reason' => 'Raison',
|
||||
'Class:lnkInfraError/Attribute:reason+' => '',
|
||||
));
|
||||
|
||||
//
|
||||
// Class: lnkDocumentError
|
||||
//
|
||||
|
||||
Dict::Add('EN US', 'English', 'English', array(
|
||||
'Class:lnkDocumentError' => 'Lien erreur document',
|
||||
'Class:lnkDocumentError+' => 'Lien entre une erreur et un document',
|
||||
'Class:lnkDocumentError/Attribute:doc_id' => 'Document',
|
||||
'Class:lnkDocumentError/Attribute:doc_id+' => '',
|
||||
'Class:lnkDocumentError/Attribute:doc_name' => 'Nom du document',
|
||||
'Class:lnkDocumentError/Attribute:doc_name+' => '',
|
||||
'Class:lnkDocumentError/Attribute:error_id' => 'Erreur',
|
||||
'Class:lnkDocumentError/Attribute:error_id+' => '',
|
||||
'Class:lnkDocumentError/Attribute:error_name' => 'Nom de l\'erreur',
|
||||
'Class:lnkDocumentError/Attribute:error_name+' => '',
|
||||
'Class:lnkDocumentError/Attribute:link_type' => 'Information',
|
||||
'Class:lnkDocumentError/Attribute:link_type+' => '',
|
||||
));
|
||||
|
||||
|
||||
//
|
||||
// Class: KnownError
|
||||
//
|
||||
|
||||
Dict::Add('FR FR', 'French', 'Français', array(
|
||||
'Class:KnownError' => 'Erreur Connue',
|
||||
'Class:KnownError+' => 'Erreur documenté pour un problème connu',
|
||||
'Class:KnownError/Attribute:name' => 'Nom',
|
||||
'Class:KnownError/Attribute:name+' => '',
|
||||
'Class:KnownError/Attribute:org_id' => 'Client',
|
||||
'Class:KnownError/Attribute:org_id+' => '',
|
||||
'Class:KnownError/Attribute:cust_name' => 'Nom du client',
|
||||
'Class:KnownError/Attribute:cust_name+' => '',
|
||||
'Class:KnownError/Attribute:problem_id' => 'Problème lié',
|
||||
'Class:KnownError/Attribute:problem_id+' => '',
|
||||
'Class:KnownError/Attribute:problem_ref' => 'Ref',
|
||||
'Class:KnownError/Attribute:problem_ref+' => '',
|
||||
'Class:KnownError/Attribute:symptom' => 'Symptome',
|
||||
'Class:KnownError/Attribute:symptom+' => '',
|
||||
'Class:KnownError/Attribute:root_cause' => 'Cause première',
|
||||
'Class:KnownError/Attribute:root_cause+' => '',
|
||||
'Class:KnownError/Attribute:workaround' => 'Contournement',
|
||||
'Class:KnownError/Attribute:workaround+' => '',
|
||||
'Class:KnownError/Attribute:solution' => 'Solution',
|
||||
'Class:KnownError/Attribute:solution+' => '',
|
||||
'Class:KnownError/Attribute:error_code' => 'Code d\'erreur',
|
||||
'Class:KnownError/Attribute:error_code+' => '',
|
||||
'Class:KnownError/Attribute:domain' => 'Domaine',
|
||||
'Class:KnownError/Attribute:domain+' => '',
|
||||
'Class:KnownError/Attribute:domain/Value:Application' => 'Application',
|
||||
'Class:KnownError/Attribute:domain/Value:Application+' => 'Application',
|
||||
'Class:KnownError/Attribute:domain/Value:Desktop' => 'Desktop',
|
||||
'Class:KnownError/Attribute:domain/Value:Desktop+' => 'Desktop',
|
||||
'Class:KnownError/Attribute:domain/Value:Network' => 'Réseau',
|
||||
'Class:KnownError/Attribute:domain/Value:Network+' => 'Réseau',
|
||||
'Class:KnownError/Attribute:domain/Value:Server' => 'Serveur',
|
||||
'Class:KnownError/Attribute:domain/Value:Server+' => 'Serveur',
|
||||
'Class:KnownError/Attribute:vendor' => 'Vendeur',
|
||||
'Class:KnownError/Attribute:vendor+' => '',
|
||||
'Class:KnownError/Attribute:model' => 'Modèle',
|
||||
'Class:KnownError/Attribute:model+' => '',
|
||||
'Class:KnownError/Attribute:version' => 'Version',
|
||||
'Class:KnownError/Attribute:version+' => '',
|
||||
'Class:KnownError/Attribute:ci_list' => 'CIs',
|
||||
'Class:KnownError/Attribute:ci_list+' => '',
|
||||
'Class:KnownError/Attribute:document_list' => 'Documents',
|
||||
'Class:KnownError/Attribute:document_list+' => '',
|
||||
));
|
||||
|
||||
|
||||
//
|
||||
// Class: lnkInfraError
|
||||
//
|
||||
|
||||
Dict::Add('FR FR', 'English', 'English', array(
|
||||
'Class:lnkInfraError' => 'Lien erreur CI',
|
||||
'Class:lnkInfraError+' => 'CIs liés à une erreur connue',
|
||||
'Class:lnkInfraError/Attribute:infra_id' => 'CI',
|
||||
'Class:lnkInfraError/Attribute:infra_id+' => '',
|
||||
'Class:lnkInfraError/Attribute:infra_name' => 'Nom du CI',
|
||||
'Class:lnkInfraError/Attribute:infra_name+' => '',
|
||||
'Class:lnkInfraError/Attribute:infra_status' => 'Status du CI',
|
||||
'Class:lnkInfraError/Attribute:infra_status+' => '',
|
||||
'Class:lnkInfraError/Attribute:error_id' => 'Erreur',
|
||||
'Class:lnkInfraError/Attribute:error_id+' => '',
|
||||
'Class:lnkInfraError/Attribute:error_name' => 'Nom de l\'erreur',
|
||||
'Class:lnkInfraError/Attribute:error_name+' => '',
|
||||
'Class:lnkInfraError/Attribute:reason' => 'Raison',
|
||||
'Class:lnkInfraError/Attribute:reason+' => '',
|
||||
));
|
||||
|
||||
//
|
||||
// Class: lnkDocumentError
|
||||
//
|
||||
|
||||
Dict::Add('FR FR', 'English', 'English', array(
|
||||
'Class:lnkDocumentError' => 'Lien erreur document',
|
||||
'Class:lnkDocumentError+' => 'Lien entre une erreur et un document',
|
||||
'Class:lnkDocumentError/Attribute:doc_id' => 'Document',
|
||||
'Class:lnkDocumentError/Attribute:doc_id+' => '',
|
||||
'Class:lnkDocumentError/Attribute:doc_name' => 'Nom du document',
|
||||
'Class:lnkDocumentError/Attribute:doc_name+' => '',
|
||||
'Class:lnkDocumentError/Attribute:error_id' => 'Erreur',
|
||||
'Class:lnkDocumentError/Attribute:error_id+' => '',
|
||||
'Class:lnkDocumentError/Attribute:error_name' => 'Nom de l\'erreur',
|
||||
'Class:lnkDocumentError/Attribute:error_name+' => '',
|
||||
'Class:lnkDocumentError/Attribute:link_type' => 'Information',
|
||||
'Class:lnkDocumentError/Attribute:link_type+' => '',
|
||||
));
|
||||
|
||||
|
||||
?>
|
||||
|
||||
123
pages/UI.php
123
pages/UI.php
@@ -484,7 +484,7 @@ try
|
||||
{
|
||||
throw new ApplicationException(Dict::Format('UI:Error:2ParametersMissing', 'class', 'id'));
|
||||
}
|
||||
$oObj = MetaModel::GetObject($sClass, $id);
|
||||
$oObj = MetaModel::GetObject($sClass, $id, false);
|
||||
if ($oObj != null)
|
||||
{
|
||||
$oP->set_title(Dict::Format('UI:DetailsPageTitle', $oObj->GetName(), $sClassLabel));
|
||||
@@ -694,6 +694,7 @@ try
|
||||
$bIsModifiedAllowed = (UserRights::IsActionAllowed($sClass, UR_ACTION_MODIFY, $oSet) == UR_ALLOWED_YES) && !MetaModel::IsReadOnlyClass($sClass);
|
||||
if( ($oObj != null) && $bIsModifiedAllowed )
|
||||
{
|
||||
// Note: code duplicated to the case 'apply_modify' when a data integrity issue has been found
|
||||
$oP->set_title(Dict::Format('UI:ModificationPageTitle_Object_Class', $oObj->GetName(), $sClassLabel));
|
||||
$oP->add("<div class=\"page_header\">\n");
|
||||
$oP->add("<h1>".$oObj->GetIcon()." ".Dict::Format('UI:ModificationTitle_Class_Object', $sClassLabel, $oObj->GetName())."</h1>\n");
|
||||
@@ -768,6 +769,7 @@ try
|
||||
{
|
||||
throw new ApplicationException(Dict::Format('UI:Error:1ParametersMissing', 'class'));
|
||||
}
|
||||
// Note: code duplicated to the case 'apply_modify' when a data integrity issue has been found
|
||||
$oP->add_linked_script("../js/json.js");
|
||||
$oP->add_linked_script("../js/forms-json-utils.js");
|
||||
$oP->add_linked_script("../js/wizardhelper.js");
|
||||
@@ -806,6 +808,7 @@ try
|
||||
{
|
||||
// Display the creation form
|
||||
$sClassLabel = MetaModel::GetName($sRealClass);
|
||||
// Note: some code has been duplicated to the case 'apply_new' when a data integrity issue has been found
|
||||
$oP->set_title(Dict::Format('UI:CreationPageTitle_Class', $sClassLabel));
|
||||
$oP->add("<h1>".MetaModel::GetClassIcon($sRealClass)." ".Dict::Format('UI:CreationTitle_Class', $sClassLabel)."</h1>\n");
|
||||
$oP->add("<div class=\"wizContainer\">\n");
|
||||
@@ -872,26 +875,36 @@ try
|
||||
{
|
||||
throw new ApplicationException(Dict::Format('UI:Error:2ParametersMissing', 'class', 'id'));
|
||||
}
|
||||
$oObj = MetaModel::GetObject($sClass, $id);
|
||||
if (!utils::IsTransactionValid($sTransactionId))
|
||||
$bDisplayDetails = true;
|
||||
$oObj = MetaModel::GetObject($sClass, $id, false);
|
||||
if ($oObj == null)
|
||||
{
|
||||
$bDisplayDetails = false;
|
||||
$oP->set_title(Dict::S('UI:ErrorPageTitle'));
|
||||
$oP->P(Dict::S('UI:ObjectDoesNotExist'));
|
||||
}
|
||||
elseif (!utils::IsTransactionValid($sTransactionId))
|
||||
{
|
||||
$oP->set_title(Dict::Format('UI:ModificationPageTitle_Object_Class', $oObj->GetName(), $sClassLabel));
|
||||
$oP->p("<strong>".Dict::S('UI:Error:ObjectAlreadyUpdated')."</strong>\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($oObj != null)
|
||||
UpdateObject($oObj);
|
||||
|
||||
if (!$oObj->IsModified())
|
||||
{
|
||||
$oP->set_title(Dict::Format('UI:ModificationPageTitle_Object_Class', $oObj->GetName(), $sClassLabel));
|
||||
$oP->add("<h1>".Dict::Format('UI:ModificationTitle_Class_Object', $sClassLabel, $oObj->GetName())."</h1>\n");
|
||||
|
||||
UpdateObject($oObj);
|
||||
|
||||
if (!$oObj->IsModified())
|
||||
{
|
||||
$oP->p(Dict::Format('UI:Class_Object_NotUpdated', MetaModel::GetName(get_class($oObj)), $oObj->GetName()));
|
||||
}
|
||||
else
|
||||
$oP->p(Dict::Format('UI:Class_Object_NotUpdated', MetaModel::GetName(get_class($oObj)), $oObj->GetName()));
|
||||
}
|
||||
else
|
||||
{
|
||||
list($bRes, $aIssues) = $oObj->CheckToWrite();
|
||||
if ($bRes)
|
||||
{
|
||||
$oP->set_title(Dict::Format('UI:ModificationPageTitle_Object_Class', $oObj->GetName(), $sClassLabel));
|
||||
$oP->add("<h1>".Dict::Format('UI:ModificationTitle_Class_Object', $sClassLabel, $oObj->GetName())."</h1>\n");
|
||||
|
||||
$oMyChange = MetaModel::NewObject("CMDBChange");
|
||||
$oMyChange->Set("date", time());
|
||||
if (UserRights::IsImpersonated())
|
||||
@@ -908,15 +921,35 @@ try
|
||||
|
||||
$oP->p(Dict::Format('UI:Class_Object_Updated', MetaModel::GetName(get_class($oObj)), $oObj->GetName()));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$oP->set_title(Dict::S('UI:ErrorPageTitle'));
|
||||
$oP->P(Dict::S('UI:ObjectDoesNotExist'));
|
||||
else
|
||||
{
|
||||
$bDisplayDetails = false;
|
||||
// Found issues, explain and give the user a second chance
|
||||
//
|
||||
// Note: code duplicated from the case 'modify'
|
||||
$oP->add_linked_script("../js/json.js");
|
||||
$oP->add_linked_script("../js/forms-json-utils.js");
|
||||
$oP->add_linked_script("../js/wizardhelper.js");
|
||||
$oP->add_linked_script("../js/wizard.utils.js");
|
||||
$oP->add_linked_script("../js/linkswidget.js");
|
||||
$oP->add_linked_script("../js/jquery.blockUI.js");
|
||||
$oP->set_title(Dict::Format('UI:ModificationPageTitle_Object_Class', $oObj->GetName(), $sClassLabel));
|
||||
$oP->add("<div class=\"page_header\">\n");
|
||||
$oP->add("<h1>".$oObj->GetIcon()." ".Dict::Format('UI:ModificationTitle_Class_Object', $sClassLabel, $oObj->GetName())."</h1>\n");
|
||||
$oP->add("</div>\n");
|
||||
$oP->add("<div class=\"wizContainer\">\n");
|
||||
$oObj->DisplayModifyForm($oP);
|
||||
$oP->add("</div>\n");
|
||||
$sIssueDesc = Dict::Format('UI:ObjectCouldNotBeWritten', implode(', ', $aIssues));
|
||||
$oP->add_ready_script("alert('".addslashes($sIssueDesc)."');");
|
||||
}
|
||||
}
|
||||
}
|
||||
$oObj = MetaModel::GetObject(get_class($oObj), $oObj->GetKey()); //Workaround: reload the object some that the linkedset are displayed properly
|
||||
$oObj->DisplayDetails($oP);
|
||||
if ($bDisplayDetails)
|
||||
{
|
||||
$oObj = MetaModel::GetObject(get_class($oObj), $oObj->GetKey()); //Workaround: reload the object so that the linkedset are displayed properly
|
||||
$oObj->DisplayDetails($oP);
|
||||
}
|
||||
break;
|
||||
|
||||
case 'select_for_deletion':
|
||||
@@ -1037,22 +1070,46 @@ try
|
||||
{
|
||||
$sClass = get_class($oObj);
|
||||
$sClassLabel = MetaModel::GetName($sClass);
|
||||
$oMyChange = MetaModel::NewObject("CMDBChange");
|
||||
$oMyChange->Set("date", time());
|
||||
if (UserRights::IsImpersonated())
|
||||
|
||||
list($bRes, $aIssues) = $oObj->CheckToWrite();
|
||||
if ($bRes)
|
||||
{
|
||||
$sUserString = Dict::Format('UI:Archive_User_OnBehalfOf_User', UserRights::GetRealUser(), UserRights::GetUser());
|
||||
$oMyChange = MetaModel::NewObject("CMDBChange");
|
||||
$oMyChange->Set("date", time());
|
||||
if (UserRights::IsImpersonated())
|
||||
{
|
||||
$sUserString = Dict::Format('UI:Archive_User_OnBehalfOf_User', UserRights::GetRealUser(), UserRights::GetUser());
|
||||
}
|
||||
else
|
||||
{
|
||||
$sUserString = UserRights::GetUser();
|
||||
}
|
||||
$oMyChange->Set("userinfo", $sUserString);
|
||||
$iChangeId = $oMyChange->DBInsert();
|
||||
$oObj->DBInsertTracked($oMyChange);
|
||||
$oP->set_title(Dict::S('UI:PageTitle:ObjectCreated'));
|
||||
$oP->add("<h1>".Dict::Format('UI:Title:Object_Of_Class_Created', $oObj->GetName(), $sClassLabel)."</h1>\n");
|
||||
$oObj->DisplayDetails($oP);
|
||||
}
|
||||
else
|
||||
{
|
||||
$sUserString = UserRights::GetUser();
|
||||
// Found issues, explain and give the user a second chance
|
||||
//
|
||||
// Note: code similar to the case 'modify'
|
||||
$oP->add_linked_script("../js/json.js");
|
||||
$oP->add_linked_script("../js/forms-json-utils.js");
|
||||
$oP->add_linked_script("../js/wizardhelper.js");
|
||||
$oP->add_linked_script("../js/wizard.utils.js");
|
||||
$oP->add_linked_script("../js/linkswidget.js");
|
||||
$oP->add_linked_script("../js/jquery.blockUI.js");
|
||||
$oP->set_title(Dict::Format('UI:CreationPageTitle_Class', $sClassLabel));
|
||||
$oP->add("<h1>".MetaModel::GetClassIcon($sClass)." ".Dict::Format('UI:CreationTitle_Class', $sClassLabel)."</h1>\n");
|
||||
$oP->add("<div class=\"wizContainer\">\n");
|
||||
cmdbAbstractObject::DisplayCreationForm($oP, $sClass, $oObj);
|
||||
$oP->add("</div>\n");
|
||||
$sIssueDesc = Dict::Format('UI:ObjectCouldNotBeWritten', implode(', ', $aIssues));
|
||||
$oP->add_ready_script("alert('".addslashes($sIssueDesc)."');");
|
||||
}
|
||||
$oMyChange->Set("userinfo", $sUserString);
|
||||
$iChangeId = $oMyChange->DBInsert();
|
||||
$oObj->DBInsertTracked($oMyChange);
|
||||
$oP->set_title(Dict::S('UI:PageTitle:ObjectCreated'));
|
||||
$oP->add("<h1>".Dict::Format('UI:Title:Object_Of_Class_Created', $oObj->GetName(), $sClassLabel)."</h1>\n");
|
||||
$oObj->DisplayDetails($oP);
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -1099,7 +1156,7 @@ try
|
||||
{
|
||||
throw new ApplicationException(Dict::Format('UI:Error:3ParametersMissing', 'class', 'id', 'stimulus'));
|
||||
}
|
||||
$oObj = MetaModel::GetObject($sClass, $id);
|
||||
$oObj = MetaModel::GetObject($sClass, $id, false);
|
||||
if ($oObj != null)
|
||||
{
|
||||
$aTransitions = $oObj->EnumTransitions();
|
||||
@@ -1191,7 +1248,7 @@ EOF
|
||||
{
|
||||
throw new ApplicationException(Dict::Format('UI:Error:3ParametersMissing', 'class', 'id', 'stimulus'));
|
||||
}
|
||||
$oObj = MetaModel::GetObject($sClass, $id);
|
||||
$oObj = MetaModel::GetObject($sClass, $id, false);
|
||||
if ($oObj != null)
|
||||
{
|
||||
$aTransitions = $oObj->EnumTransitions();
|
||||
|
||||
Reference in New Issue
Block a user