mirror of
https://github.com/Combodo/iTop.git
synced 2026-04-20 09:08:42 +02:00
- Implementation of the localization... on going...
SVN:trunk[406]
This commit is contained in:
@@ -84,11 +84,11 @@ class URP_Users extends UserRightsBaseClass
|
||||
{
|
||||
if (UserRights::IsActionAllowed($sClass, $iAction, null, $this->GetKey()))
|
||||
{
|
||||
return '<span style="background-color: #ddffdd;">yes</span>';
|
||||
return '<span style="background-color: #ddffdd;">'.Dict::S('UI:UserManagement:ActionAllowed:Yes').'</span>';
|
||||
}
|
||||
else
|
||||
{
|
||||
return '<span style="background-color: #ffdddd;">no</span>';
|
||||
return '<span style="background-color: #ffdddd;">'.Dict::S('UI:UserManagement:ActionAllowed:No').'</span>';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -98,7 +98,7 @@ class URP_Users extends UserRightsBaseClass
|
||||
if (UserRights::IsAdministrator($iUserId))
|
||||
{
|
||||
// Looks dirty, but ok that's THE ONE
|
||||
$oPage->p('Has Read/Write access to any object in the database.');
|
||||
$oPage->p(Dict::S('UI:UserManagement:AdminProfile+'));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -120,7 +120,7 @@ class URP_Users extends UserRightsBaseClass
|
||||
}
|
||||
else
|
||||
{
|
||||
$sStimuli = '<em title="no lifecycle has been defined for this class">n/a</em>';
|
||||
$sStimuli = '<em title="'.Dict::S('UI:UserManagement:NoLifeCycleApplicable+').'">'.Dict::S('UI:UserManagement:NoLifeCycleApplicable').'</em>';
|
||||
}
|
||||
|
||||
$aDisplayData[] = array(
|
||||
@@ -134,12 +134,12 @@ class URP_Users extends UserRightsBaseClass
|
||||
}
|
||||
|
||||
$aDisplayConfig = array();
|
||||
$aDisplayConfig['class'] = array('label' => 'Class', 'description' => '');
|
||||
$aDisplayConfig['read'] = array('label' => 'Read', 'description' => '');
|
||||
$aDisplayConfig['bulkread'] = array('label' => 'Bulk read', 'description' => 'List objects or export massively');
|
||||
$aDisplayConfig['write'] = array('label' => 'Write', 'description' => 'Create and edit (modify)');
|
||||
$aDisplayConfig['bulkwrite'] = array('label' => 'Bulk write', 'description' => 'Massively create/edit (CSV import)');
|
||||
$aDisplayConfig['stimuli'] = array('label' => 'Stimuli', 'description' => 'Allowed (compound) actions');
|
||||
$aDisplayConfig['class'] = array('label' => Dict::S('UI:UserManagement:Class'), 'description' => Dict::S('UI:UserManagement:Class+'));
|
||||
$aDisplayConfig['read'] = array('label' => Dict::S('UI:UserManagement:Action:Read'), 'description' => Dict::S('UI:UserManagement:Action:Read+'));
|
||||
$aDisplayConfig['bulkread'] = array('label' => Dict::S('UI:UserManagement:Action:BulkRead'), 'description' => Dict::S('UI:UserManagement:Action:BulkRead+'));
|
||||
$aDisplayConfig['write'] = array('label' => Dict::S('UI:UserManagement:Action:Modify'), 'description' => Dict::S('UI:UserManagement:Action:Modify+'));
|
||||
$aDisplayConfig['bulkwrite'] = array('label' => Dict::S('UI:UserManagement:Action:BulkModify'), 'description' => Dict::S('UI:UserManagement:Action:BulkModify+'));
|
||||
$aDisplayConfig['stimuli'] = array('label' => Dict::S('UI:UserManagement:Action:Stimuli'), 'description' => Dict::S('UI:UserManagement:Action:Stimuli+'));
|
||||
$oPage->table($aDisplayConfig, $aDisplayData);
|
||||
}
|
||||
|
||||
@@ -207,11 +207,11 @@ class URP_Profiles extends UserRightsBaseClass
|
||||
$oGrant = $oUserRights->GetClassActionGrant($this->GetKey(), $sClass, $sAction);
|
||||
if (is_object($oGrant) && ($oGrant->Get('permission') == 'yes'))
|
||||
{
|
||||
return '<span style="background-color: #ddffdd;">yes</span>';
|
||||
return '<span style="background-color: #ddffdd;">'.Dict::S('UI:UserManagement:ActionAllowed:Yes').'</span>';
|
||||
}
|
||||
else
|
||||
{
|
||||
return '<span style="background-color: #ffdddd;">no</span>';
|
||||
return '<span style="background-color: #ffdddd;">'.Dict::S('UI:UserManagement:ActionAllowed:No').'</span>';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -220,7 +220,7 @@ class URP_Profiles extends UserRightsBaseClass
|
||||
if ($this->GetName() == "Administrator")
|
||||
{
|
||||
// Looks dirty, but ok that's THE ONE
|
||||
$oPage->p('Has Read/Write access to any object in the database.');
|
||||
$oPage->p(Dict::S('UI:UserManagement:AdminProfile+'));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -254,14 +254,14 @@ class URP_Profiles extends UserRightsBaseClass
|
||||
}
|
||||
|
||||
$aDisplayConfig = array();
|
||||
$aDisplayConfig['class'] = array('label' => 'Class', 'description' => '');
|
||||
$aDisplayConfig['read'] = array('label' => 'Read', 'description' => '');
|
||||
$aDisplayConfig['bulkread'] = array('label' => 'Bulk read', 'description' => 'List objects or export massively');
|
||||
$aDisplayConfig['write'] = array('label' => 'Write', 'description' => 'Create and edit (modify)');
|
||||
$aDisplayConfig['bulkwrite'] = array('label' => 'Bulk write', 'description' => 'Massively create/edit (CSV import)');
|
||||
$aDisplayConfig['delete'] = array('label' => 'Write', 'description' => 'Delete');
|
||||
$aDisplayConfig['bulkdelete'] = array('label' => 'Bulk delete', 'description' => 'Massively delete');
|
||||
$aDisplayConfig['stimuli'] = array('label' => 'Stimuli', 'description' => 'Allowed (compound) actions');
|
||||
$aDisplayConfig['class'] = array('label' => Dict::S('UI:UserManagement:Class'), 'description' => Dict::S('UI:UserManagement:Class+'));
|
||||
$aDisplayConfig['read'] = array('label' => Dict::S('UI:UserManagement:Action:Read'), 'description' => Dict::S('UI:UserManagement:Action:Read+'));
|
||||
$aDisplayConfig['bulkread'] = array('label' => Dict::S('UI:UserManagement:Action:BulkRead'), 'description' => Dict::S('UI:UserManagement:Action:BulkRead+'));
|
||||
$aDisplayConfig['write'] = array('label' => Dict::S('UI:UserManagement:Action:Modify'), 'description' => Dict::S('UI:UserManagement:Action:Modify+'));
|
||||
$aDisplayConfig['bulkwrite'] = array('label' => Dict::S('UI:UserManagement:Action:BulkModify'), 'description' => Dict::S('UI:UserManagement:Action:BulkModify+'));
|
||||
$aDisplayConfig['delete'] = array('label' => Dict::S('UI:UserManagement:Action:Delete'), 'description' => Dict::S('UI:UserManagement:Action:Delete+'));
|
||||
$aDisplayConfig['bulkdelete'] = array('label' => Dict::S('UI:UserManagement:Action:BulkDelete'), 'description' => Dict::S('UI:UserManagement:Action:BulkDelete+'));
|
||||
$aDisplayConfig['stimuli'] = array('label' => Dict::S('UI:UserManagement:Action:Stimuli'), 'description' => Dict::S('UI:UserManagement:Action:Stimuli+'));
|
||||
$oPage->table($aDisplayConfig, $aDisplayData);
|
||||
}
|
||||
|
||||
@@ -271,7 +271,7 @@ class URP_Profiles extends UserRightsBaseClass
|
||||
|
||||
$oPage->SetCurrentTabContainer('Related Objects');
|
||||
|
||||
$oPage->SetCurrentTab('Grants matrix');
|
||||
$oPage->SetCurrentTab(Dict::S('UI:UserManagement:GrantMatrix'));
|
||||
$this->DoShowGrantSumary($oPage);
|
||||
}
|
||||
}
|
||||
@@ -428,7 +428,7 @@ class URP_UserProfile extends UserRightsBaseClass
|
||||
|
||||
public function GetName()
|
||||
{
|
||||
return "link between ".$this->Get('userlogin')." and ".$this->Get('profile');
|
||||
return Dict::Format('UI:USerManagement:LinkBetween_User_And_Profile');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -716,7 +716,7 @@ abstract class cmdbAbstractObject extends CMDBObject
|
||||
{
|
||||
if (count($aMapCriteria[$sFilterCode]) > 1)
|
||||
{
|
||||
$sFilterValue = '* mixed *';
|
||||
$sFilterValue = Dict::S('UI:SearchValue:Mixed');
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -734,7 +734,7 @@ abstract class cmdbAbstractObject extends CMDBObject
|
||||
{
|
||||
//Enum field or external key, display a combo
|
||||
$sValue = "<select name=\"$sFilterCode\">\n";
|
||||
$sValue .= "<option value=\"\">* Any *</option>\n";
|
||||
$sValue .= "<option value=\"\">".Dict::S('UI:SearchValue:Any')."</option>\n";
|
||||
foreach($aAllowedValues as $key => $value)
|
||||
{
|
||||
if ($sFilterValue == $key)
|
||||
@@ -900,7 +900,7 @@ abstract class cmdbAbstractObject extends CMDBObject
|
||||
// Few choices, use a normal 'select'
|
||||
// In case there are no valid values, the select will be empty, thus blocking the user from validating the form
|
||||
$sHTMLValue = "<select name=\"attr_{$sAttCode}{$sNameSuffix}\" id=\"$iInputId\"{$sCSSClasses}>\n";
|
||||
$sHTMLValue .= "<option value=\"0\">-- select one --</option>\n";
|
||||
$sHTMLValue .= "<option value=\"0\">".Dict::S('UI:SelectOne')."</option>\n";
|
||||
foreach($aAllowedValues as $key => $display_value)
|
||||
{
|
||||
$sSelected = ($value == $key) ? ' selected' : '';
|
||||
|
||||
@@ -132,12 +132,12 @@ class WebPage
|
||||
$sAlias = $aMatches[1];
|
||||
$sClass = $aParams['class'][$sAlias];
|
||||
$sUIPage = cmdbAbstractObject::ComputeUIPage($sClass);
|
||||
$sHtml .= "<td><a class=\"no-arrow\" href=\"$sUIPage?operation=details&id=".$aRow[$sName]."&class=".$sClass."&".$oAppContext->GetForLink()."\"><img src=\"../images/zoom.gif\" title=\"Details\" border=\"0\"></a></td>\n";
|
||||
$sHtml .= "<td><a class=\"no-arrow\" href=\"$sUIPage?operation=details&id=".$aRow[$sName]."&class=".$sClass."&".$oAppContext->GetForLink()."\"><img src=\"../images/zoom.gif\" title=\"".Dict::S('UI:Details+')."\" border=\"0\"></a></td>\n";
|
||||
}
|
||||
else if ($sName == 'key')
|
||||
{
|
||||
$sUIPage = cmdbAbstractObject::ComputeUIPage($aParams['class']);
|
||||
$sHtml .= "<td><a class=\"no-arrow\" href=\"$sUIPage?operation=details&id=".$aRow['key']."&class=".$aParams['class']."&".$oAppContext->GetForLink()."\"><img src=\"../images/zoom.gif\" title=\"Details\" border=\"0\"></a></td>\n";
|
||||
$sHtml .= "<td><a class=\"no-arrow\" href=\"$sUIPage?operation=details&id=".$aRow['key']."&class=".$aParams['class']."&".$oAppContext->GetForLink()."\"><img src=\"../images/zoom.gif\" title=\"".Dict::S('UI:Details+')."\" border=\"0\"></a></td>\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -318,7 +318,7 @@ Dict::Add('EN US', 'English', 'English', array(
|
||||
'UI:Button:Apply' => 'Apply',
|
||||
'UI:Button:Back' => ' << Back ',
|
||||
'UI:Button:Next' => ' Next >> ',
|
||||
'UI:Button:Next' => ' Finish ',
|
||||
'UI:Button:Finish' => ' Finish ',
|
||||
'UI:Button:DoImport' => ' Run the Import ! ',
|
||||
'UI:Button:Done' => ' Done ',
|
||||
'UI:Button:SimulateImport' => ' Simulate the Import ',
|
||||
@@ -330,6 +330,7 @@ Dict::Add('EN US', 'English', 'English', array(
|
||||
'UI:Button:AddToList' => ' << Add ',
|
||||
'UI:Button:RemoveFromList' => ' Remove >> ',
|
||||
'UI:Button:FilterList' => ' Filter... ',
|
||||
'UI:Button:Delete' => 'Delete ! ',
|
||||
|
||||
'UI:SearchToggle' => 'Search',
|
||||
'UI:ClickToCreateNew' => 'Click here to create a new %1$s',
|
||||
@@ -349,6 +350,22 @@ Dict::Add('EN US', 'English', 'English', array(
|
||||
'UI:Error:UploadStoppedByExtension_FileName' => 'Upload stopped by extension. (Original file name = "%1$s").',
|
||||
'UI:Error:UploadFailedUnknownCause_Code' => 'File upload failed, unknown cause. (Error code = "%1$s").',
|
||||
|
||||
'UI:Error:1ParametersMissing' => 'Error: the following parameter must be specified for this operation: %1$s.',
|
||||
'UI:Error:2ParametersMissing' => 'Error: the following parameters must be specified for this operation: %1$s and %2$s.',
|
||||
'UI:Error:3ParametersMissing' => 'Error: the following parameters must be specified for this operation: %1$s, %2$s and %3$s.',
|
||||
'UI:Error:4ParametersMissing' => 'Error: the following parameters must be specified for this operation: %1$s, %2$s, %3$s and %4$s.',
|
||||
'UI:Error:IncorrectOQLQuery_Message' => 'Error: incorrect OQL query: %1$s',
|
||||
'UI:Error:AnErrorOccuredWhileRunningTheQuery_Message' => 'An error occured while running the query: %1$s',
|
||||
'UI:Error:ObjectAlreadyUpdated' => 'Error: the object has already been updated.',
|
||||
'UI:Error:ObjectCannotBeUpdated' => 'Error: object cannot be updated.',
|
||||
'UI:Error:ObjectsAlreadyDeleted' => 'Error: objects have already been deleted!',
|
||||
'UI:Error:BulkDeleteNotAllowedOn_Class' => 'You are not allowed to perform a bulk delete of objects of class %1$s',
|
||||
'UI:Error:DeleteNotAllowedOn_Class' => 'You are not allowed to delete objects of class %1$s',
|
||||
'UI:Error:ObjectAlreadyCloned' => 'Error: the object has already been cloned!',
|
||||
'UI:Error:ObjectAlreadyCreated' => 'Error: the object has laready been created!',
|
||||
'UI:Error:Invalid_Stimulus_On_Object_In_State' => 'Error: invalid stimulus "%1$s" on object %2$s in state "%3$s".',
|
||||
|
||||
|
||||
'UI:GroupBy:Count' => 'Count',
|
||||
'UI:GroupBy:Count+' => 'Number of elements',
|
||||
'UI:CountOfObjects' => '%1$d objects matching the criteria.',
|
||||
@@ -385,6 +402,9 @@ Dict::Add('EN US', 'English', 'English', array(
|
||||
'UI:OQLQueryTab' => 'OQL Query',
|
||||
'UI:SimpleSearchTab' => 'Simple Search',
|
||||
'UI:Details+' => 'Details',
|
||||
'UI:SearchValue:Any' => '* Any *',
|
||||
'UI:SearchValue:Mixed' => '* mixed *',
|
||||
'UI:SelectOne' => '-- select one --',
|
||||
'UI:Login:Welcome' => 'Welcome to iTop!',
|
||||
'UI:Login:IncorrectLoginPassword' => 'Incorrect login/password, please try again.',
|
||||
'UI:Login:IdentifyYourself' => 'Identify yourself before continuing',
|
||||
@@ -545,7 +565,101 @@ Dict::Add('EN US', 'English', 'English', array(
|
||||
'UI:Message:EmptyList:UseAdd' => 'The list is empty, use the "Add..." button to add elements.',
|
||||
'UI:Message:EmptyList:UseSearchForm' => 'Use the search form above to search for objects to be added.',
|
||||
|
||||
'UI:Wizard:FinalStepTitle' => 'Final step: confirmation'
|
||||
'UI:Wizard:FinalStepTitle' => 'Final step: confirmation',
|
||||
'UI:Title:DeletionOf_Object' => 'Deletion of %1$s',
|
||||
'UI:Title:BulkDeletionOf_Count_ObjectsOf_Class' => 'Bulk deletion of %1$d objects of class %2$s',
|
||||
'UI:Delete:NotAllowedToDelete' => 'You are not allowed to delete this object',
|
||||
'UI:Delete:NotAllowedToUpdate_Fields' => 'You are not allowed to update the following field(s): %1$s',
|
||||
'UI:Error:NotEnoughRightsToDelete' => 'This object could not be deleted because the current user do not have sufficient rights',
|
||||
'UI:Error:CannotDeleteBecauseOfDepencies' => 'This object could not be deleted because some manual operations must be performed prior to that',
|
||||
'UI:Archive_User_OnBehalfOf_User' => '%1$s on behalf of %2$s',
|
||||
'UI:Delete:AutomaticallyDeleted' => 'automatically deleted',
|
||||
'UI:Delete:AutomaticResetOf_Fields' => 'automatic reset of field(s): %1$s',
|
||||
'UI:Delete:CleaningUpRefencesTo_Object' => 'Cleaning up all references to %1$s...',
|
||||
'UI:Delete:CleaningUpRefencesTo_Several_ObjectsOf_Class' => 'Cleaning up all references to %1$d objects of class %2$s...',
|
||||
'UI:Delete:Done+' => 'What was done...',
|
||||
'UI:Delete:_Name_Class_Deleted' => '%1$s - %2$s deleted.',
|
||||
'UI:Delete:ConfirmDeletionOf_Name' => 'Deletion of %1$s',
|
||||
'UI:Delete:ConfirmDeletionOf_Count_ObjectsOf_Class' => 'Deletion of %1$d objects of class %2$s',
|
||||
'UI:Delete:ShouldBeDeletedAtomaticallyButNotAllowed' => 'Should be automaticaly deleted, but you are not allowed to do so',
|
||||
'UI:Delete:MustBeDeletedManuallyButNotAllowed' => 'Must be deleted manually - but you are not allowed to delete this object, please contact your application admin',
|
||||
'UI:Delete:WillBeDeletedAutomatically' => 'Will be automaticaly deleted',
|
||||
'UI:Delete:MustBeDeletedManually' => 'Must be deleted manually',
|
||||
'UI:Delete:CannotUpdateBecause_Issue' => 'Should be automatically updated, but: %1$s',
|
||||
'UI:Delete:WillAutomaticallyUpdate_Fields' => 'will be automaticaly updated (reset: %1$s)',
|
||||
'UI:Delete:Count_Objects/LinksReferencing_Object' => '%1$d objects/links are referencing %2$s',
|
||||
'UI:Delete:Count_Objects/LinksReferencingTheObjects' => '%1$d objects/links are referencing some of the objects to be deleted',
|
||||
'UI:Delete:ReferencesMustBeDeletedToEnsureIntegrity' => 'To ensure Database integrity, any reference should be further eliminated',
|
||||
'UI:Delete:Consequence+' => 'What will be done',
|
||||
'UI:Delete:SorryDeletionNotAllowed' => 'Sorry, you are not allowed to delete this object, see the detailed explanations above',
|
||||
'UI:Delete:PleaseDoTheManualOperations' => 'Please perform the manual operations listed above prior to requesting the deletion of this object',
|
||||
'UI:Delect:Confirm_Object' => 'Please confirm that you want to delete %1$s.',
|
||||
'UI:Delect:Confirm_Count_ObjectsOf_Class' => 'Please confirm that you want to delete the following %1$d objects of class %2$s.',
|
||||
'UI:WelcomeToITop' => 'Welcome to iTop',
|
||||
'UI:DetailsPageTitle' => 'iTop - %1$s - %2$s details',
|
||||
'UI:ErrorPageTitle' => 'iTop - Error',
|
||||
'UI:ObjectDoesNotExist' => 'Sorry, this object does not exist (or you are not allowed to view it).',
|
||||
'UI:SearchResultsPageTitle' => 'iTop - Search Results',
|
||||
'UI:Search:NoSearch' => 'Nothing to search for',
|
||||
'UI:FullTextSearchTitle_Text' => 'Results for "%1$s":',
|
||||
'UI:Search:Count_ObjectsOf_Class_Found' => '%1$d object(s) of class %2$s found.',
|
||||
'UI:Search:NoObjectFound' => 'No object found.',
|
||||
'UI:ModificationPageTitle_Object_Class' => 'iTop - %1$s - %2$s modification',
|
||||
'UI:ModificationTitle_Class_Object' => 'Modification of %1$s: <span class=\"hilite\">%2$s</span>',
|
||||
'UI:ClonePageTitle_Object_Class' => 'iTop - Clone %1$s - %2$s modification',
|
||||
'UI:CloneTitle_Class_Object' => 'Clone of %1$s: <span class=\"hilite\">%2$s</span>',
|
||||
'UI:CreationPageTitle_Class' => 'iTop - Creation of a new %1$s ',
|
||||
'UI:CreationTitle_Class' => 'Creation of a new %1$s',
|
||||
'UI:Class_Object_NotUpdated' => 'No change detected, %1$s (%2$s) has <strong>not</strong> been modified.',
|
||||
'UI:Class_Object_Updated' => '%1$s (%2$s) updated.',
|
||||
'UI:BulkDeletePageTitle' => 'iTop - Bulk Delete',
|
||||
'UI:BulkDeleteTitle' => 'Select the objects you want to delete:',
|
||||
'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:PageTitle:FatalError' => 'iTop - Fatal Error',
|
||||
'UI:FatalErrorMessage' => 'Fatal error, iTop cannot continue.',
|
||||
'UI:Error_Details' => 'Error: %1$s.',
|
||||
|
||||
'UI:PageTitle:ClassProjections' => 'iTop user management - class projections',
|
||||
'UI:PageTitle:ProfileProjections' => 'iTop user management - profile projections',
|
||||
'UI:UserManagement:Class' => 'Class',
|
||||
'UI:UserManagement:Class+' => 'Class of objects',
|
||||
'UI:UserManagement:ProjectedObject' => 'Object',
|
||||
'UI:UserManagement:ProjectedObject+' => 'Projected object',
|
||||
'UI:UserManagement:AnyObject' => '* any *',
|
||||
'UI:UserManagement:User' => 'User',
|
||||
'UI:UserManagement:User+' => 'User involved in the projection',
|
||||
'UI:UserManagement:Profile' => 'Profile',
|
||||
'UI:UserManagement:Profile+' => 'Profile in which the projection is specified',
|
||||
'UI:UserManagement:Action:Read' => 'Read',
|
||||
'UI:UserManagement:Action:Read+' => 'Read/display objects',
|
||||
'UI:UserManagement:Action:Modify' => 'Modify',
|
||||
'UI:UserManagement:Action:Modify+' => 'Create and edit (modify) objects',
|
||||
'UI:UserManagement:Action:Delete' => 'Delete',
|
||||
'UI:UserManagement:Action:Delete+' => 'Delete objects',
|
||||
'UI:UserManagement:Action:BulkRead' => 'Bulk Read (Export)',
|
||||
'UI:UserManagement:Action:BulkRead+' => 'List objects or export massively',
|
||||
'UI:UserManagement:Action:BulkModify' => 'Bulk Modify',
|
||||
'UI:UserManagement:Action:BulkModify+' => 'Massively create/edit (CSV import)',
|
||||
'UI:UserManagement:Action:BulkDelete' => 'Bulk Delete',
|
||||
'UI:UserManagement:Action:BulkDelete+' => 'Massively delete objects',
|
||||
'UI:UserManagement:Action:Stimuli' => 'Stimuli',
|
||||
'UI:UserManagement:Action:Stimuli+' => 'Allowed (compound) actions',
|
||||
'UI:UserManagement:Action' => 'Action',
|
||||
'UI:UserManagement:Action+' => 'Action performed by the user',
|
||||
'UI:UserManagement:TitleActions' => 'Actions',
|
||||
'UI:UserManagement:Permission' => 'Permission',
|
||||
'UI:UserManagement:Permission+' => 'User\'s permissions',
|
||||
'UI:UserManagement:Attributes' => 'Attributes',
|
||||
'UI:UserManagement:ActionAllowed:Yes' => 'Yes',
|
||||
'UI:UserManagement:ActionAllowed:No' => 'No',
|
||||
'UI:UserManagement:AdminProfile+' => 'Administrators have full read/write access to all objects in the database.',
|
||||
'UI:UserManagement:NoLifeCycleApplicable' => 'N/A',
|
||||
'UI:UserManagement:NoLifeCycleApplicable+' => 'No lifecycle has been defined for this class',
|
||||
'UI:UserManagement:GrantMatrix' => 'Grant Matrix',
|
||||
'UI:USerManagement:LinkBetween_User_And_Profile' => 'Link between %1$s and %2$s',
|
||||
|
||||
));
|
||||
|
||||
|
||||
|
||||
@@ -313,6 +313,7 @@ Dict::Add('FR FR', 'French', 'Français', array(
|
||||
'UI:Button:Apply' => 'Appliquer',
|
||||
'UI:Button:Back' => ' << Retour ',
|
||||
'UI:Button:Next' => ' Suite >> ',
|
||||
'UI:Button:Finish' => ' Terminer ',
|
||||
'UI:Button:DoImport' => ' Lancer l\'import ! ',
|
||||
'UI:Button:Done' => ' Terminé ',
|
||||
'UI:Button:SimulateImport' => ' Simuler l\'import ',
|
||||
@@ -324,10 +325,11 @@ Dict::Add('FR FR', 'French', 'Français', array(
|
||||
'UI:Button:AddToList' => ' << Ajouter ',
|
||||
'UI:Button:RemoveFromList' => ' Enlever >> ',
|
||||
'UI:Button:FilterList' => ' Filtrer... ',
|
||||
'UI:Button:Delete' => 'Supprimer ! ',
|
||||
|
||||
'UI:SearchToggle' => 'Recherche',
|
||||
|
||||
'UI:ClickToCreateNew' => 'Cliquez ici pour créer un nouveau %1$s',
|
||||
'UI:ClickToCreateNew' => 'Cliquez ici pour créer un nouvel objet de type %1$s',
|
||||
'UI:NoObjectToDisplay' => 'Aucun objet à afficher.',
|
||||
'UI:Error:MandatoryTemplateParameter_object_id' => 'Le paramètre object_id est obligatoire quand link_attr est spécifié. Vérifiez la définition du modèle.',
|
||||
'UI:Error:MandatoryTemplateParameter_link_attr' => 'Le paramètre target_attr est obligatoire quand link_attr est spécifié. Vérifiez la définition du modèle.',
|
||||
@@ -344,6 +346,21 @@ Dict::Add('FR FR', 'French', 'Français', array(
|
||||
'UI:Error:UploadStoppedByExtension_FileName' => 'Téléchargement arrêté à cause de l\'extension. (Nom du fichier original = "%1$s").',
|
||||
'UI:Error:UploadFailedUnknownCause_Code' => 'Le téléchargement a échoué pour une raison inconnue. (Code d\'erreur = "%1$s").',
|
||||
|
||||
'UI:Error:1ParametersMissing' => 'Erreur: Pour effectuer cette opération il manque le paramètre suivant: %1$s.',
|
||||
'UI:Error:2ParametersMissing' => 'Erreur: Pour effectuer cette opération il manque les paramètres suivants: %1$s and %2$s.',
|
||||
'UI:Error:3ParametersMissing' => 'Erreur: Pour effectuer cette opération il manque les paramètres suivants: %1$s, %2$s and %3$s.',
|
||||
'UI:Error:4ParametersMissing' => 'Erreur: Pour effectuer cette opération il manque les paramètres suivants: %1$s, %2$s, %3$s and %4$s.',
|
||||
'UI:Error:IncorrectOQLQuery_Message' => 'Erreur: requête OQL incorrecte: %1$s',
|
||||
'UI:Error:AnErrorOccuredWhileRunningTheQuery_Message' => 'Une erreur s\'est produite en exécutant la requête: %1$s',
|
||||
'UI:Error:ObjectAlreadyUpdated' => 'Erreur: l\'objet a déjà été mis à jour.',
|
||||
'UI:Error:ObjectCannotBeUpdated' => 'Erreur: l\'objet ne peut pas être mis à jour.',
|
||||
'UI:Error:ObjectsAlreadyDeleted' => 'Erreur: les objets ont déjà été supprimés !',
|
||||
'UI:Error:BulkDeleteNotAllowedOn_Class' => 'Vous n\'êtes pas autorisé à faire une suppression massive sur les objets de type %1$s',
|
||||
'UI:Error:DeleteNotAllowedOn_Class' => 'Vous n\'êtes pas autorisé supprimer des objets de type %1$s',
|
||||
'UI:Error:ObjectAlreadyCloned' => 'Erreur: l\'objet a déjà été dupliqué !',
|
||||
'UI:Error:ObjectAlreadyCreated' => 'Erreur: l\'objet a déjà été créé !',
|
||||
'UI:Error:Invalid_Stimulus_On_Object_In_State' => 'Erreur: le stimulus "%1$s" n\'est pas valide pour l\'objet %2$s dans l\'état "%3$s".',
|
||||
|
||||
'UI:GroupBy:Count' => 'Nombre',
|
||||
'UI:GroupBy:Count+' => 'Nombre d\'éléments',
|
||||
'UI:CountOfObjects' => '%1$d objets correspondants aux critères.',
|
||||
@@ -360,8 +377,8 @@ Dict::Add('FR FR', 'French', 'Français', array(
|
||||
'UI:Menu:New' => 'Créer...',
|
||||
'UI:Menu:Add' => 'Ajouter...',
|
||||
'UI:Menu:Manage' => 'Gérer...',
|
||||
'UI:Menu:EMail' => 'eMail',
|
||||
'UI:Menu:CSVExport' => 'Export CSV',
|
||||
'UI:Menu:EMail' => 'Envoyer par eMail',
|
||||
'UI:Menu:CSVExport' => 'Exporter en CSV',
|
||||
'UI:Menu:Modify' => 'Modifier...',
|
||||
'UI:Menu:Delete' => 'Supprimer...',
|
||||
'UI:Menu:Manage' => 'Gérer...',
|
||||
@@ -380,6 +397,9 @@ Dict::Add('FR FR', 'French', 'Français', array(
|
||||
'UI:OQLQueryTab' => 'Requête OQL',
|
||||
'UI:SimpleSearchTab' => 'Recherche simple',
|
||||
'UI:Details+' => 'Détails',
|
||||
'UI:SearchValue:Any' => '* Indifférent *',
|
||||
'UI:SearchValue:Mixed' => '* Plusieurs *',
|
||||
'UI:SelectOne' => '-- choisir une valeur --',
|
||||
'UI:Login:Welcome' => 'Bienvenue dans iTop!',
|
||||
'UI:Login:IncorrectLoginPassword' => 'Mot de passe ou identifiant incorrect.',
|
||||
'UI:Login:IdentifyYourself' => 'Merci de vous identifier',
|
||||
@@ -465,20 +485,20 @@ Dict::Add('FR FR', 'French', 'Français', array(
|
||||
'UI:RunQuery:HeaderOQLExpression' => 'Requête OQL',
|
||||
'UI:RunQuery:HeaderOQLExpression+' => 'La requête en OQL',
|
||||
'UI:RunQuery:ExpressionToEvaluate' => 'Requête à exécuter : ',
|
||||
'UI:RunQuery:MoreInfo' => 'Plus d\'information sur le requête: ',
|
||||
'UI:RunQuery:MoreInfo' => 'Plus d\'information sur le requête : ',
|
||||
'UI:RunQuery:DevelopedQuery' => 'Requête OQL décompilée : ',
|
||||
'UI:RunQuery:SerializedFilter' => 'Version sérialisée : ',
|
||||
'UI:RunQuery:Error' => 'Une erreur s\'est produite durant l\'exécution de la requête: %1$s',
|
||||
'UI:RunQuery:Error' => 'Une erreur s\'est produite durant l\'exécution de la requête : %1$s',
|
||||
|
||||
'UI:Schema:Title' => 'Modèle de données iTop',
|
||||
'UI:Schema:CategoryMenuItem' => 'Catégorie <b>%1$s</b>',
|
||||
'UI:Schema:Relationships' => 'Relations',
|
||||
'UI:Schema:AbstractClass' => 'Class abstraite: les objets de cette classe ne peuvent pas être instanciés.',
|
||||
'UI:Schema:NonAbstractClass' => 'Class concrète: les objets de cette classe peuvent être instanciés.',
|
||||
'UI:Schema:AbstractClass' => 'Classe abstraite : les objets de cette classe ne peuvent pas être instanciés.',
|
||||
'UI:Schema:NonAbstractClass' => 'Classe concrète : les objets de cette classe peuvent être instanciés.',
|
||||
'UI:Schema:ClassHierarchyTitle' => 'Hiérachie des classes',
|
||||
'UI:Schema:AllClasses' => 'Toutes les classes',
|
||||
'UI:Schema:ExternalKey_To' => 'Clef externe vers %1$s',
|
||||
'UI:Schema:Columns_Description' => 'Colonnes: <em>%1$s</em>',
|
||||
'UI:Schema:Columns_Description' => 'Colonnes : <em>%1$s</em>',
|
||||
'UI:Schema:Default_Description' => 'Valeur par défaut: "%1$s"',
|
||||
'UI:Schema:NullAllowed' => 'Null autorisé',
|
||||
'UI:Schema:NullNotAllowed' => 'Null interdit',
|
||||
@@ -516,8 +536,8 @@ Dict::Add('FR FR', 'French', 'Français', array(
|
||||
'UI:Schema:RelationDoesNotPropagate' => '%1$s: ne se propage pas (%2$d niveaux), requête: %3$s',
|
||||
'UI:Schema:Class_ReferencingClasses_From_By' => '%1$s est référencé par la classe %2$s via le champ %3$s',
|
||||
'UI:Schema:Class_IsLinkedTo_Class_Via_ClassAndAttribute' => '%1$s est lié à la classe %2$s via %3$s::<em>%4$s</em>',
|
||||
'UI:Schema:Links:1-n' => 'Classes pointant sur %1$s (liens 1:n):',
|
||||
'UI:Schema:Links:n-n' => 'Classes liées à %1$s (liens n:n):',
|
||||
'UI:Schema:Links:1-n' => 'Classes pointant sur %1$s (liens 1:n) :',
|
||||
'UI:Schema:Links:n-n' => 'Classes liées à %1$s (liens n:n) :',
|
||||
'UI:Schema:Links:All' => 'Graphe de toutes les classes liées',
|
||||
'UI:Schema:NoLifeCyle' => 'Aucun cycle de vie n\'est défini pour cette classe.',
|
||||
'UI:Schema:LifeCycleTransitions' => 'Transitions',
|
||||
@@ -542,7 +562,101 @@ Dict::Add('FR FR', 'French', 'Français', array(
|
||||
'UI:Message:EmptyList:UseAdd' => 'La liste est vide, utilisez le bouton "Ajouter..." pour ajouter des objets.',
|
||||
'UI:Message:EmptyList:UseSearchForm' => 'Utilisez le formulaire de recherche ci-dessus pour trouver les objets à ajouter.',
|
||||
|
||||
'UI:Wizard:FinalStepTitle' => 'Dernière étape: confirmation'
|
||||
'UI:Wizard:FinalStepTitle' => 'Dernière étape: confirmation',
|
||||
'UI:Title:DeletionOf_Object' => 'Suppression de %1$s',
|
||||
'UI:Title:BulkDeletionOf_Count_ObjectsOf_Class' => 'Suppression massive de %1$d objets de type %2$s',
|
||||
'UI:Delete:NotAllowedToDelete' => 'Vous n\'êtes pas autorisé à supprimer cet objet',
|
||||
'UI:Delete:NotAllowedToUpdate_Fields' => 'Vous n\'êtes pas autorisé à mettre à jour les champs suivants : %1$s',
|
||||
'UI:Error:NotEnoughRightsToDelete' => 'Cet objet ne peut pas être supprimé car l\'utilisateur courant n\'a pas les droits nécessaires.',
|
||||
'UI:Error:CannotDeleteBecauseOfDepencies' => 'Cet objet ne peut pas être supprimé, des opérations manuelles sont nécessaire avant sa suppression.',
|
||||
'UI:Archive_User_OnBehalfOf_User' => '%1$s pour %2$s',
|
||||
'UI:Delete:AutomaticallyDeleted' => 'supprimé automatiquement',
|
||||
'UI:Delete:AutomaticResetOf_Fields' => 'mise à jour automatique des champ(s): %1$s',
|
||||
'UI:Delete:CleaningUpRefencesTo_Object' => 'Suppression de toutes les références vers %1$s...',
|
||||
'UI:Delete:CleaningUpRefencesTo_Several_ObjectsOf_Class' => 'Supression de toutes les références vers les %1$d objets de type %2$s...',
|
||||
'UI:Delete:Done+' => 'Ce qui a été effectué...',
|
||||
'UI:Delete:_Name_Class_Deleted' => ' %2$s %1$s supprimé.',
|
||||
'UI:Delete:ConfirmDeletionOf_Name' => 'Suppression de %1$s',
|
||||
'UI:Delete:ConfirmDeletionOf_Count_ObjectsOf_Class' => 'Supression de %1$d objets de type %2$s',
|
||||
'UI:Delete:ShouldBeDeletedAtomaticallyButNotAllowed' => 'Devrait être supprimé automatiquement, mais vous n\'avez pas le droit d\'effectuer cette opération.',
|
||||
'UI:Delete:MustBeDeletedManuallyButNotAllowed' => 'Doit être supprimé manuellement - mais vous n\'avez pas le droit de supprimer cet objet, contactez votre administrateur pour régler ce problème',
|
||||
'UI:Delete:WillBeDeletedAutomatically' => 'Sera supprimé automatiquement',
|
||||
'UI:Delete:MustBeDeletedManually' => 'Doit être supprimé manuellement',
|
||||
'UI:Delete:CannotUpdateBecause_Issue' => 'Devrait être mis à jour automatiquement, mais: %1$s',
|
||||
'UI:Delete:WillAutomaticallyUpdate_Fields' => 'Va être mis à jour automatiquement (champs impactés : %1$s)',
|
||||
'UI:Delete:Count_Objects/LinksReferencing_Object' => '%1$d objets ou liens font référence à %2$s',
|
||||
'UI:Delete:Count_Objects/LinksReferencingTheObjects' => '%1$d objets ou liens font référence à certain des objets à supprimer',
|
||||
'UI:Delete:ReferencesMustBeDeletedToEnsureIntegrity' => 'pour garantir l\'intégrité de la base de données, toutes les références doivent être supprimées.',
|
||||
'UI:Delete:Consequence+' => 'Ce qui va être effectué',
|
||||
'UI:Delete:SorryDeletionNotAllowed' => 'Désolé, vous n\'êtes pas autorisé à supprimer cette objet. Voir les explications détaillées ci-dessus.',
|
||||
'UI:Delete:PleaseDoTheManualOperations' => 'Vous devez effectuer les opération manuelles listées ci-dessus avant de pourvoir supprimer cet objet.',
|
||||
'UI:Delect:Confirm_Object' => 'Confirmez que vous voulez bien supprimer %1$s.',
|
||||
'UI:Delect:Confirm_Count_ObjectsOf_Class' => 'Confirmez que vous voulez bien supprimer les %1$d objets de type %2$s ci-dessous.',
|
||||
'UI:WelcomeToITop' => 'Bienvenue dans iTop',
|
||||
'UI:DetailsPageTitle' => 'iTop - %2$s - Détails de %1$s',
|
||||
'UI:ErrorPageTitle' => 'iTop - Erreur',
|
||||
'UI:ObjectDoesNotExist' => 'Désolé cet objet n\'existe pas (où vous n\'êtes pas autorisé à l\'afficher).',
|
||||
'UI:SearchResultsPageTitle' => 'iTop - Résultats de la recherche',
|
||||
'UI:Search:NoSearch' => 'Rien à rechercher',
|
||||
'UI:FullTextSearchTitle_Text' => 'Résultats pour "%1$s" :',
|
||||
'UI:Search:Count_ObjectsOf_Class_Found' => 'Trouvé %1$d objet(s) de type %2$s.',
|
||||
'UI:Search:NoObjectFound' => 'Aucun objet trouvé.',
|
||||
'UI:ModificationPageTitle_Object_Class' => 'iTop - %2$s - Modification de %1$s',
|
||||
'UI:ModificationTitle_Class_Object' => '%1$s - Modification de <span class=\"hilite\">%2$s</span>',
|
||||
'UI:ClonePageTitle_Object_Class' => 'iTop - %2$s - Duplication de %1$s',
|
||||
'UI:CloneTitle_Class_Object' => ' %1$s - Duplication de <span class=\"hilite\">%2$s</span>',
|
||||
'UI:CreationPageTitle_Class' => 'iTop - Création d\'un objet de type %1$s ',
|
||||
'UI:CreationTitle_Class' => 'Création d\'un objet de type %1$s',
|
||||
'UI:Class_Object_NotUpdated' => 'Aucun changement détecté, %2$s (type : %2$s) n\'a <strong>pas</strong> été modifié.',
|
||||
'UI:Class_Object_Updated' => '%1$s (%2$s) mise à jour.',
|
||||
'UI:BulkDeletePageTitle' => 'iTop - Supression massive',
|
||||
'UI:BulkDeleteTitle' => 'Sélectionnez les objets à supprimer:',
|
||||
'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 de %2$s de l\'état %3$s vers l\'état %4$s.',
|
||||
'UI:PageTitle:FatalError' => 'iTop - Erreur Fatale',
|
||||
'UI:FatalErrorMessage' => 'Erreur fatale, iTop ne peut pas continuer.',
|
||||
'UI:Error_Details' => 'Erreur: %1$s.',
|
||||
|
||||
'UI:PageTitle:ClassProjections' => 'iTop gestion des utilisateurs - projections des classes',
|
||||
'UI:PageTitle:ProfileProjections' => 'iTop gestion des utilisateurs - projections des profils',
|
||||
'UI:UserManagement:Class' => 'Type',
|
||||
'UI:UserManagement:Class+' => 'Type des objets',
|
||||
'UI:UserManagement:ProjectedObject' => 'Objet',
|
||||
'UI:UserManagement:ProjectedObject+' => 'L\'objet projeté',
|
||||
'UI:UserManagement:AnyObject' => '* indifférent *',
|
||||
'UI:UserManagement:User' => 'Utilisateur',
|
||||
'UI:UserManagement:User+' => 'L\'utilisateur',
|
||||
'UI:UserManagement:Profile' => 'Profil',
|
||||
'UI:UserManagement:Profile+' => 'Profil dans lequel la projection est définie',
|
||||
'UI:UserManagement:Action:Read' => 'Lecture',
|
||||
'UI:UserManagement:Action:Read+' => 'Lecture et affichage d\'un objet',
|
||||
'UI:UserManagement:Action:Modify' => 'Modification',
|
||||
'UI:UserManagement:Action:Modify+' => 'Création et modification d\'un objet',
|
||||
'UI:UserManagement:Action:Delete' => 'Suppression',
|
||||
'UI:UserManagement:Action:Delete+' => 'Supression d\'un objet',
|
||||
'UI:UserManagement:Action:BulkRead' => 'Lecture en masse (export)',
|
||||
'UI:UserManagement:Action:BulkRead+' => 'Export de liste d\'objets',
|
||||
'UI:UserManagement:Action:BulkModify' => 'Modification en masse',
|
||||
'UI:UserManagement:Action:BulkModify+' => 'Création et modification de plusieurs objets (import CSV)',
|
||||
'UI:UserManagement:Action:BulkDelete' => 'Suppression en masse',
|
||||
'UI:UserManagement:Action:BulkDelete+' => 'Suppression de plusieurs objets',
|
||||
'UI:UserManagement:Action:Stimuli' => 'Stimuli',
|
||||
'UI:UserManagement:Action:Stimuli+' => 'Actions autorisées',
|
||||
'UI:UserManagement:Action' => 'Action',
|
||||
'UI:UserManagement:Action+' => 'l\'action effectuée par l\'utilisateur',
|
||||
'UI:UserManagement:TitleActions' => 'Actions',
|
||||
'UI:UserManagement:Permission' => 'Permission',
|
||||
'UI:UserManagement:Permission+' => 'Les droits de l\'utilisateur',
|
||||
'UI:UserManagement:Attributes' => 'Champs',
|
||||
'UI:UserManagement:ActionAllowed:Yes' => 'Oui',
|
||||
'UI:UserManagement:ActionAllowed:No' => 'Non',
|
||||
'UI:UserManagement:AdminProfile+' => 'Les administrateurs ont un accès total à tous les objets de la base de données.',
|
||||
'UI:UserManagement:NoLifeCycleApplicable' => 'N/A',
|
||||
'UI:UserManagement:NoLifeCycleApplicable+' => 'Aucun cycle de vie n\'est défini pour ce type d\'objets.',
|
||||
'UI:UserManagement:GrantMatrix' => 'Matrice des droits',
|
||||
'UI:USerManagement:LinkBetween_User_And_Profile' => 'Lien entre %1$s et %2$s',
|
||||
|
||||
));
|
||||
|
||||
?>
|
||||
|
||||
890
pages/UI.php
890
pages/UI.php
File diff suppressed because it is too large
Load Diff
@@ -32,8 +32,8 @@ function ComputeProjections($oPage, $sScope)
|
||||
// Setup display structure
|
||||
//
|
||||
$aDisplayConfig = array();
|
||||
$aDisplayConfig['class'] = array('label' => 'Class', 'description' => 'Class');
|
||||
$aDisplayConfig['object'] = array('label' => 'Object', 'description' => 'Projected object');
|
||||
$aDisplayConfig['class'] = array('label' => Dict::S('UI:UserManagement:Class'), 'description' => Dict::S('UI:UserManagement:Class+'));
|
||||
$aDisplayConfig['object'] = array('label' => Dict::S('UI:UserManagement:ProjectedObject'), 'description' => Dict::S('UI:UserManagement:ProjectedObject+'));
|
||||
foreach ($aDimensions as $iDimension => $oDimension)
|
||||
{
|
||||
$aDisplayConfig['dim'.$oDimension->GetKey()] = array('label' => $oDimension->GetName(), 'description' => $oDimension->Get('description'));
|
||||
@@ -57,7 +57,7 @@ function ComputeProjections($oPage, $sScope)
|
||||
$aValues = $aClassProjs[$sClass][$iDimension]->ProjectObject($oObject);
|
||||
if (is_null($aValues))
|
||||
{
|
||||
$sValues = htmlentities('<any>');
|
||||
$sValues = htmlentities(Dict::S('UI:UserManagement:AnyObject'));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -88,7 +88,7 @@ $iActiveNodeId = utils::ReadParam('menu', -1);
|
||||
$currentOrganization = utils::ReadParam('org_id', 1);
|
||||
$sScope = utils::ReadParam('scope', 'SELECT bizDevice');
|
||||
|
||||
$oPage = new iTopWebPage("iTop user management - class projections", $currentOrganization);
|
||||
$oPage = new iTopWebPage(Dict::S('UI:PageTitle:ClassProjections'), $currentOrganization);
|
||||
$oPage->no_cache();
|
||||
|
||||
ComputeProjections($oPage, $sScope);
|
||||
|
||||
@@ -37,8 +37,8 @@ function ComputeProjections($oPage)
|
||||
// Setup display structure
|
||||
//
|
||||
$aDisplayConfig = array();
|
||||
$aDisplayConfig['user'] = array('label' => 'User', 'description' => 'User concerned by the projection');
|
||||
$aDisplayConfig['profile'] = array('label' => 'Profile', 'description' => 'Profile in which the projection is specified');
|
||||
$aDisplayConfig['user'] = array('label' => Dict::S('UI:UserManagement:User'), 'description' => Dict::S('UI:UserManagement:User+'));
|
||||
$aDisplayConfig['profile'] = array('label' => Dict::S('UI:UserManagement:Profile'), 'description' => Dict::S('UI:UserManagement:Profile+'));
|
||||
foreach ($aDimensions as $iDimension => $oDimension)
|
||||
{
|
||||
$aDisplayConfig['dim'.$oDimension->GetKey()] = array('label' => $oDimension->GetName(), 'description' => $oDimension->Get('description'));
|
||||
@@ -67,7 +67,7 @@ function ComputeProjections($oPage)
|
||||
$aValues = $aProPros[$iProfile][$iDimension]->ProjectUser($oUser);
|
||||
if (is_null($aValues))
|
||||
{
|
||||
$sValues = htmlentities('<any>');
|
||||
$sValues = htmlentities(Dict::S('UI:UserManagement:AnyObject'));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -98,7 +98,7 @@ $oAppContext = new ApplicationContext();
|
||||
$iActiveNodeId = utils::ReadParam('menu', -1);
|
||||
$currentOrganization = utils::ReadParam('org_id', 1);
|
||||
|
||||
$oPage = new iTopWebPage("iTop user management - profile projections", $currentOrganization);
|
||||
$oPage = new iTopWebPage(Dict::S('UI:PageTitle:ProfileProjections'), $currentOrganization);
|
||||
$oPage->no_cache();
|
||||
|
||||
ComputeProjections($oPage);
|
||||
|
||||
Reference in New Issue
Block a user