diff --git a/dictionaries/en.dictionary.itop.ui.php b/dictionaries/en.dictionary.itop.ui.php index f9666bb5c3..6a539ff3de 100644 --- a/dictionaries/en.dictionary.itop.ui.php +++ b/dictionaries/en.dictionary.itop.ui.php @@ -780,6 +780,8 @@ Dict::Add('EN US', 'English', 'English', array( 'UI:Audit:Dashboard:ObjectsInError' => 'Objects in errors', 'UI:Audit:Dashboard:ObjectsValidated' => 'Objects validated', 'UI:Audit:AuditCategory:Subtitle' => '%1$s errors ouf of %2$s - %3$s%% of the object are valid', + 'UI:Audit:Interactive:Selection:SubTitleParams' => 'Please select the following parameters: ', + 'UI:Audit:Interactive:FilterList' => 'With following parameters: ', 'UI:RunQuery:Title' => ITOP_APPLICATION_SHORT.' - OQL Query Evaluation', diff --git a/dictionaries/fr.dictionary.itop.ui.php b/dictionaries/fr.dictionary.itop.ui.php index 6e5c291e1a..3bab562a71 100644 --- a/dictionaries/fr.dictionary.itop.ui.php +++ b/dictionaries/fr.dictionary.itop.ui.php @@ -412,6 +412,80 @@ Nous espérons que vous aimerez cette version autant que nous avons eu du plaisi 'UI:WelcomeMenu:AllConfigItems' => 'Actifs: %1$d', 'UI:WelcomeMenu:MyIncidents' => 'Mes incidents', 'UI:AllOrganizations' => ' Toutes les Organisations ', + 'UI:ApplicationEnvironment' => 'Environnement applicatif: %1$s', + '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:ArchiveMode:Banner' => 'Mode Archive', + 'UI:ArchiveMode:Banner+' => 'Les objets archivés sont visibles, et aucune modification n\'est possible', + 'UI:ArchiveModeOff' => 'Désactiver le mode Archive', + 'UI:ArchiveModeOn' => 'Activer le mode Archive', + 'UI:Archive_User_OnBehalfOf_User' => '%1$s pour %2$s', + 'UI:AttemptingToChangeASlaveAttribute_Name' => 'Le champ %1$s ne peut pas être modifié car il est géré par une synchronisation avec une source de données. Valeur inchangée.', + 'UI:AttemptingToSetAReadOnlyAttribute_Name' => 'Tentative de modification du champ en lecture seule: %1$s', + 'UI:AttemptingToSetASlaveAttribute_Name' => 'Le champ %1$s (%2$s) ne peut pas être modifié car il est géré par une synchronisation avec une source de données. Valeur ignorée.', + 'UI:Audit:AuditCategory:Subtitle' => '%1$s en erreur sur %2$s - %3$s%% des objets sont valides', + 'UI:Audit:Interactive:Selection:SubTitleParams' => 'Veuillez sélectionner les paramètres suivant : ', + 'UI:Audit:Interactive:FilterList' => 'Avec les paramètres suivants : ', + 'UI:Audit:AuditErrors' => 'Audit Errors~~', + 'UI:Audit:Dashboard:ObjectsAudited' => 'Objets audités', + 'UI:Audit:Dashboard:ObjectsInError' => 'Objets en erreur', + 'UI:Audit:Dashboard:ObjectsValidated' => 'Objets valides', + 'UI:Audit:Error:ValueNA' => 'n/a', + 'UI:Audit:ErrorIn_Category' => 'Erreur dans la catégorie', + 'UI:Audit:ErrorIn_Category_Reason' => 'Erreur OQL dans la catégorie %1$s: %2$s.', + 'UI:Audit:ErrorIn_Rule' => 'Erreur dans le régle', + 'UI:Audit:ErrorIn_Rule_Reason' => 'Erreur OQL dans la règle %1$s: %2$s.', + 'UI:Audit:HeaderAuditRule' => 'Règle d\'audit', + 'UI:Audit:HeaderNbErrors' => 'Nb d\'Erreurs', + 'UI:Audit:HeaderNbObjects' => 'Nb d\'Objets', + 'UI:Audit:Interactive:All:BreadCrumb' => 'Audit complet', + 'UI:Audit:Interactive:All:BreadCrumb+' => 'Audit de toutes les régles', + 'UI:Audit:Interactive:All:SubTitle' => 'Audit complet, incluant toutes les régles, sans limitation de domaine ni de catégorie', + 'UI:Audit:Interactive:All:Title' => 'Résultats de tous les audits', + 'UI:Audit:Interactive:Button:Back' => 'Retour à l\'audit', + 'UI:Audit:Interactive:Button:Configuration' => 'Configurer l\'audit', + 'UI:Audit:Interactive:Categories:BreadCrumb' => 'Catégories', + 'UI:Audit:Interactive:Categories:BreadCrumb+' => 'Audit des catégories : %1$s', + 'UI:Audit:Interactive:Categories:SubTitle' => 'Audit de toutes les régles appartenant à ces %1$s catégories', + 'UI:Audit:Interactive:Categories:Title' => 'Résultats d\'audit des catégories : %1$s', + 'UI:Audit:Interactive:Domain:BreadCrumb' => '%1$s', + 'UI:Audit:Interactive:Domain:BreadCrumb+' => 'Audit du domaine : %1$s', + 'UI:Audit:Interactive:Domain:SubTitle' => 'Audit de toutes les régles dont la catégorie est reliée au domaine : %1$s', + 'UI:Audit:Interactive:Domain:Title' => 'Résultats d\'audit du domaine : %1$s', + 'UI:Audit:Interactive:Selection:BadgeAll' => 'Toutes les catégories', + 'UI:Audit:Interactive:Selection:BreadCrumb' => 'Sélection', + 'UI:Audit:Interactive:Selection:BreadCrumb+' => 'Choix d\'un Audit à exécuter', + 'UI:Audit:Interactive:Selection:SubTitle' => 'Choisir un domaine pour obtenir les résultats d\'audit limités à ce domaine ou "Toutes les catégories" (Peut prendre du temps, voir échouer s\'il y a trop d\'objets à auditer)', + 'UI:Audit:Interactive:Selection:Title' => 'Sélection d\'un audit', + 'UI:Audit:OqlError' => 'Erreur OQL', + 'UI:Audit:PercentageOk' => '% Ok', + 'UI:Audit:Title' => ITOP_APPLICATION_SHORT.' - Audit de la CMDB', + 'UI:Audit:ViewRules' => 'Vérifier les régles d\'audit', + 'UI:AutoApplyConfirmationMessage' => 'Des modifications n\'ont pas encore été prises en compte. Voulez-vous qu\'elles soient prises en compte automatiquement ?', + 'UI:AvailableInlineImagesLegend' => 'Images disponibles', + 'UI:BeforeAdding_Class_ObjectsSaveThisObject' => 'Enregistrez l\'objet courant avant de créer de nouveaux éléments de type %1$s.', + 'UI:BrowseInlineImages' => 'Parcourir les images...', + 'UI:BulkAction:NoObjectSelected' => 'Veuillez s\électionner au moins un objet pour cette opération.', + 'UI:BulkDeletePageTitle' => ITOP_APPLICATION_SHORT.' - Suppression massive', + 'UI:BulkDeleteTitle' => 'Sélectionnez les objets à supprimer:', + 'UI:BulkModify:N_MoreValues' => '%1$d valeurs supplémentaires...', + 'UI:BulkModify:Value_Exists_N_Times' => '%1$s, %2$d fois', + 'UI:BulkModifyErrors' => 'Erreur', + 'UI:BulkModifyErrors+' => '', + 'UI:BulkModifyStatus' => 'Opération', + 'UI:BulkModifyStatus+' => '', + 'UI:BulkModifyStatusError' => 'Erreur', + 'UI:BulkModifyStatusModified' => 'Modifié', + 'UI:BulkModifyStatusOk' => 'Ok', + 'UI:BulkModifyStatusSkipped' => 'Ignoré', + 'UI:BulkModify_Count_DistinctValues' => '%1$d valeurs distinctes:', + 'UI:Button:Add' => ' Ajouter ', + 'UI:Button:AddObject' => ' Ajouter... ', + 'UI:Button:AddToList' => ' << Ajouter ', + 'UI:Button:Apply' => 'Appliquer', + 'UI:Button:Back' => ' << Retour ', + 'UI:Button:BrowseObjects' => ' Naviguer... ', + 'UI:Button:Cancel' => 'Annuler', + 'UI:Button:ChangePassword' => ' Changer ! ', 'UI:YourSearch' => 'Votre recherche', 'UI:LoggedAsMessage' => 'Connecté(e) comme: %1$s (%2$s)', 'UI:LoggedAsMessage+Admin' => 'Connecté(e) comme: %1$s (%2$s, Administrateur)', diff --git a/pages/audit.php b/pages/audit.php index 72109d1649..593804cc3f 100644 --- a/pages/audit.php +++ b/pages/audit.php @@ -15,6 +15,7 @@ use Combodo\iTop\Application\UI\Base\Component\Input\InputUIBlockFactory; use Combodo\iTop\Application\UI\Base\Component\Input\Select\SelectOptionUIBlockFactory; use Combodo\iTop\Application\UI\Base\Component\Input\Select\SelectUIBlockFactory; use Combodo\iTop\Application\UI\Base\Component\Panel\Panel; +use Combodo\iTop\Application\UI\Base\Component\Panel\PanelUIBlockFactory; use Combodo\iTop\Application\UI\Base\Component\Text\Text; use Combodo\iTop\Application\UI\Base\Component\Title\TitleUIBlockFactory; use Combodo\iTop\Application\UI\Base\Layout\Dashboard\DashboardColumn; @@ -414,7 +415,9 @@ JS }).on('blur', function () { hasFocus = 0; if ($('#label_$sFieldName').val().length == 0) { - eval('oACWidget_$sFieldName').Clear(); + $('#$sFieldName').val(''); + $('#label_$sFieldName').val(''); + $('#label_$sFieldName').data('selected_value', ''); } else { $('#label_$sFieldName').val($('#label_$sFieldName').data('selected_value')); } @@ -598,8 +601,8 @@ try $oP->AddUiBlock(TitleUIBlockFactory::MakeForPage(Dict::S('UI:Audit:Interactive:Selection:Title'))); if($aAuditFilter !=[] ){ - - $oP->AddUiBlock(new Text(Dict::S('UI:Audit:Interactive:Selection:SubTitleParams'))); + $oPanel = PanelUIBlockFactory::MakeNeutral('',Dict::S('UI:Audit:Interactive:Selection:SubTitleParams')); + $oP->AddUiBlock($oPanel); foreach ($aAuditFilter as $sFieldName => $aFieldParam) { $oBlock = FieldUIBlockFactory::MakeStandard($aFieldParam['label']); @@ -624,10 +627,11 @@ try $oValue->AddSubBlock($oSelect); } $oBlock->AddSubBlock($oValue); - $oP->AddUiBlock($oBlock); + $oPanel->AddSubBlock($oBlock); } + } - $oP->AddUiBlock(new Text(Dict::S('UI:Audit:Interactive:Selection:SubTitle'))); + $oP->AddUiBlock(TitleUIBlockFactory::MakeNeutral(Dict::S('UI:Audit:Interactive:Selection:SubTitle'),2)); // Header block to select all audit categories $oCategoriesSet = new DBObjectSet(new DBObjectSearch('AuditCategory')); @@ -689,7 +693,7 @@ try $sGetParams = ''; foreach ($aAuditFilter as $sFieldName => $aFieldParam) { $sGetParams .= $sFieldName."=$('[name=$sFieldName]').val();"; - $sDomainUrl .= "&".$sFieldName."=$sFieldName'+'"; + $sDomainUrl .= "&".$sFieldName."='+$sFieldName+'"; } $sDomainUrl = 'javascript:'.$sGetParams.' window.location = \''.$sDomainUrl.'\''; } @@ -699,9 +703,10 @@ try $oDomainDashlet->AddSubBlock($oDomainBlock)->AddCSSClasses(['ibo-dashlet--is-inline', 'ibo-dashlet-badge']); $oDashboardRow->GetSubBlocks()[$iDomainCnt % 3]->AddUIBlock($oDomainDashlet); // ; $iDomainCnt++; + IssueLog::Error('domaine numero'.$iDomainCnt); } + $oP->AddUiBlock($oDashboardRow); - $oP->AddUiBlock($oDashboardRow); break; case 'audit': @@ -742,7 +747,8 @@ try $aFilterParams = []; if($aAuditFilter !=[] ){ - $sFilterText = Dict::S('UI:Audit:Interactive:FilterList') .'