-
{{ oBrick.GetTitle()|dict_s }}
+
{{ oBrick.GetTitle()|dict_s }}
({{ iCount }})
{% include 'itop-portal-base/portal/templates/bricks/manage/mode-' ~ oBrick.GetTileMode ~ '.html.twig' with {'oBrick': oBrick, 'aColumns': aColumns, 'aNames': aNames, 'aUrls': aUrls, 'aDisplayValues': aDisplayValues} %}
diff --git a/datamodels/2.x/itop-portal-base/portal/templates/layout.html.twig b/datamodels/2.x/itop-portal-base/portal/templates/layout.html.twig
index e8395a953..92229fbf2 100644
--- a/datamodels/2.x/itop-portal-base/portal/templates/layout.html.twig
+++ b/datamodels/2.x/itop-portal-base/portal/templates/layout.html.twig
@@ -43,7 +43,6 @@
{# - Font awesome #}
-
{# - Misc libs #}
diff --git a/datamodels/2.x/itop-portal-base/portal/templates/modal/mode_loader.html.twig b/datamodels/2.x/itop-portal-base/portal/templates/modal/mode_loader.html.twig
index 75c4afd6e..2061b19a5 100644
--- a/datamodels/2.x/itop-portal-base/portal/templates/modal/mode_loader.html.twig
+++ b/datamodels/2.x/itop-portal-base/portal/templates/modal/mode_loader.html.twig
@@ -8,7 +8,14 @@
{% if redirection is defined and redirection.url is defined %}
{% endif %}
diff --git a/datamodels/2.x/itop-portal-base/ru.dict.itop-portal-base.php b/datamodels/2.x/itop-portal-base/ru.dict.itop-portal-base.php
index b77a1b6f7..09fc4c448 100755
--- a/datamodels/2.x/itop-portal-base/ru.dict.itop-portal-base.php
+++ b/datamodels/2.x/itop-portal-base/ru.dict.itop-portal-base.php
@@ -134,7 +134,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', array(
'Brick:Portal:Object:Form:View:Title' => '%1$s : %2$s',
'Brick:Portal:Object:Form:Stimulus:Title' => 'Пожалуйста, укажите следующую информацию:',
'Brick:Portal:Object:Form:Message:Saved' => 'Сохранено',
- 'Brick:Portal:Object:Form:Message:ObjectSaved' => '%1$s cохранено~~',
+ 'Brick:Portal:Object:Form:Message:ObjectSaved' => '%1$s сохранено',
'Brick:Portal:Object:Search:Regular:Title' => 'Выбрать %1$s (%2$s)',
'Brick:Portal:Object:Search:Hierarchy:Title' => 'Выбрать %1$s (%2$s)',
'Brick:Portal:Object:Copy:TextToCopy' => '%1$s: %2$s',
diff --git a/datamodels/2.x/itop-portal/module.itop-portal.php b/datamodels/2.x/itop-portal/module.itop-portal.php
index e4a8dbef5..7d43de806 100644
--- a/datamodels/2.x/itop-portal/module.itop-portal.php
+++ b/datamodels/2.x/itop-portal/module.itop-portal.php
@@ -20,7 +20,7 @@
/** @noinspection PhpUnhandledExceptionInspection */
SetupWebPage::AddModule(
__FILE__, // Path to the current file, all other file names are relative to the directory containing this file
- 'itop-portal/2.7.0', array(
+ 'itop-portal/2.8.0', array(
// Identification
'label' => 'Enhanced Customer Portal',
'category' => 'Portal',
diff --git a/datamodels/2.x/itop-problem-mgmt/module.itop-problem-mgmt.php b/datamodels/2.x/itop-problem-mgmt/module.itop-problem-mgmt.php
index e583c8f00..132d0dbef 100755
--- a/datamodels/2.x/itop-problem-mgmt/module.itop-problem-mgmt.php
+++ b/datamodels/2.x/itop-problem-mgmt/module.itop-problem-mgmt.php
@@ -3,7 +3,7 @@
SetupWebPage::AddModule(
__FILE__, // Path to the current file, all other file names are relative to the directory containing this file
- 'itop-problem-mgmt/2.7.0',
+ 'itop-problem-mgmt/2.8.0',
array(
// Identification
//
diff --git a/datamodels/2.x/itop-profiles-itil/module.itop-profiles-itil.php b/datamodels/2.x/itop-profiles-itil/module.itop-profiles-itil.php
index 680d05238..31497e2d9 100755
--- a/datamodels/2.x/itop-profiles-itil/module.itop-profiles-itil.php
+++ b/datamodels/2.x/itop-profiles-itil/module.itop-profiles-itil.php
@@ -19,7 +19,7 @@
SetupWebPage::AddModule(
__FILE__, // Path to the current file, all other file names are relative to the directory containing this file
- 'itop-profiles-itil/2.7.0',
+ 'itop-profiles-itil/2.8.0',
array(
// Identification
//
diff --git a/datamodels/2.x/itop-request-mgmt-itil/cs.dict.itop-request-mgmt-itil.php b/datamodels/2.x/itop-request-mgmt-itil/cs.dict.itop-request-mgmt-itil.php
index ce3621075..26c4b0c75 100755
--- a/datamodels/2.x/itop-request-mgmt-itil/cs.dict.itop-request-mgmt-itil.php
+++ b/datamodels/2.x/itop-request-mgmt-itil/cs.dict.itop-request-mgmt-itil.php
@@ -163,8 +163,6 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', array(
'Class:UserRequest/Attribute:resolution_date+' => '',
'Class:UserRequest/Attribute:last_pending_date' => 'Datum posledního pozastavení',
'Class:UserRequest/Attribute:last_pending_date+' => '',
- 'Class:UserRequest/Attribute:cumulatedpending' => 'Kumulovaná doba pozastavení',
- 'Class:UserRequest/Attribute:cumulatedpending+' => '',
'Class:UserRequest/Attribute:tto' => 'TTO',
'Class:UserRequest/Attribute:tto+' => '',
'Class:UserRequest/Attribute:ttr' => 'TTR',
diff --git a/datamodels/2.x/itop-request-mgmt-itil/da.dict.itop-request-mgmt-itil.php b/datamodels/2.x/itop-request-mgmt-itil/da.dict.itop-request-mgmt-itil.php
index 8fb46eb44..555d1aa95 100644
--- a/datamodels/2.x/itop-request-mgmt-itil/da.dict.itop-request-mgmt-itil.php
+++ b/datamodels/2.x/itop-request-mgmt-itil/da.dict.itop-request-mgmt-itil.php
@@ -160,8 +160,6 @@ Dict::Add('DA DA', 'Danish', 'Dansk', array(
'Class:UserRequest/Attribute:resolution_date+' => '',
'Class:UserRequest/Attribute:last_pending_date' => 'Sidste udsættelsesdato',
'Class:UserRequest/Attribute:last_pending_date+' => '',
- 'Class:UserRequest/Attribute:cumulatedpending' => 'Akkumuleret nedetid',
- 'Class:UserRequest/Attribute:cumulatedpending+' => '',
'Class:UserRequest/Attribute:tto' => 'TTO (Time To Own)',
'Class:UserRequest/Attribute:tto+' => '',
'Class:UserRequest/Attribute:ttr' => 'TTR (Time To Resolve)',
diff --git a/datamodels/2.x/itop-request-mgmt-itil/de.dict.itop-request-mgmt-itil.php b/datamodels/2.x/itop-request-mgmt-itil/de.dict.itop-request-mgmt-itil.php
index 76cb83669..8d586f11b 100644
--- a/datamodels/2.x/itop-request-mgmt-itil/de.dict.itop-request-mgmt-itil.php
+++ b/datamodels/2.x/itop-request-mgmt-itil/de.dict.itop-request-mgmt-itil.php
@@ -162,8 +162,6 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
'Class:UserRequest/Attribute:resolution_date+' => '',
'Class:UserRequest/Attribute:last_pending_date' => 'Letztes Auszeit-Datum',
'Class:UserRequest/Attribute:last_pending_date+' => '',
- 'Class:UserRequest/Attribute:cumulatedpending' => 'Kumulierte Auszeit',
- 'Class:UserRequest/Attribute:cumulatedpending+' => '',
'Class:UserRequest/Attribute:tto' => 'TTO (Time To Own)',
'Class:UserRequest/Attribute:tto+' => '',
'Class:UserRequest/Attribute:ttr' => 'TTR (Time To Resolve)',
diff --git a/datamodels/2.x/itop-request-mgmt-itil/en.dict.itop-request-mgmt-itil.php b/datamodels/2.x/itop-request-mgmt-itil/en.dict.itop-request-mgmt-itil.php
index 6e2a927eb..f9b964b9c 100755
--- a/datamodels/2.x/itop-request-mgmt-itil/en.dict.itop-request-mgmt-itil.php
+++ b/datamodels/2.x/itop-request-mgmt-itil/en.dict.itop-request-mgmt-itil.php
@@ -161,8 +161,6 @@ Dict::Add('EN US', 'English', 'English', array(
'Class:UserRequest/Attribute:resolution_date+' => '',
'Class:UserRequest/Attribute:last_pending_date' => 'Last pending date',
'Class:UserRequest/Attribute:last_pending_date+' => '',
- 'Class:UserRequest/Attribute:cumulatedpending' => 'cumulatedpending',
- 'Class:UserRequest/Attribute:cumulatedpending+' => '',
'Class:UserRequest/Attribute:tto' => 'TTO',
'Class:UserRequest/Attribute:tto+' => '',
'Class:UserRequest/Attribute:ttr' => 'TTR',
diff --git a/datamodels/2.x/itop-request-mgmt-itil/es_cr.dict.itop-request-mgmt-itil.php b/datamodels/2.x/itop-request-mgmt-itil/es_cr.dict.itop-request-mgmt-itil.php
index 71091e36f..15ebd9c20 100644
--- a/datamodels/2.x/itop-request-mgmt-itil/es_cr.dict.itop-request-mgmt-itil.php
+++ b/datamodels/2.x/itop-request-mgmt-itil/es_cr.dict.itop-request-mgmt-itil.php
@@ -162,8 +162,6 @@ Dict::Add('ES CR', 'Spanish', 'Español, Castellaño', array(
'Class:UserRequest/Attribute:resolution_date+' => 'Fecha de Solución',
'Class:UserRequest/Attribute:last_pending_date' => 'Última Fecha de Espera',
'Class:UserRequest/Attribute:last_pending_date+' => 'Última Fecha de Espera',
- 'Class:UserRequest/Attribute:cumulatedpending' => 'Espera Acumulada',
- 'Class:UserRequest/Attribute:cumulatedpending+' => 'Espera Acumulada',
'Class:UserRequest/Attribute:tto' => 'TDA - Tiempo de Asignación',
'Class:UserRequest/Attribute:tto+' => 'Tiempo de Asignación',
'Class:UserRequest/Attribute:ttr' => 'TDS - Tiempo de Solución',
diff --git a/datamodels/2.x/itop-request-mgmt-itil/fr.dict.itop-request-mgmt-itil.php b/datamodels/2.x/itop-request-mgmt-itil/fr.dict.itop-request-mgmt-itil.php
index f9100274b..a411765df 100755
--- a/datamodels/2.x/itop-request-mgmt-itil/fr.dict.itop-request-mgmt-itil.php
+++ b/datamodels/2.x/itop-request-mgmt-itil/fr.dict.itop-request-mgmt-itil.php
@@ -162,8 +162,6 @@ Dict::Add('FR FR', 'French', 'Français', array(
'Class:UserRequest/Attribute:resolution_date+' => '',
'Class:UserRequest/Attribute:last_pending_date' => 'Dernière date de suspension',
'Class:UserRequest/Attribute:last_pending_date+' => '',
- 'Class:UserRequest/Attribute:cumulatedpending' => 'Temps cumulé de suspension',
- 'Class:UserRequest/Attribute:cumulatedpending+' => '',
'Class:UserRequest/Attribute:tto' => 'TTO',
'Class:UserRequest/Attribute:tto+' => '',
'Class:UserRequest/Attribute:ttr' => 'TTR',
diff --git a/datamodels/2.x/itop-request-mgmt-itil/hu.dict.itop-request-mgmt-itil.php b/datamodels/2.x/itop-request-mgmt-itil/hu.dict.itop-request-mgmt-itil.php
index 506a2b956..e13537e90 100644
--- a/datamodels/2.x/itop-request-mgmt-itil/hu.dict.itop-request-mgmt-itil.php
+++ b/datamodels/2.x/itop-request-mgmt-itil/hu.dict.itop-request-mgmt-itil.php
@@ -160,8 +160,6 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:UserRequest/Attribute:resolution_date+' => '~~',
'Class:UserRequest/Attribute:last_pending_date' => 'Last pending date~~',
'Class:UserRequest/Attribute:last_pending_date+' => '~~',
- 'Class:UserRequest/Attribute:cumulatedpending' => 'cumulatedpending~~',
- 'Class:UserRequest/Attribute:cumulatedpending+' => '~~',
'Class:UserRequest/Attribute:tto' => 'TTO~~',
'Class:UserRequest/Attribute:tto+' => '~~',
'Class:UserRequest/Attribute:ttr' => 'TTR~~',
diff --git a/datamodels/2.x/itop-request-mgmt-itil/it.dict.itop-request-mgmt-itil.php b/datamodels/2.x/itop-request-mgmt-itil/it.dict.itop-request-mgmt-itil.php
index 235d7441a..99e744d8a 100644
--- a/datamodels/2.x/itop-request-mgmt-itil/it.dict.itop-request-mgmt-itil.php
+++ b/datamodels/2.x/itop-request-mgmt-itil/it.dict.itop-request-mgmt-itil.php
@@ -160,8 +160,6 @@ Dict::Add('IT IT', 'Italian', 'Italiano', array(
'Class:UserRequest/Attribute:resolution_date+' => '~~',
'Class:UserRequest/Attribute:last_pending_date' => 'Ultima data di messa in attesa',
'Class:UserRequest/Attribute:last_pending_date+' => '~~',
- 'Class:UserRequest/Attribute:cumulatedpending' => 'cumulatedpending~~',
- 'Class:UserRequest/Attribute:cumulatedpending+' => '~~',
'Class:UserRequest/Attribute:tto' => 'TTO',
'Class:UserRequest/Attribute:tto+' => '~~',
'Class:UserRequest/Attribute:ttr' => 'TTR',
diff --git a/datamodels/2.x/itop-request-mgmt-itil/ja.dict.itop-request-mgmt-itil.php b/datamodels/2.x/itop-request-mgmt-itil/ja.dict.itop-request-mgmt-itil.php
index abc95271d..d1905cb39 100644
--- a/datamodels/2.x/itop-request-mgmt-itil/ja.dict.itop-request-mgmt-itil.php
+++ b/datamodels/2.x/itop-request-mgmt-itil/ja.dict.itop-request-mgmt-itil.php
@@ -159,8 +159,6 @@ Dict::Add('JA JP', 'Japanese', '日本語', array(
'Class:UserRequest/Attribute:resolution_date+' => '',
'Class:UserRequest/Attribute:last_pending_date' => '最後の保留日',
'Class:UserRequest/Attribute:last_pending_date+' => '',
- 'Class:UserRequest/Attribute:cumulatedpending' => '合計保留',
- 'Class:UserRequest/Attribute:cumulatedpending+' => '',
'Class:UserRequest/Attribute:tto' => 'TTO',
'Class:UserRequest/Attribute:tto+' => '',
'Class:UserRequest/Attribute:ttr' => 'TTR',
diff --git a/datamodels/2.x/itop-request-mgmt-itil/module.itop-request-mgmt-itil.php b/datamodels/2.x/itop-request-mgmt-itil/module.itop-request-mgmt-itil.php
index 83dad511d..38c83194e 100755
--- a/datamodels/2.x/itop-request-mgmt-itil/module.itop-request-mgmt-itil.php
+++ b/datamodels/2.x/itop-request-mgmt-itil/module.itop-request-mgmt-itil.php
@@ -3,7 +3,7 @@
SetupWebPage::AddModule(
__FILE__, // Path to the current file, all other file names are relative to the directory containing this file
- 'itop-request-mgmt-itil/2.7.0',
+ 'itop-request-mgmt-itil/2.8.0',
array(
// Identification
//
diff --git a/datamodels/2.x/itop-request-mgmt-itil/nl.dict.itop-request-mgmt-itil.php b/datamodels/2.x/itop-request-mgmt-itil/nl.dict.itop-request-mgmt-itil.php
index 19e0ea968..3fad185e7 100644
--- a/datamodels/2.x/itop-request-mgmt-itil/nl.dict.itop-request-mgmt-itil.php
+++ b/datamodels/2.x/itop-request-mgmt-itil/nl.dict.itop-request-mgmt-itil.php
@@ -164,8 +164,6 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', array(
'Class:UserRequest/Attribute:resolution_date+' => '',
'Class:UserRequest/Attribute:last_pending_date' => 'Laatste in afwachting op',
'Class:UserRequest/Attribute:last_pending_date+' => '',
- 'Class:UserRequest/Attribute:cumulatedpending' => 'Opgetelde wachttijd',
- 'Class:UserRequest/Attribute:cumulatedpending+' => '',
'Class:UserRequest/Attribute:tto' => 'TTO',
'Class:UserRequest/Attribute:tto+' => '',
'Class:UserRequest/Attribute:ttr' => 'TTR',
diff --git a/datamodels/2.x/itop-request-mgmt-itil/pt_br.dict.itop-request-mgmt-itil.php b/datamodels/2.x/itop-request-mgmt-itil/pt_br.dict.itop-request-mgmt-itil.php
index 36fb44206..f595fc3cc 100644
--- a/datamodels/2.x/itop-request-mgmt-itil/pt_br.dict.itop-request-mgmt-itil.php
+++ b/datamodels/2.x/itop-request-mgmt-itil/pt_br.dict.itop-request-mgmt-itil.php
@@ -161,8 +161,6 @@ Dict::Add('PT BR', 'Brazilian', 'Brazilian', array(
'Class:UserRequest/Attribute:resolution_date+' => '',
'Class:UserRequest/Attribute:last_pending_date' => 'Última data pendente',
'Class:UserRequest/Attribute:last_pending_date+' => '',
- 'Class:UserRequest/Attribute:cumulatedpending' => 'Pendências acumuladas',
- 'Class:UserRequest/Attribute:cumulatedpending+' => '',
'Class:UserRequest/Attribute:tto' => 'TTO',
'Class:UserRequest/Attribute:tto+' => '',
'Class:UserRequest/Attribute:ttr' => 'TTR',
diff --git a/datamodels/2.x/itop-request-mgmt-itil/ru.dict.itop-request-mgmt-itil.php b/datamodels/2.x/itop-request-mgmt-itil/ru.dict.itop-request-mgmt-itil.php
index f2d8ccfd1..2199456e4 100755
--- a/datamodels/2.x/itop-request-mgmt-itil/ru.dict.itop-request-mgmt-itil.php
+++ b/datamodels/2.x/itop-request-mgmt-itil/ru.dict.itop-request-mgmt-itil.php
@@ -148,8 +148,6 @@ Dict::Add('RU RU', 'Russian', 'Русский', array(
'Class:UserRequest/Attribute:resolution_date+' => '',
'Class:UserRequest/Attribute:last_pending_date' => 'Дата последнего ожидания',
'Class:UserRequest/Attribute:last_pending_date+' => '',
- 'Class:UserRequest/Attribute:cumulatedpending' => 'Накопленное ожидание',
- 'Class:UserRequest/Attribute:cumulatedpending+' => '',
'Class:UserRequest/Attribute:tto' => 'TTO',
'Class:UserRequest/Attribute:tto+' => '',
'Class:UserRequest/Attribute:ttr' => 'TTR',
diff --git a/datamodels/2.x/itop-request-mgmt-itil/sk.dict.itop-request-mgmt-itil.php b/datamodels/2.x/itop-request-mgmt-itil/sk.dict.itop-request-mgmt-itil.php
index 53b2869c2..5fb5f9ffe 100644
--- a/datamodels/2.x/itop-request-mgmt-itil/sk.dict.itop-request-mgmt-itil.php
+++ b/datamodels/2.x/itop-request-mgmt-itil/sk.dict.itop-request-mgmt-itil.php
@@ -160,8 +160,6 @@ Dict::Add('SK SK', 'Slovak', 'Slovenčina', array(
'Class:UserRequest/Attribute:resolution_date+' => '',
'Class:UserRequest/Attribute:last_pending_date' => 'Posledný dátum pozdržania',
'Class:UserRequest/Attribute:last_pending_date+' => '',
- 'Class:UserRequest/Attribute:cumulatedpending' => 'Kumulatívne pozdržané',
- 'Class:UserRequest/Attribute:cumulatedpending+' => '',
'Class:UserRequest/Attribute:tto' => 'TTO',
'Class:UserRequest/Attribute:tto+' => '',
'Class:UserRequest/Attribute:ttr' => 'TTR',
diff --git a/datamodels/2.x/itop-request-mgmt-itil/tr.dict.itop-request-mgmt-itil.php b/datamodels/2.x/itop-request-mgmt-itil/tr.dict.itop-request-mgmt-itil.php
index 901224686..1e9a2107f 100644
--- a/datamodels/2.x/itop-request-mgmt-itil/tr.dict.itop-request-mgmt-itil.php
+++ b/datamodels/2.x/itop-request-mgmt-itil/tr.dict.itop-request-mgmt-itil.php
@@ -160,8 +160,6 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
'Class:UserRequest/Attribute:resolution_date+' => '~~',
'Class:UserRequest/Attribute:last_pending_date' => 'Last pending date~~',
'Class:UserRequest/Attribute:last_pending_date+' => '~~',
- 'Class:UserRequest/Attribute:cumulatedpending' => 'cumulatedpending~~',
- 'Class:UserRequest/Attribute:cumulatedpending+' => '~~',
'Class:UserRequest/Attribute:tto' => 'TTO~~',
'Class:UserRequest/Attribute:tto+' => '~~',
'Class:UserRequest/Attribute:ttr' => 'TTR~~',
diff --git a/datamodels/2.x/itop-request-mgmt-itil/zh_cn.dict.itop-request-mgmt-itil.php b/datamodels/2.x/itop-request-mgmt-itil/zh_cn.dict.itop-request-mgmt-itil.php
index f3db0766b..e244861a6 100644
--- a/datamodels/2.x/itop-request-mgmt-itil/zh_cn.dict.itop-request-mgmt-itil.php
+++ b/datamodels/2.x/itop-request-mgmt-itil/zh_cn.dict.itop-request-mgmt-itil.php
@@ -160,8 +160,6 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', array(
'Class:UserRequest/Attribute:resolution_date+' => '',
'Class:UserRequest/Attribute:last_pending_date' => '最后更新',
'Class:UserRequest/Attribute:last_pending_date+' => '',
- 'Class:UserRequest/Attribute:cumulatedpending' => '累计待定',
- 'Class:UserRequest/Attribute:cumulatedpending+' => '',
'Class:UserRequest/Attribute:tto' => '响应时间',
'Class:UserRequest/Attribute:tto+' => '',
'Class:UserRequest/Attribute:ttr' => '解决时间',
diff --git a/datamodels/2.x/itop-request-mgmt/cs.dict.itop-request-mgmt.php b/datamodels/2.x/itop-request-mgmt/cs.dict.itop-request-mgmt.php
index 6256272d9..b9f9d4d95 100755
--- a/datamodels/2.x/itop-request-mgmt/cs.dict.itop-request-mgmt.php
+++ b/datamodels/2.x/itop-request-mgmt/cs.dict.itop-request-mgmt.php
@@ -169,8 +169,6 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', array(
'Class:UserRequest/Attribute:resolution_date+' => '',
'Class:UserRequest/Attribute:last_pending_date' => 'Datum posledního pozastavení',
'Class:UserRequest/Attribute:last_pending_date+' => '',
- 'Class:UserRequest/Attribute:cumulatedpending' => 'Kumulovaná doba pozastavení',
- 'Class:UserRequest/Attribute:cumulatedpending+' => '',
'Class:UserRequest/Attribute:tto' => 'TTO',
'Class:UserRequest/Attribute:tto+' => '',
'Class:UserRequest/Attribute:ttr' => 'TTR',
diff --git a/datamodels/2.x/itop-request-mgmt/da.dict.itop-request-mgmt.php b/datamodels/2.x/itop-request-mgmt/da.dict.itop-request-mgmt.php
index c3fdcb590..76a41bc30 100644
--- a/datamodels/2.x/itop-request-mgmt/da.dict.itop-request-mgmt.php
+++ b/datamodels/2.x/itop-request-mgmt/da.dict.itop-request-mgmt.php
@@ -166,8 +166,6 @@ Dict::Add('DA DA', 'Danish', 'Dansk', array(
'Class:UserRequest/Attribute:resolution_date+' => '',
'Class:UserRequest/Attribute:last_pending_date' => 'Sidste udsættelses dato',
'Class:UserRequest/Attribute:last_pending_date+' => '',
- 'Class:UserRequest/Attribute:cumulatedpending' => 'Akkumuleret nedetid',
- 'Class:UserRequest/Attribute:cumulatedpending+' => '',
'Class:UserRequest/Attribute:tto' => 'TTO (Time To Own)',
'Class:UserRequest/Attribute:tto+' => '',
'Class:UserRequest/Attribute:ttr' => 'TTR (Time To Resolve)',
diff --git a/datamodels/2.x/itop-request-mgmt/de.dict.itop-request-mgmt.php b/datamodels/2.x/itop-request-mgmt/de.dict.itop-request-mgmt.php
index 94b22f38b..831d9d33a 100644
--- a/datamodels/2.x/itop-request-mgmt/de.dict.itop-request-mgmt.php
+++ b/datamodels/2.x/itop-request-mgmt/de.dict.itop-request-mgmt.php
@@ -168,8 +168,6 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
'Class:UserRequest/Attribute:resolution_date+' => '',
'Class:UserRequest/Attribute:last_pending_date' => 'Letztes Auszeit-Datum',
'Class:UserRequest/Attribute:last_pending_date+' => '',
- 'Class:UserRequest/Attribute:cumulatedpending' => 'Kumulierte Auszeit',
- 'Class:UserRequest/Attribute:cumulatedpending+' => '',
'Class:UserRequest/Attribute:tto' => 'TTO (Time To Own)',
'Class:UserRequest/Attribute:tto+' => '',
'Class:UserRequest/Attribute:ttr' => 'TTR (Time To Resolve)',
diff --git a/datamodels/2.x/itop-request-mgmt/en.dict.itop-request-mgmt.php b/datamodels/2.x/itop-request-mgmt/en.dict.itop-request-mgmt.php
index e74b57c23..9536f2d17 100755
--- a/datamodels/2.x/itop-request-mgmt/en.dict.itop-request-mgmt.php
+++ b/datamodels/2.x/itop-request-mgmt/en.dict.itop-request-mgmt.php
@@ -167,8 +167,6 @@ Dict::Add('EN US', 'English', 'English', array(
'Class:UserRequest/Attribute:resolution_date+' => '',
'Class:UserRequest/Attribute:last_pending_date' => 'Last pending date',
'Class:UserRequest/Attribute:last_pending_date+' => '',
- 'Class:UserRequest/Attribute:cumulatedpending' => 'cumulatedpending',
- 'Class:UserRequest/Attribute:cumulatedpending+' => '',
'Class:UserRequest/Attribute:tto' => 'TTO',
'Class:UserRequest/Attribute:tto+' => '',
'Class:UserRequest/Attribute:ttr' => 'TTR',
diff --git a/datamodels/2.x/itop-request-mgmt/es_cr.dict.itop-request-mgmt.php b/datamodels/2.x/itop-request-mgmt/es_cr.dict.itop-request-mgmt.php
index ec9e74af1..f0f94f716 100644
--- a/datamodels/2.x/itop-request-mgmt/es_cr.dict.itop-request-mgmt.php
+++ b/datamodels/2.x/itop-request-mgmt/es_cr.dict.itop-request-mgmt.php
@@ -168,8 +168,6 @@ Dict::Add('ES CR', 'Spanish', 'Español, Castellaño', array(
'Class:UserRequest/Attribute:resolution_date+' => 'Fecha de Solución',
'Class:UserRequest/Attribute:last_pending_date' => 'Última Fecha de Espera',
'Class:UserRequest/Attribute:last_pending_date+' => 'Última Fecha de Espera',
- 'Class:UserRequest/Attribute:cumulatedpending' => 'Espera Acumulada',
- 'Class:UserRequest/Attribute:cumulatedpending+' => 'Espera Acumulada',
'Class:UserRequest/Attribute:tto' => 'TDA - Tiempo de Asignación',
'Class:UserRequest/Attribute:tto+' => 'Tiempo de Asignación',
'Class:UserRequest/Attribute:ttr' => 'TDS - Tiempo de Solución',
diff --git a/datamodels/2.x/itop-request-mgmt/fr.dict.itop-request-mgmt.php b/datamodels/2.x/itop-request-mgmt/fr.dict.itop-request-mgmt.php
index eb922ecc9..7a3a7ff05 100755
--- a/datamodels/2.x/itop-request-mgmt/fr.dict.itop-request-mgmt.php
+++ b/datamodels/2.x/itop-request-mgmt/fr.dict.itop-request-mgmt.php
@@ -168,8 +168,6 @@ Dict::Add('FR FR', 'French', 'Français', array(
'Class:UserRequest/Attribute:resolution_date+' => '',
'Class:UserRequest/Attribute:last_pending_date' => 'Dernière date de suspension',
'Class:UserRequest/Attribute:last_pending_date+' => '',
- 'Class:UserRequest/Attribute:cumulatedpending' => 'Temps cumulé de suspension',
- 'Class:UserRequest/Attribute:cumulatedpending+' => '',
'Class:UserRequest/Attribute:tto' => 'TTO',
'Class:UserRequest/Attribute:tto+' => '',
'Class:UserRequest/Attribute:ttr' => 'TTR',
diff --git a/datamodels/2.x/itop-request-mgmt/hu.dict.itop-request-mgmt.php b/datamodels/2.x/itop-request-mgmt/hu.dict.itop-request-mgmt.php
index 378955385..1cd84c4a4 100644
--- a/datamodels/2.x/itop-request-mgmt/hu.dict.itop-request-mgmt.php
+++ b/datamodels/2.x/itop-request-mgmt/hu.dict.itop-request-mgmt.php
@@ -166,8 +166,6 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:UserRequest/Attribute:resolution_date+' => '~~',
'Class:UserRequest/Attribute:last_pending_date' => 'Last pending date~~',
'Class:UserRequest/Attribute:last_pending_date+' => '~~',
- 'Class:UserRequest/Attribute:cumulatedpending' => 'cumulatedpending~~',
- 'Class:UserRequest/Attribute:cumulatedpending+' => '~~',
'Class:UserRequest/Attribute:tto' => 'TTO~~',
'Class:UserRequest/Attribute:tto+' => '~~',
'Class:UserRequest/Attribute:ttr' => 'TTR~~',
diff --git a/datamodels/2.x/itop-request-mgmt/it.dict.itop-request-mgmt.php b/datamodels/2.x/itop-request-mgmt/it.dict.itop-request-mgmt.php
index 6b3e2936b..13abcbe7e 100644
--- a/datamodels/2.x/itop-request-mgmt/it.dict.itop-request-mgmt.php
+++ b/datamodels/2.x/itop-request-mgmt/it.dict.itop-request-mgmt.php
@@ -166,8 +166,6 @@ Dict::Add('IT IT', 'Italian', 'Italiano', array(
'Class:UserRequest/Attribute:resolution_date+' => '~~',
'Class:UserRequest/Attribute:last_pending_date' => 'Ultima data di messa in attesa',
'Class:UserRequest/Attribute:last_pending_date+' => '~~',
- 'Class:UserRequest/Attribute:cumulatedpending' => 'Messa in attesa cumulativa',
- 'Class:UserRequest/Attribute:cumulatedpending+' => '~~',
'Class:UserRequest/Attribute:tto' => 'TTO',
'Class:UserRequest/Attribute:tto+' => '~~',
'Class:UserRequest/Attribute:ttr' => 'TTR',
diff --git a/datamodels/2.x/itop-request-mgmt/ja.dict.itop-request-mgmt.php b/datamodels/2.x/itop-request-mgmt/ja.dict.itop-request-mgmt.php
index 88509bf95..7f58a8099 100644
--- a/datamodels/2.x/itop-request-mgmt/ja.dict.itop-request-mgmt.php
+++ b/datamodels/2.x/itop-request-mgmt/ja.dict.itop-request-mgmt.php
@@ -165,8 +165,6 @@ Dict::Add('JA JP', 'Japanese', '日本語', array(
'Class:UserRequest/Attribute:resolution_date+' => '',
'Class:UserRequest/Attribute:last_pending_date' => '最終保留日',
'Class:UserRequest/Attribute:last_pending_date+' => '',
- 'Class:UserRequest/Attribute:cumulatedpending' => '累積保留',
- 'Class:UserRequest/Attribute:cumulatedpending+' => '',
'Class:UserRequest/Attribute:tto' => 'TTO',
'Class:UserRequest/Attribute:tto+' => '',
'Class:UserRequest/Attribute:ttr' => 'TTR',
diff --git a/datamodels/2.x/itop-request-mgmt/module.itop-request-mgmt.php b/datamodels/2.x/itop-request-mgmt/module.itop-request-mgmt.php
index ab1f64583..74550ccb6 100755
--- a/datamodels/2.x/itop-request-mgmt/module.itop-request-mgmt.php
+++ b/datamodels/2.x/itop-request-mgmt/module.itop-request-mgmt.php
@@ -3,7 +3,7 @@
SetupWebPage::AddModule(
__FILE__, // Path to the current file, all other file names are relative to the directory containing this file
- 'itop-request-mgmt/2.7.0',
+ 'itop-request-mgmt/2.8.0',
array(
// Identification
//
diff --git a/datamodels/2.x/itop-request-mgmt/nl.dict.itop-request-mgmt.php b/datamodels/2.x/itop-request-mgmt/nl.dict.itop-request-mgmt.php
index 39266fd66..c61fed01a 100644
--- a/datamodels/2.x/itop-request-mgmt/nl.dict.itop-request-mgmt.php
+++ b/datamodels/2.x/itop-request-mgmt/nl.dict.itop-request-mgmt.php
@@ -172,8 +172,6 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', array(
'Class:UserRequest/Attribute:resolution_date+' => '',
'Class:UserRequest/Attribute:last_pending_date' => 'Laatst in afwachting op',
'Class:UserRequest/Attribute:last_pending_date+' => '',
- 'Class:UserRequest/Attribute:cumulatedpending' => 'Opgetelde wachttijd',
- 'Class:UserRequest/Attribute:cumulatedpending+' => '',
'Class:UserRequest/Attribute:tto' => 'TTO',
'Class:UserRequest/Attribute:tto+' => '',
'Class:UserRequest/Attribute:ttr' => 'TTR',
diff --git a/datamodels/2.x/itop-request-mgmt/pt_br.dict.itop-request-mgmt.php b/datamodels/2.x/itop-request-mgmt/pt_br.dict.itop-request-mgmt.php
index a968a04af..52e2fae12 100644
--- a/datamodels/2.x/itop-request-mgmt/pt_br.dict.itop-request-mgmt.php
+++ b/datamodels/2.x/itop-request-mgmt/pt_br.dict.itop-request-mgmt.php
@@ -167,8 +167,6 @@ Dict::Add('PT BR', 'Brazilian', 'Brazilian', array(
'Class:UserRequest/Attribute:resolution_date+' => '',
'Class:UserRequest/Attribute:last_pending_date' => 'Última data pendente',
'Class:UserRequest/Attribute:last_pending_date+' => '',
- 'Class:UserRequest/Attribute:cumulatedpending' => 'Pendências acumuladas',
- 'Class:UserRequest/Attribute:cumulatedpending+' => '',
'Class:UserRequest/Attribute:tto' => 'TTO',
'Class:UserRequest/Attribute:tto+' => '',
'Class:UserRequest/Attribute:ttr' => 'TTR',
diff --git a/datamodels/2.x/itop-request-mgmt/ru.dict.itop-request-mgmt.php b/datamodels/2.x/itop-request-mgmt/ru.dict.itop-request-mgmt.php
index c092291a8..61b4209d5 100755
--- a/datamodels/2.x/itop-request-mgmt/ru.dict.itop-request-mgmt.php
+++ b/datamodels/2.x/itop-request-mgmt/ru.dict.itop-request-mgmt.php
@@ -154,8 +154,6 @@ Dict::Add('RU RU', 'Russian', 'Русский', array(
'Class:UserRequest/Attribute:resolution_date+' => '',
'Class:UserRequest/Attribute:last_pending_date' => 'Дата последнего ожидания',
'Class:UserRequest/Attribute:last_pending_date+' => '',
- 'Class:UserRequest/Attribute:cumulatedpending' => 'Накопленное ожидание',
- 'Class:UserRequest/Attribute:cumulatedpending+' => '',
'Class:UserRequest/Attribute:tto' => 'TTO',
'Class:UserRequest/Attribute:tto+' => '',
'Class:UserRequest/Attribute:ttr' => 'TTR',
diff --git a/datamodels/2.x/itop-request-mgmt/sk.dict.itop-request-mgmt.php b/datamodels/2.x/itop-request-mgmt/sk.dict.itop-request-mgmt.php
index d353a53d1..1139db4ca 100644
--- a/datamodels/2.x/itop-request-mgmt/sk.dict.itop-request-mgmt.php
+++ b/datamodels/2.x/itop-request-mgmt/sk.dict.itop-request-mgmt.php
@@ -166,8 +166,6 @@ Dict::Add('SK SK', 'Slovak', 'Slovenčina', array(
'Class:UserRequest/Attribute:resolution_date+' => '',
'Class:UserRequest/Attribute:last_pending_date' => 'Posledný dátum pozdržania',
'Class:UserRequest/Attribute:last_pending_date+' => '',
- 'Class:UserRequest/Attribute:cumulatedpending' => 'Kumulatívne pozdržané',
- 'Class:UserRequest/Attribute:cumulatedpending+' => '',
'Class:UserRequest/Attribute:tto' => 'TTO',
'Class:UserRequest/Attribute:tto+' => '',
'Class:UserRequest/Attribute:ttr' => 'TTR',
diff --git a/datamodels/2.x/itop-request-mgmt/tr.dict.itop-request-mgmt.php b/datamodels/2.x/itop-request-mgmt/tr.dict.itop-request-mgmt.php
index 44f100cca..76dee340f 100644
--- a/datamodels/2.x/itop-request-mgmt/tr.dict.itop-request-mgmt.php
+++ b/datamodels/2.x/itop-request-mgmt/tr.dict.itop-request-mgmt.php
@@ -166,8 +166,6 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
'Class:UserRequest/Attribute:resolution_date+' => '~~',
'Class:UserRequest/Attribute:last_pending_date' => 'Last pending date~~',
'Class:UserRequest/Attribute:last_pending_date+' => '~~',
- 'Class:UserRequest/Attribute:cumulatedpending' => 'cumulatedpending~~',
- 'Class:UserRequest/Attribute:cumulatedpending+' => '~~',
'Class:UserRequest/Attribute:tto' => 'TTO~~',
'Class:UserRequest/Attribute:tto+' => '~~',
'Class:UserRequest/Attribute:ttr' => 'TTR~~',
diff --git a/datamodels/2.x/itop-request-mgmt/zh_cn.dict.itop-request-mgmt.php b/datamodels/2.x/itop-request-mgmt/zh_cn.dict.itop-request-mgmt.php
index 52a0ce12c..8d64a5e77 100644
--- a/datamodels/2.x/itop-request-mgmt/zh_cn.dict.itop-request-mgmt.php
+++ b/datamodels/2.x/itop-request-mgmt/zh_cn.dict.itop-request-mgmt.php
@@ -166,8 +166,6 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', array(
'Class:UserRequest/Attribute:resolution_date+' => '',
'Class:UserRequest/Attribute:last_pending_date' => '最近待定日期',
'Class:UserRequest/Attribute:last_pending_date+' => '',
- 'Class:UserRequest/Attribute:cumulatedpending' => '累计待定',
- 'Class:UserRequest/Attribute:cumulatedpending+' => '',
'Class:UserRequest/Attribute:tto' => '响应时间',
'Class:UserRequest/Attribute:tto+' => '',
'Class:UserRequest/Attribute:ttr' => '解决时间',
diff --git a/datamodels/2.x/itop-service-mgmt-provider/cs.dict.itop-service-mgmt-provider.php b/datamodels/2.x/itop-service-mgmt-provider/cs.dict.itop-service-mgmt-provider.php
index 98d6dba8a..5786cac52 100755
--- a/datamodels/2.x/itop-service-mgmt-provider/cs.dict.itop-service-mgmt-provider.php
+++ b/datamodels/2.x/itop-service-mgmt-provider/cs.dict.itop-service-mgmt-provider.php
@@ -370,6 +370,7 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', array(
'Class:SLA/Attribute:slts_list+' => 'Všechny cíle úrovně služeb pro tuto dohodu o úrovni služeb',
'Class:SLA/Attribute:customercontracts_list' => 'Smlouvy se zákazníky',
'Class:SLA/Attribute:customercontracts_list+' => 'Všechny smlouvy se zákazníky využívající tuto dohodu o úrovni služeb',
+ 'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
));
//
diff --git a/datamodels/2.x/itop-service-mgmt-provider/da.dict.itop-service-mgmt-provider.php b/datamodels/2.x/itop-service-mgmt-provider/da.dict.itop-service-mgmt-provider.php
index ae3747b72..3848955e4 100644
--- a/datamodels/2.x/itop-service-mgmt-provider/da.dict.itop-service-mgmt-provider.php
+++ b/datamodels/2.x/itop-service-mgmt-provider/da.dict.itop-service-mgmt-provider.php
@@ -358,6 +358,7 @@ Dict::Add('DA DA', 'Danish', 'Dansk', array(
'Class:SLA/Attribute:slts_list+' => '',
'Class:SLA/Attribute:customercontracts_list' => 'Kundekontrakt',
'Class:SLA/Attribute:customercontracts_list+' => '',
+ 'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
));
//
diff --git a/datamodels/2.x/itop-service-mgmt-provider/datamodel.itop-service-mgmt-provider.xml b/datamodels/2.x/itop-service-mgmt-provider/datamodel.itop-service-mgmt-provider.xml
index b91938e34..e623d2689 100755
--- a/datamodels/2.x/itop-service-mgmt-provider/datamodel.itop-service-mgmt-provider.xml
+++ b/datamodels/2.x/itop-service-mgmt-provider/datamodel.itop-service-mgmt-provider.xml
@@ -1627,7 +1627,39 @@ public function PrefillSearchForm(&$aContextParam)
true
-
+
+
+ false
+ public
+ Get("customercontracts_list");
+ foreach ($aCustomerContracts as $sAttCode => $oCustomerContracts)
+ {
+ // Recurse inside the subdirectories
+ $sOql = "SELECT lnkCustomerContractToService AS ccs WHERE ccs.customercontract_id=:customercontract_id AND ccs.service_id=:service_id";
+ $aQueryParams['customercontract_id'] = $oCustomerContracts->Get("customercontract_id");
+ $aQueryParams['service_id'] = $oCustomerContracts->Get("service_id");
+ if ($this->Get("id") != null)
+ {
+ $sOql = $sOql." AND ccs.sla_id!=:sla_id";
+ $aQueryParams['sla_id'] = $this->Get("id");
+ }
+ $oQuery = DBSearch::FromOQL($sOql, $aQueryParams);
+ $oResultSql = new DBObjectSet($oQuery);
+ $oResultSql->OptimizeColumnLoad(['ccs.customercontract_name','ccs.service_name']);
+ if ($aCurrentRow = $oResultSql->Fetch())
+ {
+ $this->m_aCheckIssues[] = Dict::Format('Class:SLA/Error:UniqueLnkCustomerContractToService',$aCurrentRow->Get('customercontract_name'),$aCurrentRow->Get('service_name'));
+ }
+ }
+ }
+ ]]>
+
+
diff --git a/datamodels/2.x/itop-service-mgmt-provider/de.dict.itop-service-mgmt-provider.php b/datamodels/2.x/itop-service-mgmt-provider/de.dict.itop-service-mgmt-provider.php
index ff424fa92..1b44c1d43 100644
--- a/datamodels/2.x/itop-service-mgmt-provider/de.dict.itop-service-mgmt-provider.php
+++ b/datamodels/2.x/itop-service-mgmt-provider/de.dict.itop-service-mgmt-provider.php
@@ -360,6 +360,7 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
'Class:SLA/Attribute:slts_list+' => '',
'Class:SLA/Attribute:customercontracts_list' => 'Kunden-Verträge',
'Class:SLA/Attribute:customercontracts_list+' => '',
+ 'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
));
//
diff --git a/datamodels/2.x/itop-service-mgmt-provider/en.dict.itop-service-mgmt-provider.php b/datamodels/2.x/itop-service-mgmt-provider/en.dict.itop-service-mgmt-provider.php
index 1df7491f6..1f8f5ac9a 100755
--- a/datamodels/2.x/itop-service-mgmt-provider/en.dict.itop-service-mgmt-provider.php
+++ b/datamodels/2.x/itop-service-mgmt-provider/en.dict.itop-service-mgmt-provider.php
@@ -370,6 +370,7 @@ Dict::Add('EN US', 'English', 'English', array(
'Class:SLA/Attribute:slts_list+' => 'All the service level targets for this SLA',
'Class:SLA/Attribute:customercontracts_list' => 'Customer contracts',
'Class:SLA/Attribute:customercontracts_list+' => 'All the customer contracts using this SLA',
+ 'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists',
));
//
diff --git a/datamodels/2.x/itop-service-mgmt-provider/es_cr.dict.itop-service-mgmt-provider.php b/datamodels/2.x/itop-service-mgmt-provider/es_cr.dict.itop-service-mgmt-provider.php
index 2554e622f..ee2dead72 100644
--- a/datamodels/2.x/itop-service-mgmt-provider/es_cr.dict.itop-service-mgmt-provider.php
+++ b/datamodels/2.x/itop-service-mgmt-provider/es_cr.dict.itop-service-mgmt-provider.php
@@ -369,6 +369,7 @@ Dict::Add('ES CR', 'Spanish', 'Español, Castellaño', array(
'Class:SLA/Attribute:slts_list+' => 'Objetivos de Nivel de Servicio',
'Class:SLA/Attribute:customercontracts_list' => 'Acuerdos con Clientes',
'Class:SLA/Attribute:customercontracts_list+' => 'Acuerdos con Clientes',
+ 'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
));
//
diff --git a/datamodels/2.x/itop-service-mgmt-provider/fr.dict.itop-service-mgmt-provider.php b/datamodels/2.x/itop-service-mgmt-provider/fr.dict.itop-service-mgmt-provider.php
index d6dd37589..c26b9174d 100755
--- a/datamodels/2.x/itop-service-mgmt-provider/fr.dict.itop-service-mgmt-provider.php
+++ b/datamodels/2.x/itop-service-mgmt-provider/fr.dict.itop-service-mgmt-provider.php
@@ -360,6 +360,7 @@ Dict::Add('FR FR', 'French', 'Français', array(
'Class:SLA/Attribute:slts_list+' => '',
'Class:SLA/Attribute:customercontracts_list' => 'Contrats clients',
'Class:SLA/Attribute:customercontracts_list+' => '',
+ 'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Impossible de sauvegarder le lien avec le contrat client %1$s et le service %2$s : un SLA existe déjà.',
));
//
diff --git a/datamodels/2.x/itop-service-mgmt-provider/hu.dict.itop-service-mgmt-provider.php b/datamodels/2.x/itop-service-mgmt-provider/hu.dict.itop-service-mgmt-provider.php
index 047e793c8..1e6d17999 100644
--- a/datamodels/2.x/itop-service-mgmt-provider/hu.dict.itop-service-mgmt-provider.php
+++ b/datamodels/2.x/itop-service-mgmt-provider/hu.dict.itop-service-mgmt-provider.php
@@ -367,6 +367,7 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:SLA/Attribute:slts_list+' => 'All the service level targets for this SLA~~',
'Class:SLA/Attribute:customercontracts_list' => 'Customer contracts~~',
'Class:SLA/Attribute:customercontracts_list+' => 'All the customer contracts using this SLA~~',
+ 'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
));
//
diff --git a/datamodels/2.x/itop-service-mgmt-provider/it.dict.itop-service-mgmt-provider.php b/datamodels/2.x/itop-service-mgmt-provider/it.dict.itop-service-mgmt-provider.php
index 5d99ac107..4a788755a 100644
--- a/datamodels/2.x/itop-service-mgmt-provider/it.dict.itop-service-mgmt-provider.php
+++ b/datamodels/2.x/itop-service-mgmt-provider/it.dict.itop-service-mgmt-provider.php
@@ -367,6 +367,7 @@ Dict::Add('IT IT', 'Italian', 'Italiano', array(
'Class:SLA/Attribute:slts_list+' => 'All the service level targets for this SLA~~',
'Class:SLA/Attribute:customercontracts_list' => 'Customer contracts~~',
'Class:SLA/Attribute:customercontracts_list+' => 'All the customer contracts using this SLA~~',
+ 'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
));
//
diff --git a/datamodels/2.x/itop-service-mgmt-provider/ja.dict.itop-service-mgmt-provider.php b/datamodels/2.x/itop-service-mgmt-provider/ja.dict.itop-service-mgmt-provider.php
index d53a20d5c..e374106bd 100644
--- a/datamodels/2.x/itop-service-mgmt-provider/ja.dict.itop-service-mgmt-provider.php
+++ b/datamodels/2.x/itop-service-mgmt-provider/ja.dict.itop-service-mgmt-provider.php
@@ -357,6 +357,7 @@ Dict::Add('JA JP', 'Japanese', '日本語', array(
'Class:SLA/Attribute:slts_list+' => '',
'Class:SLA/Attribute:customercontracts_list' => '顧客契約',
'Class:SLA/Attribute:customercontracts_list+' => '',
+ 'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
));
//
diff --git a/datamodels/2.x/itop-service-mgmt-provider/module.itop-service-mgmt-provider.php b/datamodels/2.x/itop-service-mgmt-provider/module.itop-service-mgmt-provider.php
index 7b4c8588d..9df9fe668 100755
--- a/datamodels/2.x/itop-service-mgmt-provider/module.itop-service-mgmt-provider.php
+++ b/datamodels/2.x/itop-service-mgmt-provider/module.itop-service-mgmt-provider.php
@@ -3,7 +3,7 @@
SetupWebPage::AddModule(
__FILE__, // Path to the current file, all other file names are relative to the directory containing this file
- 'itop-service-mgmt-provider/2.7.0',
+ 'itop-service-mgmt-provider/2.8.0',
array(
// Identification
//
diff --git a/datamodels/2.x/itop-service-mgmt-provider/nl.dict.itop-service-mgmt-provider.php b/datamodels/2.x/itop-service-mgmt-provider/nl.dict.itop-service-mgmt-provider.php
index f1f633160..8fcedfc86 100644
--- a/datamodels/2.x/itop-service-mgmt-provider/nl.dict.itop-service-mgmt-provider.php
+++ b/datamodels/2.x/itop-service-mgmt-provider/nl.dict.itop-service-mgmt-provider.php
@@ -372,6 +372,7 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', array(
'Class:SLA/Attribute:slts_list+' => 'Alle servicelevel-doelstellingen voor deze SLA',
'Class:SLA/Attribute:customercontracts_list' => 'Klantencontracten',
'Class:SLA/Attribute:customercontracts_list+' => 'Alle klantencontracten die gebruik maken van deze SLA',
+ 'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
));
//
diff --git a/datamodels/2.x/itop-service-mgmt-provider/pt_br.dict.itop-service-mgmt-provider.php b/datamodels/2.x/itop-service-mgmt-provider/pt_br.dict.itop-service-mgmt-provider.php
index 3550fceb5..a00b591a4 100644
--- a/datamodels/2.x/itop-service-mgmt-provider/pt_br.dict.itop-service-mgmt-provider.php
+++ b/datamodels/2.x/itop-service-mgmt-provider/pt_br.dict.itop-service-mgmt-provider.php
@@ -368,6 +368,7 @@ Dict::Add('PT BR', 'Brazilian', 'Brazilian', array(
'Class:SLA/Attribute:slts_list+' => 'Todos os SLTs para essa SLA',
'Class:SLA/Attribute:customercontracts_list' => 'Contratos clientes',
'Class:SLA/Attribute:customercontracts_list+' => 'Todos os contratos de clientes utilizando essa SLA',
+ 'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
));
//
diff --git a/datamodels/2.x/itop-service-mgmt-provider/ru.dict.itop-service-mgmt-provider.php b/datamodels/2.x/itop-service-mgmt-provider/ru.dict.itop-service-mgmt-provider.php
index 1d7d8ca2d..f87cac961 100755
--- a/datamodels/2.x/itop-service-mgmt-provider/ru.dict.itop-service-mgmt-provider.php
+++ b/datamodels/2.x/itop-service-mgmt-provider/ru.dict.itop-service-mgmt-provider.php
@@ -346,6 +346,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', array(
'Class:SLA/Attribute:slts_list+' => 'Целевой показатель уровня услуги (Service Level Target)',
'Class:SLA/Attribute:customercontracts_list' => 'Договоры с заказчиками',
'Class:SLA/Attribute:customercontracts_list+' => 'Договоры с заказчиками, в которых используется SLA',
+ 'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
));
//
diff --git a/datamodels/2.x/itop-service-mgmt-provider/sk.dict.itop-service-mgmt-provider.php b/datamodels/2.x/itop-service-mgmt-provider/sk.dict.itop-service-mgmt-provider.php
index 8fb35f4db..80e3283ed 100644
--- a/datamodels/2.x/itop-service-mgmt-provider/sk.dict.itop-service-mgmt-provider.php
+++ b/datamodels/2.x/itop-service-mgmt-provider/sk.dict.itop-service-mgmt-provider.php
@@ -367,6 +367,7 @@ Dict::Add('SK SK', 'Slovak', 'Slovenčina', array(
'Class:SLA/Attribute:slts_list+' => '',
'Class:SLA/Attribute:customercontracts_list' => 'Zákaznícke zmluvy',
'Class:SLA/Attribute:customercontracts_list+' => '',
+ 'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
));
//
diff --git a/datamodels/2.x/itop-service-mgmt-provider/tr.dict.itop-service-mgmt-provider.php b/datamodels/2.x/itop-service-mgmt-provider/tr.dict.itop-service-mgmt-provider.php
index a519e3713..b1249b1cf 100644
--- a/datamodels/2.x/itop-service-mgmt-provider/tr.dict.itop-service-mgmt-provider.php
+++ b/datamodels/2.x/itop-service-mgmt-provider/tr.dict.itop-service-mgmt-provider.php
@@ -367,6 +367,7 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
'Class:SLA/Attribute:slts_list+' => 'All the service level targets for this SLA~~',
'Class:SLA/Attribute:customercontracts_list' => 'Customer contracts~~',
'Class:SLA/Attribute:customercontracts_list+' => 'All the customer contracts using this SLA~~',
+ 'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
));
//
diff --git a/datamodels/2.x/itop-service-mgmt-provider/zh_cn.dict.itop-service-mgmt-provider.php b/datamodels/2.x/itop-service-mgmt-provider/zh_cn.dict.itop-service-mgmt-provider.php
index 804d411e0..1db05a1bf 100644
--- a/datamodels/2.x/itop-service-mgmt-provider/zh_cn.dict.itop-service-mgmt-provider.php
+++ b/datamodels/2.x/itop-service-mgmt-provider/zh_cn.dict.itop-service-mgmt-provider.php
@@ -367,6 +367,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', array(
'Class:SLA/Attribute:slts_list+' => '该SLA 包含的所有服务等级目标',
'Class:SLA/Attribute:customercontracts_list' => '客户合同',
'Class:SLA/Attribute:customercontracts_list+' => '使用该SLA 的所有客户合同',
+ 'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
));
//
diff --git a/datamodels/2.x/itop-service-mgmt/cs.dict.itop-service-mgmt.php b/datamodels/2.x/itop-service-mgmt/cs.dict.itop-service-mgmt.php
index 0c3f2fcf9..687513852 100755
--- a/datamodels/2.x/itop-service-mgmt/cs.dict.itop-service-mgmt.php
+++ b/datamodels/2.x/itop-service-mgmt/cs.dict.itop-service-mgmt.php
@@ -360,6 +360,7 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', array(
'Class:SLA/Attribute:slts_list+' => 'Všechny cíle úrovně služeb pro tuto dohodu o úrovni služeb',
'Class:SLA/Attribute:customercontracts_list' => 'Smlouvy se zákazníky',
'Class:SLA/Attribute:customercontracts_list+' => 'Všechny smlouvy se zákazníky využívající tuto dohodu o úrovni služeb',
+ 'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
));
//
diff --git a/datamodels/2.x/itop-service-mgmt/da.dict.itop-service-mgmt.php b/datamodels/2.x/itop-service-mgmt/da.dict.itop-service-mgmt.php
index d8ab156c2..38e9142ae 100644
--- a/datamodels/2.x/itop-service-mgmt/da.dict.itop-service-mgmt.php
+++ b/datamodels/2.x/itop-service-mgmt/da.dict.itop-service-mgmt.php
@@ -348,6 +348,7 @@ Dict::Add('DA DA', 'Danish', 'Dansk', array(
'Class:SLA/Attribute:slts_list+' => 'Service Level Threshholds:',
'Class:SLA/Attribute:customercontracts_list' => 'Kunde kontrakter',
'Class:SLA/Attribute:customercontracts_list+' => '',
+ 'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
));
//
diff --git a/datamodels/2.x/itop-service-mgmt/datamodel.itop-service-mgmt.xml b/datamodels/2.x/itop-service-mgmt/datamodel.itop-service-mgmt.xml
index 2bc52b711..20aa4680c 100755
--- a/datamodels/2.x/itop-service-mgmt/datamodel.itop-service-mgmt.xml
+++ b/datamodels/2.x/itop-service-mgmt/datamodel.itop-service-mgmt.xml
@@ -1621,7 +1621,39 @@ public function PrefillSearchForm(&$aContextParam)
true
-
+
+
+ false
+ public
+ Get("customercontracts_list");
+ foreach ($aCustomerContracts as $sAttCode => $oCustomerContracts)
+ {
+ // Recurse inside the subdirectories
+ $sOql = "SELECT lnkCustomerContractToService AS ccs WHERE ccs.customercontract_id=:customercontract_id AND ccs.service_id=:service_id";
+ $aQueryParams['customercontract_id'] = $oCustomerContracts->Get("customercontract_id");
+ $aQueryParams['service_id'] = $oCustomerContracts->Get("service_id");
+ if ($this->Get("id") != null)
+ {
+ $sOql = $sOql." AND ccs.sla_id!=:sla_id";
+ $aQueryParams['sla_id'] = $this->Get("id");
+ }
+ $oQuery = DBSearch::FromOQL($sOql, $aQueryParams);
+ $oResultSql = new DBObjectSet($oQuery);
+ $oResultSql->OptimizeColumnLoad(['ccs.customercontract_name','ccs.service_name']);
+ if ($aCurrentRow = $oResultSql->Fetch())
+ {
+ $this->m_aCheckIssues[] = Dict::Format('Class:SLA/Error:UniqueLnkCustomerContractToService',$aCurrentRow->Get('customercontract_name'),$aCurrentRow->Get('service_name'));
+ }
+ }
+ }
+ ]]>
+
+
diff --git a/datamodels/2.x/itop-service-mgmt/de.dict.itop-service-mgmt.php b/datamodels/2.x/itop-service-mgmt/de.dict.itop-service-mgmt.php
index 9cff6e75f..a1af52d22 100755
--- a/datamodels/2.x/itop-service-mgmt/de.dict.itop-service-mgmt.php
+++ b/datamodels/2.x/itop-service-mgmt/de.dict.itop-service-mgmt.php
@@ -350,6 +350,7 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
'Class:SLA/Attribute:slts_list+' => 'Service Level Targets:',
'Class:SLA/Attribute:customercontracts_list' => 'Kunden-Verträge',
'Class:SLA/Attribute:customercontracts_list+' => '',
+ 'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
));
//
diff --git a/datamodels/2.x/itop-service-mgmt/en.dict.itop-service-mgmt.php b/datamodels/2.x/itop-service-mgmt/en.dict.itop-service-mgmt.php
index f63362e80..478eb9357 100755
--- a/datamodels/2.x/itop-service-mgmt/en.dict.itop-service-mgmt.php
+++ b/datamodels/2.x/itop-service-mgmt/en.dict.itop-service-mgmt.php
@@ -360,6 +360,7 @@ Dict::Add('EN US', 'English', 'English', array(
'Class:SLA/Attribute:slts_list+' => 'All the service level targets for this SLA',
'Class:SLA/Attribute:customercontracts_list' => 'Customer contracts',
'Class:SLA/Attribute:customercontracts_list+' => 'All the customer contracts using this SLA',
+ 'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists',
));
//
diff --git a/datamodels/2.x/itop-service-mgmt/es_cr.dict.itop-service-mgmt.php b/datamodels/2.x/itop-service-mgmt/es_cr.dict.itop-service-mgmt.php
index cfff7f8a1..af6a1f187 100755
--- a/datamodels/2.x/itop-service-mgmt/es_cr.dict.itop-service-mgmt.php
+++ b/datamodels/2.x/itop-service-mgmt/es_cr.dict.itop-service-mgmt.php
@@ -359,6 +359,7 @@ Dict::Add('ES CR', 'Spanish', 'Español, Castellaño', array(
'Class:SLA/Attribute:slts_list+' => 'Objetivos de Nivel de Servicio',
'Class:SLA/Attribute:customercontracts_list' => 'Acuerdos con Clientes',
'Class:SLA/Attribute:customercontracts_list+' => 'Acuerdos con Clientes',
+ 'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
));
//
diff --git a/datamodels/2.x/itop-service-mgmt/fr.dict.itop-service-mgmt.php b/datamodels/2.x/itop-service-mgmt/fr.dict.itop-service-mgmt.php
index aff3f1944..99bd14b07 100755
--- a/datamodels/2.x/itop-service-mgmt/fr.dict.itop-service-mgmt.php
+++ b/datamodels/2.x/itop-service-mgmt/fr.dict.itop-service-mgmt.php
@@ -350,6 +350,7 @@ Dict::Add('FR FR', 'French', 'Français', array(
'Class:SLA/Attribute:slts_list+' => '',
'Class:SLA/Attribute:customercontracts_list' => 'Contrats clients',
'Class:SLA/Attribute:customercontracts_list+' => '',
+ 'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Impossible de sauvegarder le lien avec le contrat client %1$s et le service %2$s : un SLA existe déjà.',
));
//
diff --git a/datamodels/2.x/itop-service-mgmt/hu.dict.itop-service-mgmt.php b/datamodels/2.x/itop-service-mgmt/hu.dict.itop-service-mgmt.php
index 747f67477..104f885c6 100755
--- a/datamodels/2.x/itop-service-mgmt/hu.dict.itop-service-mgmt.php
+++ b/datamodels/2.x/itop-service-mgmt/hu.dict.itop-service-mgmt.php
@@ -347,6 +347,7 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:SLA/Attribute:slts_list+' => 'All the service level targets for this SLA~~',
'Class:SLA/Attribute:customercontracts_list' => 'Customer contracts~~',
'Class:SLA/Attribute:customercontracts_list+' => 'All the customer contracts using this SLA~~',
+ 'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
));
//
diff --git a/datamodels/2.x/itop-service-mgmt/it.dict.itop-service-mgmt.php b/datamodels/2.x/itop-service-mgmt/it.dict.itop-service-mgmt.php
index 1edd94a09..a05f3f34d 100755
--- a/datamodels/2.x/itop-service-mgmt/it.dict.itop-service-mgmt.php
+++ b/datamodels/2.x/itop-service-mgmt/it.dict.itop-service-mgmt.php
@@ -358,6 +358,7 @@ Dict::Add('IT IT', 'Italian', 'Italiano', array(
'Class:SLA/Attribute:slts_list+' => 'All the service level targets for this SLA~~',
'Class:SLA/Attribute:customercontracts_list' => 'Customer contracts~~',
'Class:SLA/Attribute:customercontracts_list+' => 'All the customer contracts using this SLA~~',
+ 'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
));
//
diff --git a/datamodels/2.x/itop-service-mgmt/ja.dict.itop-service-mgmt.php b/datamodels/2.x/itop-service-mgmt/ja.dict.itop-service-mgmt.php
index 6d0cb21c9..cc3f652dc 100755
--- a/datamodels/2.x/itop-service-mgmt/ja.dict.itop-service-mgmt.php
+++ b/datamodels/2.x/itop-service-mgmt/ja.dict.itop-service-mgmt.php
@@ -347,6 +347,7 @@ Dict::Add('JA JP', 'Japanese', '日本語', array(
'Class:SLA/Attribute:slts_list+' => '',
'Class:SLA/Attribute:customercontracts_list' => '顧客連絡先',
'Class:SLA/Attribute:customercontracts_list+' => '',
+ 'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
));
//
diff --git a/datamodels/2.x/itop-service-mgmt/module.itop-service-mgmt.php b/datamodels/2.x/itop-service-mgmt/module.itop-service-mgmt.php
index 3fac59cc0..4ca0f7e42 100755
--- a/datamodels/2.x/itop-service-mgmt/module.itop-service-mgmt.php
+++ b/datamodels/2.x/itop-service-mgmt/module.itop-service-mgmt.php
@@ -3,7 +3,7 @@
SetupWebPage::AddModule(
__FILE__, // Path to the current file, all other file names are relative to the directory containing this file
- 'itop-service-mgmt/2.7.0',
+ 'itop-service-mgmt/2.8.0',
array(
// Identification
//
diff --git a/datamodels/2.x/itop-service-mgmt/nl.dict.itop-service-mgmt.php b/datamodels/2.x/itop-service-mgmt/nl.dict.itop-service-mgmt.php
index c0ae8fd99..fc7db7ee8 100644
--- a/datamodels/2.x/itop-service-mgmt/nl.dict.itop-service-mgmt.php
+++ b/datamodels/2.x/itop-service-mgmt/nl.dict.itop-service-mgmt.php
@@ -362,6 +362,7 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', array(
'Class:SLA/Attribute:slts_list+' => 'Alle servicelevel-doelstellingen voor deze SLA',
'Class:SLA/Attribute:customercontracts_list' => 'Klantencontracten',
'Class:SLA/Attribute:customercontracts_list+' => 'Alle klantencontracten die gebruik maken van deze SLA',
+ 'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
));
//
diff --git a/datamodels/2.x/itop-service-mgmt/pt_br.dict.itop-service-mgmt.php b/datamodels/2.x/itop-service-mgmt/pt_br.dict.itop-service-mgmt.php
index 99cc68a4d..852062ed5 100755
--- a/datamodels/2.x/itop-service-mgmt/pt_br.dict.itop-service-mgmt.php
+++ b/datamodels/2.x/itop-service-mgmt/pt_br.dict.itop-service-mgmt.php
@@ -358,6 +358,7 @@ Dict::Add('PT BR', 'Brazilian', 'Brazilian', array(
'Class:SLA/Attribute:slts_list+' => 'Todos os SLTs para essa SLA',
'Class:SLA/Attribute:customercontracts_list' => 'Contratos clientes',
'Class:SLA/Attribute:customercontracts_list+' => 'Todos os contratos de clientes utilizando essa SLA',
+ 'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
));
//
diff --git a/datamodels/2.x/itop-service-mgmt/ru.dict.itop-service-mgmt.php b/datamodels/2.x/itop-service-mgmt/ru.dict.itop-service-mgmt.php
index 94b96ae87..bdb29ee52 100755
--- a/datamodels/2.x/itop-service-mgmt/ru.dict.itop-service-mgmt.php
+++ b/datamodels/2.x/itop-service-mgmt/ru.dict.itop-service-mgmt.php
@@ -336,6 +336,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', array(
'Class:SLA/Attribute:slts_list+' => 'Целевые показатели уровня услуги (Service Level Target)',
'Class:SLA/Attribute:customercontracts_list' => 'Договоры с заказчиками',
'Class:SLA/Attribute:customercontracts_list+' => 'Договоры с заказчиками, в которых используется SLA',
+ 'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
));
//
diff --git a/datamodels/2.x/itop-service-mgmt/sk.dict.itop-service-mgmt.php b/datamodels/2.x/itop-service-mgmt/sk.dict.itop-service-mgmt.php
index f1d019f57..668d43566 100644
--- a/datamodels/2.x/itop-service-mgmt/sk.dict.itop-service-mgmt.php
+++ b/datamodels/2.x/itop-service-mgmt/sk.dict.itop-service-mgmt.php
@@ -357,6 +357,7 @@ Dict::Add('SK SK', 'Slovak', 'Slovenčina', array(
'Class:SLA/Attribute:slts_list+' => '',
'Class:SLA/Attribute:customercontracts_list' => 'Zákaznícke zmluvy',
'Class:SLA/Attribute:customercontracts_list+' => '',
+ 'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
));
//
diff --git a/datamodels/2.x/itop-service-mgmt/tr.dict.itop-service-mgmt.php b/datamodels/2.x/itop-service-mgmt/tr.dict.itop-service-mgmt.php
index a9955073b..a9f5ae313 100755
--- a/datamodels/2.x/itop-service-mgmt/tr.dict.itop-service-mgmt.php
+++ b/datamodels/2.x/itop-service-mgmt/tr.dict.itop-service-mgmt.php
@@ -359,6 +359,7 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
'Class:SLA/Attribute:slts_list+' => 'All the service level targets for this SLA~~',
'Class:SLA/Attribute:customercontracts_list' => 'Customer contracts~~',
'Class:SLA/Attribute:customercontracts_list+' => 'All the customer contracts using this SLA~~',
+ 'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
));
//
diff --git a/datamodels/2.x/itop-service-mgmt/zh_cn.dict.itop-service-mgmt.php b/datamodels/2.x/itop-service-mgmt/zh_cn.dict.itop-service-mgmt.php
index c58fb5217..b0562e714 100755
--- a/datamodels/2.x/itop-service-mgmt/zh_cn.dict.itop-service-mgmt.php
+++ b/datamodels/2.x/itop-service-mgmt/zh_cn.dict.itop-service-mgmt.php
@@ -357,6 +357,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', array(
'Class:SLA/Attribute:slts_list+' => '该SLA 包含的所有服务等级目标',
'Class:SLA/Attribute:customercontracts_list' => '客户合同',
'Class:SLA/Attribute:customercontracts_list+' => '使用这个SLA 的所有客户合同',
+ 'Class:SLA/Error:UniqueLnkCustomerContractToService' => 'Could not save link with Customer contract %1$s and service %2$s : SLA already exists~~',
));
//
diff --git a/datamodels/2.x/itop-sla-computation/module.itop-sla-computation.php b/datamodels/2.x/itop-sla-computation/module.itop-sla-computation.php
index 35bda14e0..c1f0829c9 100755
--- a/datamodels/2.x/itop-sla-computation/module.itop-sla-computation.php
+++ b/datamodels/2.x/itop-sla-computation/module.itop-sla-computation.php
@@ -18,7 +18,7 @@
SetupWebPage::AddModule(
__FILE__, // Path to the current file, all other file names are relative to the directory containing this file
- 'itop-sla-computation/2.7.0',
+ 'itop-sla-computation/2.8.0',
array(
// Identification
//
diff --git a/datamodels/2.x/itop-storage-mgmt/datamodel.itop-storage-mgmt.xml b/datamodels/2.x/itop-storage-mgmt/datamodel.itop-storage-mgmt.xml
index 3ea014dae..b7f24aaaf 100644
--- a/datamodels/2.x/itop-storage-mgmt/datamodel.itop-storage-mgmt.xml
+++ b/datamodels/2.x/itop-storage-mgmt/datamodel.itop-storage-mgmt.xml
@@ -240,18 +240,7 @@
-
-
- /**
- * Placeholder for backward compatibility (iTop <= 2.1.0)
- * in case an extension attempts to redefine this function...
- */
- true
- public
- Overload-DBObject
-
-
-
+
@@ -498,18 +487,7 @@
-
-
- /**
- * Placeholder for backward compatibility (iTop <= 2.1.0)
- * in case an extension attempts to redefine this function...
- */
- true
- public
- Overload-DBObject
-
-
-
+
@@ -756,18 +734,7 @@
-
-
- /**
- * Placeholder for backward compatibility (iTop <= 2.1.0)
- * in case an extension attempts to redefine this function...
- */
- true
- public
- Overload-DBObject
-
-
-
+
@@ -1014,18 +981,7 @@
-
-
- /**
- * Placeholder for backward compatibility (iTop <= 2.1.0)
- * in case an extension attempts to redefine this function...
- */
- true
- public
- Overload-DBObject
-
-
-
+
@@ -1127,18 +1083,7 @@
-
-
- /**
- * Placeholder for backward compatibility (iTop <= 2.1.0)
- * in case an extension attempts to redefine this function...
- */
- true
- public
- Overload-DBObject
-
-
-
+
cmdbAbstractObject
@@ -1245,18 +1190,7 @@
-
-
- /**
- * Placeholder for backward compatibility (iTop <= 2.1.0)
- * in case an extension attempts to redefine this function...
- */
- true
- public
- Overload-DBObject
-
-
-
+
NetworkInterface
@@ -1511,18 +1445,7 @@
-
-
- /**
- * Placeholder for backward compatibility (iTop <= 2.1.0)
- * in case an extension attempts to redefine this function...
- */
- true
- public
- Overload-DBObject
-
-
-
+
diff --git a/datamodels/2.x/itop-storage-mgmt/module.itop-storage-mgmt.php b/datamodels/2.x/itop-storage-mgmt/module.itop-storage-mgmt.php
index 5487af8d0..a49cc7135 100644
--- a/datamodels/2.x/itop-storage-mgmt/module.itop-storage-mgmt.php
+++ b/datamodels/2.x/itop-storage-mgmt/module.itop-storage-mgmt.php
@@ -25,7 +25,7 @@
SetupWebPage::AddModule(
__FILE__, // Path to the current file, all other file names are relative to the directory containing this file
- 'itop-storage-mgmt/2.7.0',
+ 'itop-storage-mgmt/2.8.0',
array(
// Identification
//
diff --git a/datamodels/2.x/itop-tickets/datamodel.itop-tickets.xml b/datamodels/2.x/itop-tickets/datamodel.itop-tickets.xml
index 0fd72e1d5..98cbc3ab6 100755
--- a/datamodels/2.x/itop-tickets/datamodel.itop-tickets.xml
+++ b/datamodels/2.x/itop-tickets/datamodel.itop-tickets.xml
@@ -806,217 +806,6 @@
-
-
-
-
-
- attcode
- true
-
- deny
-
-
-
-
-
-
-
-
-
-
-
-
- string
- true
-
-
-
-
-
-
- attcode
- true
-
- deny
-
-
-
-
-
-
-
-
-
-
-
-
- string
- true
-
-
-
-
-
-
- attcode
- true
-
- allow
-
-
-
-
-
-
-
-
-
-
-
-
- attcode
- true
-
- allow
-
-
-
-
-
-
-
-
-
-
-
-
- attcode
- true
-
- allow
-
-
-
-
-
-
-
-
-
-
-
-
- attcode
- true
-
- allow
-
-
-
-
-
-
- attcode
- true
-
- allow
-
-
-
-
-
-
-
- string
- false
-
-
-
-
-
-
- attcode
- true
-
- deny
-
-
-
-
-
-
-
-
-
-
-
-
- attcode
- true
-
- allow
-
-
-
-
-
-
-
-
-
-
- attcode
- true
-
- deny
-
-
-
-
-
-
-
-
- attcode
- true
-
-
-
-
-
-
- string
- true
-
-
-
-
-
-
- reference
- true
-
-
-
-
-
-
- reference
- true
-
-
-
-
-
-
- reference
- true
-
-
-
-
-
diff --git a/datamodels/2.x/itop-tickets/module.itop-tickets.php b/datamodels/2.x/itop-tickets/module.itop-tickets.php
index 4be3a3d22..c6fe4c42f 100755
--- a/datamodels/2.x/itop-tickets/module.itop-tickets.php
+++ b/datamodels/2.x/itop-tickets/module.itop-tickets.php
@@ -3,7 +3,7 @@
SetupWebPage::AddModule(
__FILE__,
- 'itop-tickets/2.7.0',
+ 'itop-tickets/2.8.0',
array(
// Identification
//
diff --git a/datamodels/2.x/itop-virtualization-mgmt/datamodel.itop-virtualization-mgmt.xml b/datamodels/2.x/itop-virtualization-mgmt/datamodel.itop-virtualization-mgmt.xml
index b2ab32f2c..30a137c50 100644
--- a/datamodels/2.x/itop-virtualization-mgmt/datamodel.itop-virtualization-mgmt.xml
+++ b/datamodels/2.x/itop-virtualization-mgmt/datamodel.itop-virtualization-mgmt.xml
@@ -235,18 +235,7 @@
-
-
- /**
- * Placeholder for backward compatibility (iTop <= 2.1.0)
- * in case an extension attempts to redefine this function...
- */
- true
- public
- Overload-DBObject
-
-
-
+
@@ -394,18 +383,7 @@
-
-
- /**
- * Placeholder for backward compatibility (iTop <= 2.1.0)
- * in case an extension attempts to redefine this function...
- */
- true
- public
- Overload-DBObject
-
-
-
+
@@ -540,18 +518,7 @@
-
-
- /**
- * Placeholder for backward compatibility (iTop <= 2.1.0)
- * in case an extension attempts to redefine this function...
- */
- true
- public
- Overload-DBObject
-
-
-
+
VirtualDevice
@@ -783,18 +750,7 @@
-
-
- /**
- * Placeholder for backward compatibility (iTop <= 2.1.0)
- * in case an extension attempts to redefine this function...
- */
- true
- public
- Overload-DBObject
-
-
-
+
IPInterface
diff --git a/datamodels/2.x/itop-virtualization-mgmt/module.itop-virtualization-mgmt.php b/datamodels/2.x/itop-virtualization-mgmt/module.itop-virtualization-mgmt.php
index 9aa9ec868..061a5c423 100644
--- a/datamodels/2.x/itop-virtualization-mgmt/module.itop-virtualization-mgmt.php
+++ b/datamodels/2.x/itop-virtualization-mgmt/module.itop-virtualization-mgmt.php
@@ -16,7 +16,7 @@
SetupWebPage::AddModule(
__FILE__, // Path to the current file, all other file names are relative to the directory containing this file
- 'itop-virtualization-mgmt/2.7.0',
+ 'itop-virtualization-mgmt/2.8.0',
array(
// Identification
//
diff --git a/datamodels/2.x/itop-welcome-itil/cs.dict.itop-welcome-itil.php b/datamodels/2.x/itop-welcome-itil/cs.dict.itop-welcome-itil.php
index 8329ccdf8..67b9532db 100755
--- a/datamodels/2.x/itop-welcome-itil/cs.dict.itop-welcome-itil.php
+++ b/datamodels/2.x/itop-welcome-itil/cs.dict.itop-welcome-itil.php
@@ -23,77 +23,4 @@
* @copyright Copyright (C) 2010-2014 Combodo SARL
* @license http://opensource.org/licenses/AGPL-3.0
*/
-Dict::Add('CS CZ', 'Czech', 'Čeština', array(
- 'Menu:DataSources' => 'Zdroje dat pro synchronizaci',
- 'Menu:DataSources+' => 'Všechny zdroje dat pro synchronizaci',
- 'Menu:WelcomeMenu' => 'Vítejte',
- 'Menu:WelcomeMenu+' => 'Vítejte v iTop',
- 'Menu:WelcomeMenuPage' => 'Vítejte',
- 'Menu:WelcomeMenuPage+' => 'Vítejte v iTop',
- 'Menu:AdminTools' => 'Administrace',
- 'Menu:AdminTools+' => 'Nástroje pro administraci',
- 'Menu:AdminTools?' => 'Nástroje přístupné pouze uživatelům, kteří mají potřbná oprávnění',
- 'Menu:DataModelMenu' => 'Datový model',
- 'Menu:DataModelMenu+' => 'Přehled datového modelu',
- 'Menu:ExportMenu' => 'Exportovat',
- 'Menu:ExportMenu+' => 'Exportovat výsledky jakéhokoli dotazu do HTML, CSV nebo XML',
- 'Menu:NotificationsMenu' => 'Upozornění',
- 'Menu:NotificationsMenu+' => 'Konfigurace upozornění',
- 'Menu:AuditCategories' => 'Kategorie auditu',
- 'Menu:AuditCategories+' => 'Kategorie auditu',
- 'Menu:Notifications:Title' => 'Kategorie auditu',
- 'Menu:RunQueriesMenu' => 'Provést dotaz',
- 'Menu:RunQueriesMenu+' => 'Provést dotaz',
- 'Menu:QueryMenu' => 'Knihovna dotazů',
- 'Menu:QueryMenu+' => 'Knihovna dotazů',
- 'Menu:UniversalSearchMenu' => 'Univerzální hledání',
- 'Menu:UniversalSearchMenu+' => 'Hledejte cokoli...',
- 'Menu:UserManagementMenu' => 'Správa uživatelů',
- 'Menu:UserManagementMenu+' => 'Správa uživatelů',
- 'Menu:ProfilesMenu' => 'Profily (Role)',
- 'Menu:ProfilesMenu+' => 'Profily (Role)',
- 'Menu:ProfilesMenu:Title' => 'Profily (Role)',
- 'Menu:UserAccountsMenu' => 'Uživatelské účty',
- 'Menu:UserAccountsMenu+' => 'Uživatelské účty',
- 'Menu:UserAccountsMenu:Title' => 'Uživatelské účty',
- 'Menu:MyShortcuts' => 'Mé odkazy',
- 'Menu:UserManagement' => 'User Management~~',
- 'Menu:Queries' => 'Queries~~',
- 'Menu:ConfigurationTools' => 'Configuration~~',
-));
-//
-// Class: AbstractResource
-//
-
-Dict::Add('CS CZ', 'Czech', 'Čeština', array(
- 'Class:AbstractResource' => 'Abstract Resource~~',
- 'Class:AbstractResource+' => '~~',
-));
-
-//
-// Class: ResourceAdminMenu
-//
-
-Dict::Add('CS CZ', 'Czech', 'Čeština', array(
- 'Class:ResourceAdminMenu' => 'Resource Admin Menu~~',
- 'Class:ResourceAdminMenu+' => '~~',
-));
-
-//
-// Class: ResourceRunQueriesMenu
-//
-
-Dict::Add('CS CZ', 'Czech', 'Čeština', array(
- 'Class:ResourceRunQueriesMenu' => 'Resource Run Queries Menu~~',
- 'Class:ResourceRunQueriesMenu+' => '~~',
-));
-
-//
-// Class: Action
-//
-
-Dict::Add('CS CZ', 'Czech', 'Čeština', array(
- 'Class:ResourceSystemMenu' => 'Resource System Menu~~',
- 'Class:ResourceSystemMenu+' => '~~',
-));
diff --git a/datamodels/2.x/itop-welcome-itil/da.dict.itop-welcome-itil.php b/datamodels/2.x/itop-welcome-itil/da.dict.itop-welcome-itil.php
index 2bd9e201e..9fbec3a84 100644
--- a/datamodels/2.x/itop-welcome-itil/da.dict.itop-welcome-itil.php
+++ b/datamodels/2.x/itop-welcome-itil/da.dict.itop-welcome-itil.php
@@ -20,77 +20,3 @@
* You should have received a copy of the GNU Affero General Public License
* along with iTop. If not, see
*/
-Dict::Add('DA DA', 'Danish', 'Dansk', array(
- 'Menu:DataSources' => 'Synkroniserings Data Kilder',
- 'Menu:DataSources+' => 'All Synchronization Data Sources~~',
- 'Menu:WelcomeMenu' => 'Velkomen',
- 'Menu:WelcomeMenu+' => 'Velkommen til iTop',
- 'Menu:WelcomeMenuPage' => 'Velkomen',
- 'Menu:WelcomeMenuPage+' => 'Velkommen til iTop',
- 'Menu:AdminTools' => 'Admin værktøjer',
- 'Menu:AdminTools+' => 'Administration tools~~',
- 'Menu:AdminTools?' => 'Værktøjer kun tilgængelige for brugere med administrator profil',
- 'Menu:DataModelMenu' => 'Data Model~~',
- 'Menu:DataModelMenu+' => 'Overview of the Data Model~~',
- 'Menu:ExportMenu' => 'Export~~',
- 'Menu:ExportMenu+' => 'Export the results of any query in HTML, CSV or XML~~',
- 'Menu:NotificationsMenu' => 'Notifikationer',
- 'Menu:NotificationsMenu+' => 'Configuration of the Notifications~~',
- 'Menu:AuditCategories' => 'Audit Kategorier',
- 'Menu:AuditCategories+' => 'Audit Categories~~',
- 'Menu:Notifications:Title' => 'Audit Kategorier',
- 'Menu:RunQueriesMenu' => 'Kør forespørgsler',
- 'Menu:RunQueriesMenu+' => 'Run any query~~',
- 'Menu:QueryMenu' => 'Query parlør',
- 'Menu:QueryMenu+' => 'Query phrasebook~~',
- 'Menu:UniversalSearchMenu' => 'Universal Søgning',
- 'Menu:UniversalSearchMenu+' => 'Search for anything...~~',
- 'Menu:UserManagementMenu' => 'Bruger styring',
- 'Menu:UserManagementMenu+' => 'User management~~',
- 'Menu:ProfilesMenu' => 'Profiler',
- 'Menu:ProfilesMenu+' => 'Profiles~~',
- 'Menu:ProfilesMenu:Title' => 'Profiler',
- 'Menu:UserAccountsMenu' => 'Bruger konti',
- 'Menu:UserAccountsMenu+' => 'User Accounts~~',
- 'Menu:UserAccountsMenu:Title' => 'Bruger konti',
- 'Menu:MyShortcuts' => 'Mine Genveje',
- 'Menu:UserManagement' => 'User Management~~',
- 'Menu:Queries' => 'Queries~~',
- 'Menu:ConfigurationTools' => 'Configuration~~',
-));
-
-//
-// Class: AbstractResource
-//
-
-Dict::Add('DA DA', 'Danish', 'Dansk', array(
- 'Class:AbstractResource' => 'Abstract Resource~~',
- 'Class:AbstractResource+' => '~~',
-));
-
-//
-// Class: ResourceAdminMenu
-//
-
-Dict::Add('DA DA', 'Danish', 'Dansk', array(
- 'Class:ResourceAdminMenu' => 'Resource Admin Menu~~',
- 'Class:ResourceAdminMenu+' => '~~',
-));
-
-//
-// Class: ResourceRunQueriesMenu
-//
-
-Dict::Add('DA DA', 'Danish', 'Dansk', array(
- 'Class:ResourceRunQueriesMenu' => 'Resource Run Queries Menu~~',
- 'Class:ResourceRunQueriesMenu+' => '~~',
-));
-
-//
-// Class: Action
-//
-
-Dict::Add('DA DA', 'Danish', 'Dansk', array(
- 'Class:ResourceSystemMenu' => 'Resource System Menu~~',
- 'Class:ResourceSystemMenu+' => '~~',
-));
diff --git a/datamodels/2.x/itop-welcome-itil/datamodel.itop-welcome-itil.xml b/datamodels/2.x/itop-welcome-itil/datamodel.itop-welcome-itil.xml
index 70534c9ad..85e69f6e6 100644
--- a/datamodels/2.x/itop-welcome-itil/datamodel.itop-welcome-itil.xml
+++ b/datamodels/2.x/itop-welcome-itil/datamodel.itop-welcome-itil.xml
@@ -1,51 +1,7 @@
-
-
- cmdbAbstractObject
-
- /* Resource access control abstraction. Can be herited by abstract resource access control classes. Generaly controlled using UR_ACTION_MODIFY access right. */
- true
-
-
-
-
-
-
-
-
-
-
diff --git a/datamodels/2.x/itop-welcome-itil/de.dict.itop-welcome-itil.php b/datamodels/2.x/itop-welcome-itil/de.dict.itop-welcome-itil.php
index eb93f7fff..1dcebc847 100644
--- a/datamodels/2.x/itop-welcome-itil/de.dict.itop-welcome-itil.php
+++ b/datamodels/2.x/itop-welcome-itil/de.dict.itop-welcome-itil.php
@@ -22,77 +22,3 @@
* @licence http://opensource.org/licenses/AGPL-3.0
*
*/
-Dict::Add('DE DE', 'German', 'Deutsch', array(
- 'Menu:DataSources' => 'Datenquellen für die Synchronisation',
- 'Menu:DataSources+' => 'Alle Datenquellen für die Synchronisation',
- 'Menu:WelcomeMenu' => 'Willkommen',
- 'Menu:WelcomeMenu+' => 'Willkommen bei iTop',
- 'Menu:WelcomeMenuPage' => 'Willkommen',
- 'Menu:WelcomeMenuPage+' => 'Willkommen bei iTop',
- 'Menu:AdminTools' => 'Admin-Tools',
- 'Menu:AdminTools+' => 'Administrationswerkzeuge',
- 'Menu:AdminTools?' => 'Werkzeuge, die nur für Benutzer mit Adminstratorprofil zugänglich sind',
- 'Menu:DataModelMenu' => 'Datenmodell',
- 'Menu:DataModelMenu+' => 'Übersicht des Datenmodells',
- 'Menu:ExportMenu' => 'Export',
- 'Menu:ExportMenu+' => 'Export einer beliebigen Abfrage in HTML, CSV oder XML',
- 'Menu:NotificationsMenu' => 'Benachrichtigungen',
- 'Menu:NotificationsMenu+' => 'Einstellungen der Benachrichtigungen',
- 'Menu:AuditCategories' => 'Audit-Kategorien',
- 'Menu:AuditCategories+' => 'Audit-Kategorien',
- 'Menu:Notifications:Title' => 'Audit-Kategorien',
- 'Menu:RunQueriesMenu' => 'Abfrage ausführen',
- 'Menu:RunQueriesMenu+' => 'Eine beliebige Abfrage ausführen',
- 'Menu:QueryMenu' => 'Query-Bibliothek',
- 'Menu:QueryMenu+' => '',
- 'Menu:UniversalSearchMenu' => 'Universelle Suche',
- 'Menu:UniversalSearchMenu+' => 'Suchen Sie nach beliebigen Inhalt...',
- 'Menu:UserManagementMenu' => 'Benutzerverwaltung',
- 'Menu:UserManagementMenu+' => 'Benutzerverwaltung',
- 'Menu:ProfilesMenu' => 'Profile',
- 'Menu:ProfilesMenu+' => 'Profile',
- 'Menu:ProfilesMenu:Title' => 'Profile',
- 'Menu:UserAccountsMenu' => 'Benutzerkonten',
- 'Menu:UserAccountsMenu+' => 'Benutzerkonten',
- 'Menu:UserAccountsMenu:Title' => 'Benutzerkonten',
- 'Menu:MyShortcuts' => 'Meine Shortcuts',
- 'Menu:UserManagement' => 'Benutzerverwaltung',
- 'Menu:Queries' => 'OQL Abfragen',
- 'Menu:ConfigurationTools' => 'Konfiguration',
-));
-
-//
-// Class: AbstractResource
-//
-
-Dict::Add('DE DE', 'German', 'Deutsch', array(
- 'Class:AbstractResource' => 'Abstrakte Ressource',
- 'Class:AbstractResource+' => '',
-));
-
-//
-// Class: ResourceAdminMenu
-//
-
-Dict::Add('DE DE', 'German', 'Deutsch', array(
- 'Class:ResourceAdminMenu' => 'Ressource "Admin Menü"',
- 'Class:ResourceAdminMenu+' => '',
-));
-
-//
-// Class: ResourceRunQueriesMenu
-//
-
-Dict::Add('DE DE', 'German', 'Deutsch', array(
- 'Class:ResourceRunQueriesMenu' => 'Ressource "Abfrage Ausführen Menü"',
- 'Class:ResourceRunQueriesMenu+' => '',
-));
-
-//
-// Class: Action
-//
-
-Dict::Add('DE DE', 'German', 'Deutsch', array(
- 'Class:ResourceSystemMenu' => 'Ressource "System Menü"',
- 'Class:ResourceSystemMenu+' => '',
-));
diff --git a/datamodels/2.x/itop-welcome-itil/en.dict.itop-welcome-itil.php b/datamodels/2.x/itop-welcome-itil/en.dict.itop-welcome-itil.php
index 22bf6f57f..fda164c39 100644
--- a/datamodels/2.x/itop-welcome-itil/en.dict.itop-welcome-itil.php
+++ b/datamodels/2.x/itop-welcome-itil/en.dict.itop-welcome-itil.php
@@ -21,77 +21,3 @@
* along with iTop. If not, see
*/
-Dict::Add('EN US', 'English', 'English', array(
- 'Menu:DataSources' => 'Synchronization Data Sources',
- 'Menu:DataSources+' => 'All Synchronization Data Sources',
- 'Menu:WelcomeMenu' => 'Welcome',
- 'Menu:WelcomeMenu+' => 'Welcome to iTop',
- 'Menu:WelcomeMenuPage' => 'Welcome',
- 'Menu:WelcomeMenuPage+' => 'Welcome to iTop',
- 'Menu:AdminTools' => 'Administration',
- 'Menu:AdminTools+' => 'Administration tools',
- 'Menu:AdminTools?' => 'Tools accessible only to users having the administrator profile',
- 'Menu:DataModelMenu' => 'Data Model',
- 'Menu:DataModelMenu+' => 'Overview of the Data Model',
- 'Menu:ExportMenu' => 'Export',
- 'Menu:ExportMenu+' => 'Export the results of any query in HTML, CSV or XML',
- 'Menu:NotificationsMenu' => 'Notifications',
- 'Menu:NotificationsMenu+' => 'Configuration of the Notifications',
- 'Menu:AuditCategories' => 'Audit Categories',
- 'Menu:AuditCategories+' => 'Audit Categories',
- 'Menu:Notifications:Title' => 'Audit Categories',
- 'Menu:RunQueriesMenu' => 'Run Queries',
- 'Menu:RunQueriesMenu+' => 'Run any query',
- 'Menu:QueryMenu' => 'Query phrasebook',
- 'Menu:QueryMenu+' => 'Query phrasebook',
- 'Menu:UniversalSearchMenu' => 'Universal Search',
- 'Menu:UniversalSearchMenu+' => 'Search for anything...',
- 'Menu:UserManagementMenu' => 'User Management',
- 'Menu:UserManagementMenu+' => 'User management',
- 'Menu:ProfilesMenu' => 'Profiles',
- 'Menu:ProfilesMenu+' => 'Profiles',
- 'Menu:ProfilesMenu:Title' => 'Profiles',
- 'Menu:UserAccountsMenu' => 'User Accounts',
- 'Menu:UserAccountsMenu+' => 'User Accounts',
- 'Menu:UserAccountsMenu:Title' => 'User Accounts',
- 'Menu:MyShortcuts' => 'My Shortcuts',
- 'Menu:UserManagement' => 'User Management',
- 'Menu:Queries' => 'Queries',
- 'Menu:ConfigurationTools' => 'Configuration',
-));
-
-//
-// Class: AbstractResource
-//
-
-Dict::Add('EN US', 'English', 'English', array(
- 'Class:AbstractResource' => 'Abstract Resource',
- 'Class:AbstractResource+' => '',
-));
-
-//
-// Class: ResourceAdminMenu
-//
-
-Dict::Add('EN US', 'English', 'English', array(
- 'Class:ResourceAdminMenu' => 'Resource Admin Menu',
- 'Class:ResourceAdminMenu+' => '',
-));
-
-//
-// Class: ResourceRunQueriesMenu
-//
-
-Dict::Add('EN US', 'English', 'English', array(
- 'Class:ResourceRunQueriesMenu' => 'Resource Run Queries Menu',
- 'Class:ResourceRunQueriesMenu+' => '',
-));
-
-//
-// Class: Action
-//
-
-Dict::Add('EN US', 'English', 'English', array(
- 'Class:ResourceSystemMenu' => 'Resource System Menu',
- 'Class:ResourceSystemMenu+' => '',
-));
diff --git a/datamodels/2.x/itop-welcome-itil/es_cr.dict.itop-welcome-itil.php b/datamodels/2.x/itop-welcome-itil/es_cr.dict.itop-welcome-itil.php
index 9dc30e30e..9885c8675 100644
--- a/datamodels/2.x/itop-welcome-itil/es_cr.dict.itop-welcome-itil.php
+++ b/datamodels/2.x/itop-welcome-itil/es_cr.dict.itop-welcome-itil.php
@@ -19,77 +19,3 @@
* @copyright Copyright (C) 2010-2014 Combodo SARL
* @license http://opensource.org/licenses/AGPL-3.0
*/
-Dict::Add('ES CR', 'Spanish', 'Español, Castellaño', array(
- 'Menu:DataSources' => 'Fuentes de Datos Sincronizables',
- 'Menu:DataSources+' => 'Fuentes de Datos Sincronizables',
- 'Menu:WelcomeMenu' => 'Bienvenido',
- 'Menu:WelcomeMenu+' => 'Bienvenido a iTop',
- 'Menu:WelcomeMenuPage' => 'Bienvenido',
- 'Menu:WelcomeMenuPage+' => 'Bienvenido a iTop',
- 'Menu:AdminTools' => 'Herramientas Administrativas',
- 'Menu:AdminTools+' => 'Herramientas Administrativas',
- 'Menu:AdminTools?' => 'Herramientas accesibles sólo a usuarios con Perfil de administrador',
- 'Menu:DataModelMenu' => 'Modelo de Datos',
- 'Menu:DataModelMenu+' => 'Resumen del Modelo de Datos',
- 'Menu:ExportMenu' => 'Exportar',
- 'Menu:ExportMenu+' => 'Exportar los Resultados de Cualquier Consulta en HTML, CSV o XML',
- 'Menu:NotificationsMenu' => 'Notificaciones',
- 'Menu:NotificationsMenu+' => 'Configuración de las Notificaciones',
- 'Menu:AuditCategories' => 'Auditar Categorías',
- 'Menu:AuditCategories+' => 'Auditar Categorías',
- 'Menu:Notifications:Title' => 'Auditar Categorías',
- 'Menu:RunQueriesMenu' => 'Ejecutar Consultas',
- 'Menu:RunQueriesMenu+' => 'Ejecutar Cualquier Consulta',
- 'Menu:QueryMenu' => 'Libreta de Consultas',
- 'Menu:QueryMenu+' => 'Libreta de Consultas',
- 'Menu:UniversalSearchMenu' => 'Búsqueda Universal',
- 'Menu:UniversalSearchMenu+' => 'Buscar cualquier cosa',
- 'Menu:UserManagementMenu' => 'Administración de Usuarios',
- 'Menu:UserManagementMenu+' => 'Administración de Usuarios',
- 'Menu:ProfilesMenu' => 'Perfiles',
- 'Menu:ProfilesMenu+' => 'Perfiles',
- 'Menu:ProfilesMenu:Title' => 'Perfiles',
- 'Menu:UserAccountsMenu' => 'Cuentas de Usuario',
- 'Menu:UserAccountsMenu+' => 'Cuentas de Usuario',
- 'Menu:UserAccountsMenu:Title' => 'Cuentas de Usuario',
- 'Menu:MyShortcuts' => 'Mis Accesos Rápidos',
- 'Menu:UserManagement' => 'Gestión de usuarios',
- 'Menu:Queries' => 'Consultas',
- 'Menu:ConfigurationTools' => 'configuración',
-));
-
-//
-// Class: AbstractResource
-//
-
-Dict::Add('ES CR', 'Spanish', 'Español, Castellaño', array(
- 'Class:AbstractResource' => 'Abstract Resource~~',
- 'Class:AbstractResource+' => '~~',
-));
-
-//
-// Class: ResourceAdminMenu
-//
-
-Dict::Add('ES CR', 'Spanish', 'Español, Castellaño', array(
- 'Class:ResourceAdminMenu' => 'Resource Admin Menu~~',
- 'Class:ResourceAdminMenu+' => '~~',
-));
-
-//
-// Class: ResourceRunQueriesMenu
-//
-
-Dict::Add('ES CR', 'Spanish', 'Español, Castellaño', array(
- 'Class:ResourceRunQueriesMenu' => 'Resource Run Queries Menu~~',
- 'Class:ResourceRunQueriesMenu+' => '~~',
-));
-
-//
-// Class: Action
-//
-
-Dict::Add('ES CR', 'Spanish', 'Español, Castellaño', array(
- 'Class:ResourceSystemMenu' => 'Resource System Menu~~',
- 'Class:ResourceSystemMenu+' => '~~',
-));
diff --git a/datamodels/2.x/itop-welcome-itil/fr.dict.itop-welcome-itil.php b/datamodels/2.x/itop-welcome-itil/fr.dict.itop-welcome-itil.php
index bae4383bd..9885c8675 100644
--- a/datamodels/2.x/itop-welcome-itil/fr.dict.itop-welcome-itil.php
+++ b/datamodels/2.x/itop-welcome-itil/fr.dict.itop-welcome-itil.php
@@ -19,77 +19,3 @@
* @copyright Copyright (C) 2010-2014 Combodo SARL
* @license http://opensource.org/licenses/AGPL-3.0
*/
-Dict::Add('FR FR', 'French', 'Français', array(
- 'Menu:DataSources' => 'Synchronisation',
- 'Menu:DataSources+' => '',
- 'Menu:WelcomeMenu' => 'Bienvenue',
- 'Menu:WelcomeMenu+' => 'Bienvenue dans iTop',
- 'Menu:WelcomeMenuPage' => 'Bienvenue',
- 'Menu:WelcomeMenuPage+' => 'Bienvenue dans iTop',
- 'Menu:AdminTools' => 'Administration',
- 'Menu:AdminTools+' => 'Outils d\'administration',
- 'Menu:AdminTools?' => 'Ces outils sont accessibles uniquement aux utilisateurs possédant le profil Administrateur.',
- 'Menu:DataModelMenu' => 'Modèle de Données',
- 'Menu:DataModelMenu+' => 'Résumé du Modèle de Données',
- 'Menu:ExportMenu' => 'Export',
- 'Menu:ExportMenu+' => 'Export des résultats d\'une requête en HTML, CSV ou XML',
- 'Menu:NotificationsMenu' => 'Notifications',
- 'Menu:NotificationsMenu+' => 'Configuration des Notifications',
- 'Menu:AuditCategories' => 'Catégories d\'audit',
- 'Menu:AuditCategories+' => 'Catégories d\'audit',
- 'Menu:Notifications:Title' => 'Catégories d\'audit',
- 'Menu:RunQueriesMenu' => 'Requêtes OQL',
- 'Menu:RunQueriesMenu+' => 'Executer une requête OQL',
- 'Menu:QueryMenu' => 'Livre des requêtes',
- 'Menu:QueryMenu+' => 'Livre des requêtes',
- 'Menu:UniversalSearchMenu' => 'Recherche Universelle',
- 'Menu:UniversalSearchMenu+' => 'Rechercher n\'importe quel objet...',
- 'Menu:UserManagementMenu' => 'Gestion des Utilisateurs',
- 'Menu:UserManagementMenu+' => 'Gestion des Utilisateurs',
- 'Menu:ProfilesMenu' => 'Profils',
- 'Menu:ProfilesMenu+' => 'Profils',
- 'Menu:ProfilesMenu:Title' => 'Profils',
- 'Menu:UserAccountsMenu' => 'Comptes Utilisateurs',
- 'Menu:UserAccountsMenu+' => 'Comptes Utilisateurs',
- 'Menu:UserAccountsMenu:Title' => 'Comptes Utilisateurs',
- 'Menu:MyShortcuts' => 'Mes raccourcis',
- 'Menu:UserManagement' => 'Utilisateurs',
- 'Menu:Queries' => 'Requêtes',
- 'Menu:ConfigurationTools' => 'Configuration',
-));
-
-//
-// Class: AbstractResource
-//
-
-Dict::Add('FR FR', 'French', 'Français', array(
- 'Class:AbstractResource' => 'Ressource',
- 'Class:AbstractResource+' => '',
-));
-
-//
-// Class: ResourceAdminMenu
-//
-
-Dict::Add('FR FR', 'French', 'Français', array(
- 'Class:ResourceAdminMenu' => 'Menu Administration',
- 'Class:ResourceAdminMenu+' => '',
-));
-
-//
-// Class: ResourceRunQueriesMenu
-//
-
-Dict::Add('FR FR', 'French', 'Français', array(
- 'Class:ResourceRunQueriesMenu' => 'Menu Requête OQL',
- 'Class:ResourceRunQueriesMenu+' => '',
-));
-
-//
-// Class: Action
-//
-
-Dict::Add('FR FR', 'French', 'Français', array(
- 'Class:ResourceSystemMenu' => 'Menu System',
- 'Class:ResourceSystemMenu+' => '',
-));
diff --git a/datamodels/2.x/itop-welcome-itil/hu.dict.itop-welcome-itil.php b/datamodels/2.x/itop-welcome-itil/hu.dict.itop-welcome-itil.php
index 139f390ae..9885c8675 100644
--- a/datamodels/2.x/itop-welcome-itil/hu.dict.itop-welcome-itil.php
+++ b/datamodels/2.x/itop-welcome-itil/hu.dict.itop-welcome-itil.php
@@ -19,77 +19,3 @@
* @copyright Copyright (C) 2010-2014 Combodo SARL
* @license http://opensource.org/licenses/AGPL-3.0
*/
-Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
- 'Menu:DataSources' => 'Szinkronizált adatforrások',
- 'Menu:DataSources+' => '',
- 'Menu:WelcomeMenu' => 'Üdvözlöm',
- 'Menu:WelcomeMenu+' => '',
- 'Menu:WelcomeMenuPage' => 'Üdvözlöm',
- 'Menu:WelcomeMenuPage+' => '',
- 'Menu:AdminTools' => 'Adminisztrációs eszközök',
- 'Menu:AdminTools+' => '',
- 'Menu:AdminTools?' => 'Eszközök csak az adminisztrátori profilhoz rendlet felhasználók számára elérhetők.',
- 'Menu:DataModelMenu' => 'Adatmodell',
- 'Menu:DataModelMenu+' => '',
- 'Menu:ExportMenu' => 'Export',
- 'Menu:ExportMenu+' => '',
- 'Menu:NotificationsMenu' => 'Értesítések',
- 'Menu:NotificationsMenu+' => '',
- 'Menu:AuditCategories' => 'Audit kategóriák',
- 'Menu:AuditCategories+' => '',
- 'Menu:Notifications:Title' => 'Audit kategóriák',
- 'Menu:RunQueriesMenu' => 'Lekérdezés futtatás',
- 'Menu:RunQueriesMenu+' => '',
- 'Menu:QueryMenu' => 'Query phrasebook~~',
- 'Menu:QueryMenu+' => 'Query phrasebook~~',
- 'Menu:UniversalSearchMenu' => 'Univerzális keresés',
- 'Menu:UniversalSearchMenu+' => '',
- 'Menu:UserManagementMenu' => 'Felhasználó menedzsment',
- 'Menu:UserManagementMenu+' => '',
- 'Menu:ProfilesMenu' => 'Profilok',
- 'Menu:ProfilesMenu+' => '',
- 'Menu:ProfilesMenu:Title' => 'Profilok',
- 'Menu:UserAccountsMenu' => 'Felhasználói fiókok',
- 'Menu:UserAccountsMenu+' => '',
- 'Menu:UserAccountsMenu:Title' => 'Felhasználói fiókok',
- 'Menu:MyShortcuts' => 'My Shortcuts~~',
- 'Menu:UserManagement' => 'User Management~~',
- 'Menu:Queries' => 'Queries~~',
- 'Menu:ConfigurationTools' => 'Configuration~~',
-));
-
-//
-// Class: AbstractResource
-//
-
-Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
- 'Class:AbstractResource' => 'Abstract Resource~~',
- 'Class:AbstractResource+' => '~~',
-));
-
-//
-// Class: ResourceAdminMenu
-//
-
-Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
- 'Class:ResourceAdminMenu' => 'Resource Admin Menu~~',
- 'Class:ResourceAdminMenu+' => '~~',
-));
-
-//
-// Class: ResourceRunQueriesMenu
-//
-
-Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
- 'Class:ResourceRunQueriesMenu' => 'Resource Run Queries Menu~~',
- 'Class:ResourceRunQueriesMenu+' => '~~',
-));
-
-//
-// Class: Action
-//
-
-Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
- 'Class:ResourceSystemMenu' => 'Resource System Menu~~',
- 'Class:ResourceSystemMenu+' => '~~',
-));
diff --git a/datamodels/2.x/itop-welcome-itil/it.dict.itop-welcome-itil.php b/datamodels/2.x/itop-welcome-itil/it.dict.itop-welcome-itil.php
index 6ffaa5f90..9885c8675 100644
--- a/datamodels/2.x/itop-welcome-itil/it.dict.itop-welcome-itil.php
+++ b/datamodels/2.x/itop-welcome-itil/it.dict.itop-welcome-itil.php
@@ -19,77 +19,3 @@
* @copyright Copyright (C) 2010-2014 Combodo SARL
* @license http://opensource.org/licenses/AGPL-3.0
*/
-Dict::Add('IT IT', 'Italian', 'Italiano', array(
- 'Menu:DataSources' => 'Sorgente di sincronizzazione dei dati',
- 'Menu:DataSources+' => '',
- 'Menu:WelcomeMenu' => 'Benveuto',
- 'Menu:WelcomeMenu+' => '',
- 'Menu:WelcomeMenuPage' => 'Benvenuto',
- 'Menu:WelcomeMenuPage+' => '',
- 'Menu:AdminTools' => 'Strumenti di amministrazione',
- 'Menu:AdminTools+' => '',
- 'Menu:AdminTools?' => 'Strumenti accessibile solo agli utenti con il profilo di amministratore',
- 'Menu:DataModelMenu' => 'Modello Dati',
- 'Menu:DataModelMenu+' => '',
- 'Menu:ExportMenu' => 'Esporta',
- 'Menu:ExportMenu+' => '',
- 'Menu:NotificationsMenu' => 'Notifiche',
- 'Menu:NotificationsMenu+' => '',
- 'Menu:AuditCategories' => 'Categorie di Audit',
- 'Menu:AuditCategories+' => '',
- 'Menu:Notifications:Title' => 'Categorie di Audit',
- 'Menu:RunQueriesMenu' => 'Esegui query',
- 'Menu:RunQueriesMenu+' => '',
- 'Menu:QueryMenu' => 'Rubbrica delle Query',
- 'Menu:QueryMenu+' => 'Rubbrica delle Query',
- 'Menu:UniversalSearchMenu' => 'Ricerca universale',
- 'Menu:UniversalSearchMenu+' => '',
- 'Menu:UserManagementMenu' => 'Gestione degli utenti',
- 'Menu:UserManagementMenu+' => '',
- 'Menu:ProfilesMenu' => 'Profili',
- 'Menu:ProfilesMenu+' => '',
- 'Menu:ProfilesMenu:Title' => 'Profili',
- 'Menu:UserAccountsMenu' => 'Account utente',
- 'Menu:UserAccountsMenu+' => '',
- 'Menu:UserAccountsMenu:Title' => 'Account utente',
- 'Menu:MyShortcuts' => 'Le mie scorciatoie',
- 'Menu:UserManagement' => 'Gestione utenti',
- 'Menu:Queries' => 'Interrogazioni',
- 'Menu:ConfigurationTools' => 'configurazione',
-));
-
-//
-// Class: AbstractResource
-//
-
-Dict::Add('IT IT', 'Italian', 'Italiano', array(
- 'Class:AbstractResource' => 'Abstract Resource~~',
- 'Class:AbstractResource+' => '~~',
-));
-
-//
-// Class: ResourceAdminMenu
-//
-
-Dict::Add('IT IT', 'Italian', 'Italiano', array(
- 'Class:ResourceAdminMenu' => 'Resource Admin Menu~~',
- 'Class:ResourceAdminMenu+' => '~~',
-));
-
-//
-// Class: ResourceRunQueriesMenu
-//
-
-Dict::Add('IT IT', 'Italian', 'Italiano', array(
- 'Class:ResourceRunQueriesMenu' => 'Resource Run Queries Menu~~',
- 'Class:ResourceRunQueriesMenu+' => '~~',
-));
-
-//
-// Class: Action
-//
-
-Dict::Add('IT IT', 'Italian', 'Italiano', array(
- 'Class:ResourceSystemMenu' => 'Resource System Menu~~',
- 'Class:ResourceSystemMenu+' => '~~',
-));
diff --git a/datamodels/2.x/itop-welcome-itil/ja.dict.itop-welcome-itil.php b/datamodels/2.x/itop-welcome-itil/ja.dict.itop-welcome-itil.php
index ef44d89a4..9885c8675 100644
--- a/datamodels/2.x/itop-welcome-itil/ja.dict.itop-welcome-itil.php
+++ b/datamodels/2.x/itop-welcome-itil/ja.dict.itop-welcome-itil.php
@@ -19,77 +19,3 @@
* @copyright Copyright (C) 2010-2014 Combodo SARL
* @license http://opensource.org/licenses/AGPL-3.0
*/
-Dict::Add('JA JP', 'Japanese', '日本語', array(
- 'Menu:DataSources' => '同期データソース',
- 'Menu:DataSources+' => '全ての同期データソース',
- 'Menu:WelcomeMenu' => 'ようこそ',
- 'Menu:WelcomeMenu+' => 'ようこそ、iTopへ',
- 'Menu:WelcomeMenuPage' => 'ようこそ',
- 'Menu:WelcomeMenuPage+' => 'ようこそ、iTopへ',
- 'Menu:AdminTools' => '管理ツール',
- 'Menu:AdminTools+' => '管理ツール',
- 'Menu:AdminTools?' => 'このツールは管理者プロフィールを持つユーザのみアクセスが可能です。',
- 'Menu:DataModelMenu' => 'データモデル',
- 'Menu:DataModelMenu+' => 'データモデル概要',
- 'Menu:ExportMenu' => 'エクスポート',
- 'Menu:ExportMenu+' => '任意のクエリ結果をHTML、CSV、XMLでエクスポートする',
- 'Menu:NotificationsMenu' => '通知',
- 'Menu:NotificationsMenu+' => '通知の設定',
- 'Menu:AuditCategories' => '監査カテゴリ',
- 'Menu:AuditCategories+' => '監査カテゴリ',
- 'Menu:Notifications:Title' => '監査カテゴリ',
- 'Menu:RunQueriesMenu' => 'クエリ実行',
- 'Menu:RunQueriesMenu+' => '任意のクエリを実行',
- 'Menu:QueryMenu' => 'クエリのフレーズブック',
- 'Menu:QueryMenu+' => 'クエリのフレーズブック',
- 'Menu:UniversalSearchMenu' => '全検索',
- 'Menu:UniversalSearchMenu+' => '何か...検索',
- 'Menu:UserManagementMenu' => 'ユーザ管理',
- 'Menu:UserManagementMenu+' => 'ユーザ管理',
- 'Menu:ProfilesMenu' => 'プロフィール',
- 'Menu:ProfilesMenu+' => 'プロフィール',
- 'Menu:ProfilesMenu:Title' => 'プロフィール',
- 'Menu:UserAccountsMenu' => 'ユーザアカウント',
- 'Menu:UserAccountsMenu+' => 'ユーザアカウント',
- 'Menu:UserAccountsMenu:Title' => 'ユーザアカウント',
- 'Menu:MyShortcuts' => '私のショートカット',
- 'Menu:UserManagement' => 'User Management~~',
- 'Menu:Queries' => 'Queries~~',
- 'Menu:ConfigurationTools' => 'Configuration~~',
-));
-
-//
-// Class: AbstractResource
-//
-
-Dict::Add('JA JP', 'Japanese', '日本語', array(
- 'Class:AbstractResource' => 'Abstract Resource~~',
- 'Class:AbstractResource+' => '~~',
-));
-
-//
-// Class: ResourceAdminMenu
-//
-
-Dict::Add('JA JP', 'Japanese', '日本語', array(
- 'Class:ResourceAdminMenu' => 'Resource Admin Menu~~',
- 'Class:ResourceAdminMenu+' => '~~',
-));
-
-//
-// Class: ResourceRunQueriesMenu
-//
-
-Dict::Add('JA JP', 'Japanese', '日本語', array(
- 'Class:ResourceRunQueriesMenu' => 'Resource Run Queries Menu~~',
- 'Class:ResourceRunQueriesMenu+' => '~~',
-));
-
-//
-// Class: Action
-//
-
-Dict::Add('JA JP', 'Japanese', '日本語', array(
- 'Class:ResourceSystemMenu' => 'Resource System Menu~~',
- 'Class:ResourceSystemMenu+' => '~~',
-));
diff --git a/datamodels/2.x/itop-welcome-itil/module.itop-welcome-itil.php b/datamodels/2.x/itop-welcome-itil/module.itop-welcome-itil.php
index cfdfaac9a..01bf82956 100755
--- a/datamodels/2.x/itop-welcome-itil/module.itop-welcome-itil.php
+++ b/datamodels/2.x/itop-welcome-itil/module.itop-welcome-itil.php
@@ -3,7 +3,7 @@
SetupWebPage::AddModule(
__FILE__, // Path to the current file, all other file names are relative to the directory containing this file
- 'itop-welcome-itil/2.7.0',
+ 'itop-welcome-itil/2.8.0',
array(
// Identification
//
diff --git a/datamodels/2.x/itop-welcome-itil/nl.dict.itop-welcome-itil.php b/datamodels/2.x/itop-welcome-itil/nl.dict.itop-welcome-itil.php
index 4616d401f..d64d6d242 100644
--- a/datamodels/2.x/itop-welcome-itil/nl.dict.itop-welcome-itil.php
+++ b/datamodels/2.x/itop-welcome-itil/nl.dict.itop-welcome-itil.php
@@ -22,77 +22,3 @@
*
* @author Jeffrey Bostoen - (2018 - 2020)
*/
-Dict::Add('NL NL', 'Dutch', 'Nederlands', array(
- 'Menu:DataSources' => 'Synchronisatie-databronnen',
- 'Menu:DataSources+' => 'Alle Synchronisatie-databronnen',
- 'Menu:WelcomeMenu' => 'Welkom',
- 'Menu:WelcomeMenu+' => 'Welkom in iTop',
- 'Menu:WelcomeMenuPage' => 'Welkom',
- 'Menu:WelcomeMenuPage+' => 'Welkom in iTop',
- 'Menu:AdminTools' => 'Admintools',
- 'Menu:AdminTools+' => 'Beheertools',
- 'Menu:AdminTools?' => 'Tools die enkel toegankelijk zijn voor gebruikers met een administratorprofiel.',
- 'Menu:DataModelMenu' => 'Datamodel',
- 'Menu:DataModelMenu+' => 'Overzicht van het datamodel',
- 'Menu:ExportMenu' => 'Export',
- 'Menu:ExportMenu+' => 'Exporteer de resultaten van query\'s als HTML, CSV of XML',
- 'Menu:NotificationsMenu' => 'Meldingen',
- 'Menu:NotificationsMenu+' => 'Configuratie van de meldingen',
- 'Menu:AuditCategories' => 'Auditcategorieën',
- 'Menu:AuditCategories+' => 'Auditcategorieën',
- 'Menu:Notifications:Title' => 'Auditcategorieën',
- 'Menu:RunQueriesMenu' => 'Query\'s uitvoeren',
- 'Menu:RunQueriesMenu+' => 'Voer een query uit',
- 'Menu:QueryMenu' => 'Favoriete query\'s',
- 'Menu:QueryMenu+' => 'Favoriete query\'s',
- 'Menu:UniversalSearchMenu' => 'Globale zoekopdracht',
- 'Menu:UniversalSearchMenu+' => 'Zoek in alle data...',
- 'Menu:UserManagementMenu' => 'Gebruikersbeheer',
- 'Menu:UserManagementMenu+' => 'Gebruikersbeheer',
- 'Menu:ProfilesMenu' => 'Profielen',
- 'Menu:ProfilesMenu+' => 'Profielen',
- 'Menu:ProfilesMenu:Title' => 'Profielen',
- 'Menu:UserAccountsMenu' => 'Gebruikersaccounts',
- 'Menu:UserAccountsMenu+' => 'Gebruikersaccounts',
- 'Menu:UserAccountsMenu:Title' => 'Gebruikersaccounts',
- 'Menu:MyShortcuts' => 'Mijn snelkoppelingen',
- 'Menu:UserManagement' => 'Gebruikersbeheer',
- 'Menu:Queries' => 'Query\'s',
- 'Menu:ConfigurationTools' => 'Configuratie',
-));
-
-//
-// Class: AbstractResource
-//
-
-Dict::Add('NL NL', 'Dutch', 'Nederlands', array(
- 'Class:AbstractResource' => 'Abstracte Tool',
- 'Class:AbstractResource+' => '',
-));
-
-//
-// Class: ResourceAdminMenu
-//
-
-Dict::Add('NL NL', 'Dutch', 'Nederlands', array(
- 'Class:ResourceAdminMenu' => 'Tool "Admin Menu"',
- 'Class:ResourceAdminMenu+' => '',
-));
-
-//
-// Class: ResourceRunQueriesMenu
-//
-
-Dict::Add('NL NL', 'Dutch', 'Nederlands', array(
- 'Class:ResourceRunQueriesMenu' => 'Tool "Voer query\'s uit" Menu',
- 'Class:ResourceRunQueriesMenu+' => '',
-));
-
-//
-// Class: Action
-//
-
-Dict::Add('NL NL', 'Dutch', 'Nederlands', array(
- 'Class:ResourceSystemMenu' => 'Tool "System Menu"',
- 'Class:ResourceSystemMenu+' => '',
-));
diff --git a/datamodels/2.x/itop-welcome-itil/pt_br.dict.itop-welcome-itil.php b/datamodels/2.x/itop-welcome-itil/pt_br.dict.itop-welcome-itil.php
index 87b308a69..9885c8675 100644
--- a/datamodels/2.x/itop-welcome-itil/pt_br.dict.itop-welcome-itil.php
+++ b/datamodels/2.x/itop-welcome-itil/pt_br.dict.itop-welcome-itil.php
@@ -19,77 +19,3 @@
* @copyright Copyright (C) 2010-2014 Combodo SARL
* @license http://opensource.org/licenses/AGPL-3.0
*/
-Dict::Add('PT BR', 'Brazilian', 'Brazilian', array(
- 'Menu:DataSources' => 'Fontes de dados de sincronização',
- 'Menu:DataSources+' => 'Todas fontes de dados de sincronização',
- 'Menu:WelcomeMenu' => 'Bem-vindo ao iTop',
- 'Menu:WelcomeMenu+' => 'Bem-vindo ao iTop',
- 'Menu:WelcomeMenuPage' => 'Bem-vindo ao iTop',
- 'Menu:WelcomeMenuPage+' => 'Bem-vindo ao iTop',
- 'Menu:AdminTools' => 'Ferramentas Administrativas',
- 'Menu:AdminTools+' => 'Ferramentas Administrativas',
- 'Menu:AdminTools?' => 'Ferramentas acessíveis apenas para usuários com o perfil do administrador',
- 'Menu:DataModelMenu' => 'Modelo Dados',
- 'Menu:DataModelMenu+' => 'Visão geral do Modelo Dados',
- 'Menu:ExportMenu' => 'Exportar',
- 'Menu:ExportMenu+' => 'Exportar o resultado de qualquer consulta em HTML, CSV ou XML',
- 'Menu:NotificationsMenu' => 'Notificações',
- 'Menu:NotificationsMenu+' => 'Configuração de Notificações',
- 'Menu:AuditCategories' => 'Categoria Auditorias',
- 'Menu:AuditCategories+' => 'Categoria Auditorias',
- 'Menu:Notifications:Title' => 'Categoria Auditorias',
- 'Menu:RunQueriesMenu' => 'Executar consultas',
- 'Menu:RunQueriesMenu+' => 'Executar qualquer consulta',
- 'Menu:QueryMenu' => 'Consulta definida',
- 'Menu:QueryMenu+' => 'Consulta definida',
- 'Menu:UniversalSearchMenu' => 'Pesquisa Universal',
- 'Menu:UniversalSearchMenu+' => 'Pesquisar por nada...',
- 'Menu:UserManagementMenu' => 'Gerenciamento Usuários',
- 'Menu:UserManagementMenu+' => 'Gerenciamento Usuários',
- 'Menu:ProfilesMenu' => 'Perfis',
- 'Menu:ProfilesMenu+' => 'Perfis',
- 'Menu:ProfilesMenu:Title' => 'Perfis',
- 'Menu:UserAccountsMenu' => 'Contas usuários',
- 'Menu:UserAccountsMenu+' => 'Contas usuários',
- 'Menu:UserAccountsMenu:Title' => 'Contas usuários',
- 'Menu:MyShortcuts' => 'Meus atalhos',
- 'Menu:UserManagement' => 'User Management~~',
- 'Menu:Queries' => 'Queries~~',
- 'Menu:ConfigurationTools' => 'Configuration~~',
-));
-
-//
-// Class: AbstractResource
-//
-
-Dict::Add('PT BR', 'Brazilian', 'Brazilian', array(
- 'Class:AbstractResource' => 'Recurso abstrato',
- 'Class:AbstractResource+' => '',
-));
-
-//
-// Class: ResourceAdminMenu
-//
-
-Dict::Add('PT BR', 'Brazilian', 'Brazilian', array(
- 'Class:ResourceAdminMenu' => 'Recurso Admin Menu',
- 'Class:ResourceAdminMenu+' => '',
-));
-
-//
-// Class: ResourceRunQueriesMenu
-//
-
-Dict::Add('PT BR', 'Brazilian', 'Brazilian', array(
- 'Class:ResourceRunQueriesMenu' => 'Menu de consultas de execução de recursos',
- 'Class:ResourceRunQueriesMenu+' => '',
-));
-
-//
-// Class: Action
-//
-
-Dict::Add('PT BR', 'Brazilian', 'Brazilian', array(
- 'Class:ResourceSystemMenu' => 'Resource System Menu~~',
- 'Class:ResourceSystemMenu+' => '~~',
-));
diff --git a/datamodels/2.x/itop-welcome-itil/ru.dict.itop-welcome-itil.php b/datamodels/2.x/itop-welcome-itil/ru.dict.itop-welcome-itil.php
index 2ce6a6285..84ef741ee 100644
--- a/datamodels/2.x/itop-welcome-itil/ru.dict.itop-welcome-itil.php
+++ b/datamodels/2.x/itop-welcome-itil/ru.dict.itop-welcome-itil.php
@@ -8,77 +8,3 @@
* @license http://opensource.org/licenses/AGPL-3.0
*
*/
-Dict::Add('RU RU', 'Russian', 'Русский', array(
- 'Menu:DataSources' => 'Синхронизация данных',
- 'Menu:DataSources+' => 'Синхронизация данных',
- 'Menu:WelcomeMenu' => 'Добро пожаловать',
- 'Menu:WelcomeMenu+' => 'Добро пожаловать в iTop',
- 'Menu:WelcomeMenuPage' => 'Добро пожаловать',
- 'Menu:WelcomeMenuPage+' => 'Добро пожаловать в iTop',
- 'Menu:AdminTools' => 'Инструменты администратора',
- 'Menu:AdminTools+' => 'Инструменты администратора',
- 'Menu:AdminTools?' => 'Инструменты доступны только для пользователей c правами администратора',
- 'Menu:DataModelMenu' => 'Модель данных',
- 'Menu:DataModelMenu+' => 'Обзор модели данных',
- 'Menu:ExportMenu' => 'Экспорт',
- 'Menu:ExportMenu+' => 'Экспорт результатов любого запроса в HTML, CSV или XML',
- 'Menu:NotificationsMenu' => 'Уведомления',
- 'Menu:NotificationsMenu+' => 'Конфигурация уведомлений',
- 'Menu:AuditCategories' => 'Категории аудита',
- 'Menu:AuditCategories+' => 'Категории аудита',
- 'Menu:Notifications:Title' => 'Категории аудита',
- 'Menu:RunQueriesMenu' => 'Выполнение запросов',
- 'Menu:RunQueriesMenu+' => 'Выполнение любых запросов',
- 'Menu:QueryMenu' => 'Книга запросов',
- 'Menu:QueryMenu+' => 'Книга запросов',
- 'Menu:UniversalSearchMenu' => 'Универсальный поиск',
- 'Menu:UniversalSearchMenu+' => 'Поиск чего угодно...',
- 'Menu:UserManagementMenu' => 'Управление пользователями',
- 'Menu:UserManagementMenu+' => 'Управление пользователями',
- 'Menu:ProfilesMenu' => 'Профили',
- 'Menu:ProfilesMenu+' => 'Профили пользователей',
- 'Menu:ProfilesMenu:Title' => 'Профили пользователей',
- 'Menu:UserAccountsMenu' => 'Учетные записи',
- 'Menu:UserAccountsMenu+' => 'Учетные записи пользователей',
- 'Menu:UserAccountsMenu:Title' => 'Учетные записи пользователей',
- 'Menu:MyShortcuts' => 'Избранное',
- 'Menu:UserManagement' => 'Управление пользователями',
- 'Menu:Queries' => 'Запросы OQL',
- 'Menu:ConfigurationTools' => 'Конфигурация',
-));
-
-//
-// Class: AbstractResource
-//
-
-Dict::Add('RU RU', 'Russian', 'Русский', array(
- 'Class:AbstractResource' => 'Ресурс',
- 'Class:AbstractResource+' => '',
-));
-
-//
-// Class: ResourceAdminMenu
-//
-
-Dict::Add('RU RU', 'Russian', 'Русский', array(
- 'Class:ResourceAdminMenu' => 'Меню Инструменты администратора',
- 'Class:ResourceAdminMenu+' => '',
-));
-
-//
-// Class: ResourceRunQueriesMenu
-//
-
-Dict::Add('RU RU', 'Russian', 'Русский', array(
- 'Class:ResourceRunQueriesMenu' => 'Меню Выполнение запросов',
- 'Class:ResourceRunQueriesMenu+' => '',
-));
-
-//
-// Class: Action
-//
-
-Dict::Add('RU RU', 'Russian', 'Русский', array(
- 'Class:ResourceSystemMenu' => 'Меню Система',
- 'Class:ResourceSystemMenu+' => '',
-));
diff --git a/datamodels/2.x/itop-welcome-itil/sk.dict.itop-welcome-itil.php b/datamodels/2.x/itop-welcome-itil/sk.dict.itop-welcome-itil.php
index 395f7f0fb..9fbec3a84 100644
--- a/datamodels/2.x/itop-welcome-itil/sk.dict.itop-welcome-itil.php
+++ b/datamodels/2.x/itop-welcome-itil/sk.dict.itop-welcome-itil.php
@@ -20,77 +20,3 @@
* You should have received a copy of the GNU Affero General Public License
* along with iTop. If not, see
*/
-Dict::Add('SK SK', 'Slovak', 'Slovenčina', array(
- 'Menu:DataSources' => 'Synchronizované zdroje dát',
- 'Menu:DataSources+' => '',
- 'Menu:WelcomeMenu' => 'Vitajte',
- 'Menu:WelcomeMenu+' => '',
- 'Menu:WelcomeMenuPage' => 'Vitajte',
- 'Menu:WelcomeMenuPage+' => '',
- 'Menu:AdminTools' => 'Administrátorské pomôcky',
- 'Menu:AdminTools+' => '',
- 'Menu:AdminTools?' => 'Pomôcky prístupné iba užívateľom majúcim administrátorský profil',
- 'Menu:DataModelMenu' => 'Dátový model',
- 'Menu:DataModelMenu+' => '',
- 'Menu:ExportMenu' => 'Export',
- 'Menu:ExportMenu+' => '',
- 'Menu:NotificationsMenu' => 'Upozornenia',
- 'Menu:NotificationsMenu+' => '',
- 'Menu:AuditCategories' => 'Kategórie auditu',
- 'Menu:AuditCategories+' => '',
- 'Menu:Notifications:Title' => 'Kategórie auditu',
- 'Menu:RunQueriesMenu' => 'Spustiť dopyty',
- 'Menu:RunQueriesMenu+' => '',
- 'Menu:QueryMenu' => 'Dopyt frázy',
- 'Menu:QueryMenu+' => '',
- 'Menu:UniversalSearchMenu' => 'Univerzálne vyhľadávanie',
- 'Menu:UniversalSearchMenu+' => '',
- 'Menu:UserManagementMenu' => 'Užívateľský manažment',
- 'Menu:UserManagementMenu+' => '',
- 'Menu:ProfilesMenu' => 'Profily',
- 'Menu:ProfilesMenu+' => '',
- 'Menu:ProfilesMenu:Title' => 'Profily',
- 'Menu:UserAccountsMenu' => 'Užívateľské účty',
- 'Menu:UserAccountsMenu+' => '',
- 'Menu:UserAccountsMenu:Title' => 'Užívateľské účty',
- 'Menu:MyShortcuts' => 'Moje skratky',
- 'Menu:UserManagement' => 'User Management~~',
- 'Menu:Queries' => 'Queries~~',
- 'Menu:ConfigurationTools' => 'Configuration~~',
-));
-
-//
-// Class: AbstractResource
-//
-
-Dict::Add('SK SK', 'Slovak', 'Slovenčina', array(
- 'Class:AbstractResource' => 'Abstract Resource~~',
- 'Class:AbstractResource+' => '~~',
-));
-
-//
-// Class: ResourceAdminMenu
-//
-
-Dict::Add('SK SK', 'Slovak', 'Slovenčina', array(
- 'Class:ResourceAdminMenu' => 'Resource Admin Menu~~',
- 'Class:ResourceAdminMenu+' => '~~',
-));
-
-//
-// Class: ResourceRunQueriesMenu
-//
-
-Dict::Add('SK SK', 'Slovak', 'Slovenčina', array(
- 'Class:ResourceRunQueriesMenu' => 'Resource Run Queries Menu~~',
- 'Class:ResourceRunQueriesMenu+' => '~~',
-));
-
-//
-// Class: Action
-//
-
-Dict::Add('SK SK', 'Slovak', 'Slovenčina', array(
- 'Class:ResourceSystemMenu' => 'Resource System Menu~~',
- 'Class:ResourceSystemMenu+' => '~~',
-));
diff --git a/datamodels/2.x/itop-welcome-itil/tr.dict.itop-welcome-itil.php b/datamodels/2.x/itop-welcome-itil/tr.dict.itop-welcome-itil.php
index 7bf762018..9885c8675 100644
--- a/datamodels/2.x/itop-welcome-itil/tr.dict.itop-welcome-itil.php
+++ b/datamodels/2.x/itop-welcome-itil/tr.dict.itop-welcome-itil.php
@@ -19,77 +19,3 @@
* @copyright Copyright (C) 2010-2014 Combodo SARL
* @license http://opensource.org/licenses/AGPL-3.0
*/
-Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
- 'Menu:DataSources' => 'Synchronization Data Sources~~',
- 'Menu:DataSources+' => 'All Synchronization Data Sources~~',
- 'Menu:WelcomeMenu' => 'Hoşgeldiniz',
- 'Menu:WelcomeMenu+' => 'iTop\'a Hoşgeldiniz',
- 'Menu:WelcomeMenuPage' => 'Hoşgeldiniz',
- 'Menu:WelcomeMenuPage+' => 'iTop\'a Hoşgeldiniz',
- 'Menu:AdminTools' => 'Yönetim Araçları',
- 'Menu:AdminTools+' => 'Yönetim Araçları',
- 'Menu:AdminTools?' => 'Yönetici profiline izin verilen araçlar',
- 'Menu:DataModelMenu' => 'Veri Modeli',
- 'Menu:DataModelMenu+' => 'Veri Modeli Özeti',
- 'Menu:ExportMenu' => 'Dışarı ver',
- 'Menu:ExportMenu+' => 'Sorgu sonucunu HTML, CSV veya XML olarak dışarı aktar',
- 'Menu:NotificationsMenu' => 'Uyarılar',
- 'Menu:NotificationsMenu+' => 'Uyarıların yapılandırılması',
- 'Menu:AuditCategories' => 'Denetleme Kategorileri',
- 'Menu:AuditCategories+' => 'Denetleme Kategorileri',
- 'Menu:Notifications:Title' => 'Denetleme Kategorileri',
- 'Menu:RunQueriesMenu' => 'Sorgu çalıştır',
- 'Menu:RunQueriesMenu+' => 'Sorgu çalıştır',
- 'Menu:QueryMenu' => 'Query phrasebook~~',
- 'Menu:QueryMenu+' => 'Query phrasebook~~',
- 'Menu:UniversalSearchMenu' => 'Genel sorgu',
- 'Menu:UniversalSearchMenu+' => 'Herhangi bir arama...',
- 'Menu:UserManagementMenu' => 'Kullanıcı Yönetimi',
- 'Menu:UserManagementMenu+' => 'Kullanıcı Yönetimi',
- 'Menu:ProfilesMenu' => 'Profiller',
- 'Menu:ProfilesMenu+' => 'Profiller',
- 'Menu:ProfilesMenu:Title' => 'Profiller',
- 'Menu:UserAccountsMenu' => 'Kullanıcı Hesapları',
- 'Menu:UserAccountsMenu+' => 'Kullanıcı Hesapları',
- 'Menu:UserAccountsMenu:Title' => 'Kullanıcı Hesapları',
- 'Menu:MyShortcuts' => 'My Shortcuts~~',
- 'Menu:UserManagement' => 'User Management~~',
- 'Menu:Queries' => 'Queries~~',
- 'Menu:ConfigurationTools' => 'Configuration~~',
-));
-
-//
-// Class: AbstractResource
-//
-
-Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
- 'Class:AbstractResource' => 'Abstract Resource~~',
- 'Class:AbstractResource+' => '~~',
-));
-
-//
-// Class: ResourceAdminMenu
-//
-
-Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
- 'Class:ResourceAdminMenu' => 'Resource Admin Menu~~',
- 'Class:ResourceAdminMenu+' => '~~',
-));
-
-//
-// Class: ResourceRunQueriesMenu
-//
-
-Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
- 'Class:ResourceRunQueriesMenu' => 'Resource Run Queries Menu~~',
- 'Class:ResourceRunQueriesMenu+' => '~~',
-));
-
-//
-// Class: Action
-//
-
-Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
- 'Class:ResourceSystemMenu' => 'Resource System Menu~~',
- 'Class:ResourceSystemMenu+' => '~~',
-));
diff --git a/datamodels/2.x/itop-welcome-itil/zh_cn.dict.itop-welcome-itil.php b/datamodels/2.x/itop-welcome-itil/zh_cn.dict.itop-welcome-itil.php
index 20e7959b7..9fbec3a84 100644
--- a/datamodels/2.x/itop-welcome-itil/zh_cn.dict.itop-welcome-itil.php
+++ b/datamodels/2.x/itop-welcome-itil/zh_cn.dict.itop-welcome-itil.php
@@ -20,77 +20,3 @@
* You should have received a copy of the GNU Affero General Public License
* along with iTop. If not, see
*/
-Dict::Add('ZH CN', 'Chinese', '简体中文', array(
- 'Menu:DataSources' => '同步数据源',
- 'Menu:DataSources+' => '所有同步数据源',
- 'Menu:WelcomeMenu' => '欢迎',
- 'Menu:WelcomeMenu+' => '欢迎使用iTop',
- 'Menu:WelcomeMenuPage' => '欢迎',
- 'Menu:WelcomeMenuPage+' => '欢迎使用iTop',
- 'Menu:AdminTools' => '管理工具',
- 'Menu:AdminTools+' => '管理工具',
- 'Menu:AdminTools?' => '具有管理员角色的用户才能使用的工具',
- 'Menu:DataModelMenu' => '数据模型',
- 'Menu:DataModelMenu+' => '数据模型概况',
- 'Menu:ExportMenu' => '导出',
- 'Menu:ExportMenu+' => '以HTML, CSV 或XML 格式导出任何查询的结果',
- 'Menu:NotificationsMenu' => '通知',
- 'Menu:NotificationsMenu+' => '配置通知',
- 'Menu:AuditCategories' => '审计类别',
- 'Menu:AuditCategories+' => '审计类别',
- 'Menu:Notifications:Title' => '审计类别',
- 'Menu:RunQueriesMenu' => '运行查询',
- 'Menu:RunQueriesMenu+' => '运行任何查询',
- 'Menu:QueryMenu' => '查询手册',
- 'Menu:QueryMenu+' => '查询手册',
- 'Menu:UniversalSearchMenu' => '全局搜索',
- 'Menu:UniversalSearchMenu+' => '搜索所有...',
- 'Menu:UserManagementMenu' => '用户管理',
- 'Menu:UserManagementMenu+' => '用户管理',
- 'Menu:ProfilesMenu' => '角色',
- 'Menu:ProfilesMenu+' => '角色',
- 'Menu:ProfilesMenu:Title' => '角色',
- 'Menu:UserAccountsMenu' => '用户帐户',
- 'Menu:UserAccountsMenu+' => '用户帐户',
- 'Menu:UserAccountsMenu:Title' => '用户帐户',
- 'Menu:MyShortcuts' => '我的快捷方式',
- 'Menu:UserManagement' => '用户管理',
- 'Menu:Queries' => '查询',
- 'Menu:ConfigurationTools' => '配置',
-));
-
-//
-// Class: AbstractResource
-//
-
-Dict::Add('ZH CN', 'Chinese', '简体中文', array(
- 'Class:AbstractResource' => '抽象资源',
- 'Class:AbstractResource+' => '',
-));
-
-//
-// Class: ResourceAdminMenu
-//
-
-Dict::Add('ZH CN', 'Chinese', '简体中文', array(
- 'Class:ResourceAdminMenu' => '资源管理菜单',
- 'Class:ResourceAdminMenu+' => '',
-));
-
-//
-// Class: ResourceRunQueriesMenu
-//
-
-Dict::Add('ZH CN', 'Chinese', '简体中文', array(
- 'Class:ResourceRunQueriesMenu' => 'Resource Run Queries Menu~~',
- 'Class:ResourceRunQueriesMenu+' => '',
-));
-
-//
-// Class: Action
-//
-
-Dict::Add('ZH CN', 'Chinese', '简体中文', array(
- 'Class:ResourceSystemMenu' => 'Resource System Menu~~',
- 'Class:ResourceSystemMenu+' => '',
-));
diff --git a/datamodels/2.x/version.xml b/datamodels/2.x/version.xml
index 57807b22e..5f5ac5376 100755
--- a/datamodels/2.x/version.xml
+++ b/datamodels/2.x/version.xml
@@ -1,4 +1,4 @@
- 2.8.0-dev
+ 2.8.0
diff --git a/dictionaries/cs.dictionary.itop.core.php b/dictionaries/cs.dictionary.itop.core.php
index a6cbc5787..ac78abe2c 100755
--- a/dictionaries/cs.dictionary.itop.core.php
+++ b/dictionaries/cs.dictionary.itop.core.php
@@ -1048,3 +1048,39 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', array(
'Class:AsyncTask/Attribute:finalclass' => 'Final class~~',
'Class:AsyncTask/Attribute:finalclass+' => '~~',
));
+
+//
+// Class: AbstractResource
+//
+
+Dict::Add('CS CZ', 'Czech', 'Čeština', array(
+ 'Class:AbstractResource' => 'Abstract Resource~~',
+ 'Class:AbstractResource+' => '~~',
+));
+
+//
+// Class: ResourceAdminMenu
+//
+
+Dict::Add('CS CZ', 'Czech', 'Čeština', array(
+ 'Class:ResourceAdminMenu' => 'Resource Admin Menu~~',
+ 'Class:ResourceAdminMenu+' => '~~',
+));
+
+//
+// Class: ResourceRunQueriesMenu
+//
+
+Dict::Add('CS CZ', 'Czech', 'Čeština', array(
+ 'Class:ResourceRunQueriesMenu' => 'Resource Run Queries Menu~~',
+ 'Class:ResourceRunQueriesMenu+' => '~~',
+));
+
+//
+// Class: Action
+//
+
+Dict::Add('CS CZ', 'Czech', 'Čeština', array(
+ 'Class:ResourceSystemMenu' => 'Resource System Menu~~',
+ 'Class:ResourceSystemMenu+' => '~~',
+));
diff --git a/dictionaries/cs.dictionary.itop.ui.php b/dictionaries/cs.dictionary.itop.ui.php
index 1016bf0ab..a876cb021 100755
--- a/dictionaries/cs.dictionary.itop.ui.php
+++ b/dictionaries/cs.dictionary.itop.ui.php
@@ -420,6 +420,9 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', array(
'UI:Button:Insert' => 'Insert~~',
'UI:Button:More' => 'More~~',
'UI:Button:Less' => 'Less~~',
+ 'UI:Button:Wait' => 'Please wait while updating fields~~',
+ 'UI:Treeview:CollapseAll' => 'Collapse All~~',
+ 'UI:Treeview:ExpandAll' => 'Expand All~~',
'UI:SearchToggle' => 'Hledání',
'UI:ClickToCreateNew' => 'Nový objekt (%1$s)',
@@ -857,7 +860,6 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', array(
'UI:FatalErrorMessage' => 'Závažná chyba, iTop nemůže pokračovat.',
'UI:Error_Details' => 'Chyba: %1$s',
- 'UI:PageTitle:ClassProjections' => 'iTop správa uživatelů - projekce tříd',
'UI:PageTitle:ProfileProjections' => 'iTop správa uživatelů - projekce profilů',
'UI:UserManagement:Class' => 'Třída',
'UI:UserManagement:Class+' => 'Třída objektů',
@@ -866,8 +868,6 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', array(
'UI:UserManagement:AnyObject' => '* jakýkoli *',
'UI:UserManagement:User' => 'Uživatel',
'UI:UserManagement:User+' => 'User zapojený do projekce',
- 'UI:UserManagement:Profile' => 'Profil',
- 'UI:UserManagement:Profile+' => 'Profil, ve kterém je projekce specifikována',
'UI:UserManagement:Action:Read' => 'Čtení',
'UI:UserManagement:Action:Read+' => 'Čtení/zobrazování objektů',
'UI:UserManagement:Action:Modify' => 'Upravování',
@@ -907,7 +907,6 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', array(
'UI:ChangeManagementMenu:Title' => 'Přehled změn',
'UI-ChangeManagementMenu-ChangesByType' => 'Změny podle typu',
'UI-ChangeManagementMenu-ChangesByStatus' => 'Změny podle stavu',
- 'UI-ChangeManagementMenu-ChangesByWorkgroup' => 'Změny podle pracovních skupin',
'UI-ChangeManagementMenu-ChangesNotYetAssigned' => 'Nepřidělené změny',
'UI:ConfigurationManagementMenu' => 'Správa konfigurací',
@@ -1441,6 +1440,8 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', array(
'UI:Button:RemoveImage' => 'Odebrat obrázek',
'UI:UploadNotSupportedInThisMode' => 'Úprava obrázků není v tomto režimu podporována.',
+ 'UI:Button:RemoveDocument' => 'Remove the document~~',
+
// Search form
'UI:Search:Toggle' => 'Minimize / Expand~~',
'UI:Search:AutoSubmit:DisabledHint' => 'Auto submit has been disabled for this class~~',
@@ -1584,3 +1585,42 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', array(
'UI:Newsroom:DisplayMessagesFor_Provider' => 'Display messages from %1$s~~',
'UI:Newsroom:DisplayAtMost_X_Messages' => 'Display up to %1$s messages in the %2$s menu.~~',
));
+
+Dict::Add('CS CZ', 'Czech', 'Čeština', array(
+ 'Menu:DataSources' => 'Zdroje dat pro synchronizaci',
+ 'Menu:DataSources+' => 'Všechny zdroje dat pro synchronizaci',
+ 'Menu:WelcomeMenu' => 'Vítejte',
+ 'Menu:WelcomeMenu+' => 'Vítejte v iTop',
+ 'Menu:WelcomeMenuPage' => 'Vítejte',
+ 'Menu:WelcomeMenuPage+' => 'Vítejte v iTop',
+ 'Menu:AdminTools' => 'Administrace',
+ 'Menu:AdminTools+' => 'Nástroje pro administraci',
+ 'Menu:AdminTools?' => 'Nástroje přístupné pouze uživatelům, kteří mají potřbná oprávnění',
+ 'Menu:DataModelMenu' => 'Datový model',
+ 'Menu:DataModelMenu+' => 'Přehled datového modelu',
+ 'Menu:ExportMenu' => 'Exportovat',
+ 'Menu:ExportMenu+' => 'Exportovat výsledky jakéhokoli dotazu do HTML, CSV nebo XML',
+ 'Menu:NotificationsMenu' => 'Upozornění',
+ 'Menu:NotificationsMenu+' => 'Konfigurace upozornění',
+ 'Menu:AuditCategories' => 'Kategorie auditu',
+ 'Menu:AuditCategories+' => 'Kategorie auditu',
+ 'Menu:Notifications:Title' => 'Kategorie auditu',
+ 'Menu:RunQueriesMenu' => 'Provést dotaz',
+ 'Menu:RunQueriesMenu+' => 'Provést dotaz',
+ 'Menu:QueryMenu' => 'Knihovna dotazů',
+ 'Menu:QueryMenu+' => 'Knihovna dotazů',
+ 'Menu:UniversalSearchMenu' => 'Univerzální hledání',
+ 'Menu:UniversalSearchMenu+' => 'Hledejte cokoli...',
+ 'Menu:UserManagementMenu' => 'Správa uživatelů',
+ 'Menu:UserManagementMenu+' => 'Správa uživatelů',
+ 'Menu:ProfilesMenu' => 'Profily (Role)',
+ 'Menu:ProfilesMenu+' => 'Profily (Role)',
+ 'Menu:ProfilesMenu:Title' => 'Profily (Role)',
+ 'Menu:UserAccountsMenu' => 'Uživatelské účty',
+ 'Menu:UserAccountsMenu+' => 'Uživatelské účty',
+ 'Menu:UserAccountsMenu:Title' => 'Uživatelské účty',
+ 'Menu:MyShortcuts' => 'Mé odkazy',
+ 'Menu:UserManagement' => 'User Management~~',
+ 'Menu:Queries' => 'Queries~~',
+ 'Menu:ConfigurationTools' => 'Configuration~~',
+));
diff --git a/dictionaries/da.dictionary.itop.core.php b/dictionaries/da.dictionary.itop.core.php
index 619451c68..b6c7e7bdc 100644
--- a/dictionaries/da.dictionary.itop.core.php
+++ b/dictionaries/da.dictionary.itop.core.php
@@ -1046,3 +1046,39 @@ Dict::Add('DA DA', 'Danish', 'Dansk', array(
'Class:AsyncTask/Attribute:finalclass' => 'Final class~~',
'Class:AsyncTask/Attribute:finalclass+' => '~~',
));
+
+//
+// Class: AbstractResource
+//
+
+Dict::Add('DA DA', 'Danish', 'Dansk', array(
+ 'Class:AbstractResource' => 'Abstract Resource~~',
+ 'Class:AbstractResource+' => '~~',
+));
+
+//
+// Class: ResourceAdminMenu
+//
+
+Dict::Add('DA DA', 'Danish', 'Dansk', array(
+ 'Class:ResourceAdminMenu' => 'Resource Admin Menu~~',
+ 'Class:ResourceAdminMenu+' => '~~',
+));
+
+//
+// Class: ResourceRunQueriesMenu
+//
+
+Dict::Add('DA DA', 'Danish', 'Dansk', array(
+ 'Class:ResourceRunQueriesMenu' => 'Resource Run Queries Menu~~',
+ 'Class:ResourceRunQueriesMenu+' => '~~',
+));
+
+//
+// Class: Action
+//
+
+Dict::Add('DA DA', 'Danish', 'Dansk', array(
+ 'Class:ResourceSystemMenu' => 'Resource System Menu~~',
+ 'Class:ResourceSystemMenu+' => '~~',
+));
diff --git a/dictionaries/da.dictionary.itop.ui.php b/dictionaries/da.dictionary.itop.ui.php
index c963f2bb9..a9580962e 100644
--- a/dictionaries/da.dictionary.itop.ui.php
+++ b/dictionaries/da.dictionary.itop.ui.php
@@ -407,6 +407,9 @@ Dict::Add('DA DA', 'Danish', 'Dansk', array(
'UI:Button:Insert' => 'Insert~~',
'UI:Button:More' => 'More~~',
'UI:Button:Less' => 'Less~~',
+ 'UI:Button:Wait' => 'Please wait while updating fields~~',
+ 'UI:Treeview:CollapseAll' => 'Collapse All~~',
+ 'UI:Treeview:ExpandAll' => 'Expand All~~',
'UI:SearchToggle' => 'Søg',
'UI:ClickToCreateNew' => 'Opret nyt objekt af typen %1$s ',
@@ -844,7 +847,6 @@ Dict::Add('DA DA', 'Danish', 'Dansk', array(
'UI:FatalErrorMessage' => 'Fatal fejl, iTop kan ikke fortsætte.',
'UI:Error_Details' => 'Fejl: %1$s.',
- 'UI:PageTitle:ClassProjections' => 'iTop bruger styring - klasse projection',
'UI:PageTitle:ProfileProjections' => 'iTop bruger styring - profil projection',
'UI:UserManagement:Class' => 'Klasse',
'UI:UserManagement:Class+' => '',
@@ -853,8 +855,6 @@ Dict::Add('DA DA', 'Danish', 'Dansk', array(
'UI:UserManagement:AnyObject' => '* enhver *',
'UI:UserManagement:User' => 'Bruger',
'UI:UserManagement:User+' => '',
- 'UI:UserManagement:Profile' => 'Profil',
- 'UI:UserManagement:Profile+' => '',
'UI:UserManagement:Action:Read' => 'Læs',
'UI:UserManagement:Action:Read+' => '',
'UI:UserManagement:Action:Modify' => 'Ændring',
@@ -894,7 +894,6 @@ Dict::Add('DA DA', 'Danish', 'Dansk', array(
'UI:ChangeManagementMenu:Title' => 'Changes Overblik',
'UI-ChangeManagementMenu-ChangesByType' => 'Changes efter type',
'UI-ChangeManagementMenu-ChangesByStatus' => 'Changes efter status',
- 'UI-ChangeManagementMenu-ChangesByWorkgroup' => 'Changes efter workgroup',
'UI-ChangeManagementMenu-ChangesNotYetAssigned' => 'Changes endnu ikke tildelt',
'UI:ConfigurationManagementMenu' => 'Configuration Management',
@@ -1430,6 +1429,8 @@ Ved tilknytningen til en trigger, bliver hver handling tildelt et "rækkefølge"
'UI:Button:RemoveImage' => 'Remove the image~~',
'UI:UploadNotSupportedInThisMode' => 'The modification of images or files is not supported in this mode.~~',
+ 'UI:Button:RemoveDocument' => 'Remove the document~~',
+
// Search form
'UI:Search:Toggle' => 'Minimize / Expand~~',
'UI:Search:AutoSubmit:DisabledHint' => 'Auto submit has been disabled for this class~~',
@@ -1573,3 +1574,42 @@ Dict::Add('DA DA', 'Danish', 'Dansk', array(
'UI:Newsroom:DisplayMessagesFor_Provider' => 'Display messages from %1$s~~',
'UI:Newsroom:DisplayAtMost_X_Messages' => 'Display up to %1$s messages in the %2$s menu.~~',
));
+
+Dict::Add('DA DA', 'Danish', 'Dansk', array(
+ 'Menu:DataSources' => 'Synkroniserings Data Kilder',
+ 'Menu:DataSources+' => 'All Synchronization Data Sources~~',
+ 'Menu:WelcomeMenu' => 'Velkomen',
+ 'Menu:WelcomeMenu+' => 'Velkommen til iTop',
+ 'Menu:WelcomeMenuPage' => 'Velkomen',
+ 'Menu:WelcomeMenuPage+' => 'Velkommen til iTop',
+ 'Menu:AdminTools' => 'Admin værktøjer',
+ 'Menu:AdminTools+' => 'Administration tools~~',
+ 'Menu:AdminTools?' => 'Værktøjer kun tilgængelige for brugere med administrator profil',
+ 'Menu:DataModelMenu' => 'Data Model~~',
+ 'Menu:DataModelMenu+' => 'Overview of the Data Model~~',
+ 'Menu:ExportMenu' => 'Export~~',
+ 'Menu:ExportMenu+' => 'Export the results of any query in HTML, CSV or XML~~',
+ 'Menu:NotificationsMenu' => 'Notifikationer',
+ 'Menu:NotificationsMenu+' => 'Configuration of the Notifications~~',
+ 'Menu:AuditCategories' => 'Audit Kategorier',
+ 'Menu:AuditCategories+' => 'Audit Categories~~',
+ 'Menu:Notifications:Title' => 'Audit Kategorier',
+ 'Menu:RunQueriesMenu' => 'Kør forespørgsler',
+ 'Menu:RunQueriesMenu+' => 'Run any query~~',
+ 'Menu:QueryMenu' => 'Query parlør',
+ 'Menu:QueryMenu+' => 'Query phrasebook~~',
+ 'Menu:UniversalSearchMenu' => 'Universal Søgning',
+ 'Menu:UniversalSearchMenu+' => 'Search for anything...~~',
+ 'Menu:UserManagementMenu' => 'Bruger styring',
+ 'Menu:UserManagementMenu+' => 'User management~~',
+ 'Menu:ProfilesMenu' => 'Profiler',
+ 'Menu:ProfilesMenu+' => 'Profiles~~',
+ 'Menu:ProfilesMenu:Title' => 'Profiler',
+ 'Menu:UserAccountsMenu' => 'Bruger konti',
+ 'Menu:UserAccountsMenu+' => 'User Accounts~~',
+ 'Menu:UserAccountsMenu:Title' => 'Bruger konti',
+ 'Menu:MyShortcuts' => 'Mine Genveje',
+ 'Menu:UserManagement' => 'User Management~~',
+ 'Menu:Queries' => 'Queries~~',
+ 'Menu:ConfigurationTools' => 'Configuration~~',
+));
diff --git a/dictionaries/de.dictionary.itop.core.php b/dictionaries/de.dictionary.itop.core.php
index 720df9d69..567ceb1b4 100644
--- a/dictionaries/de.dictionary.itop.core.php
+++ b/dictionaries/de.dictionary.itop.core.php
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU Affero General Public License
// along with iTop. If not, see
/**
- * @author Stephan Rosenke
+ * @author Stephan Rosenke ,
* @copyright Copyright (C) 2010-2017 Combodo SARL
* @licence http://opensource.org/licenses/AGPL-3.0
*/
@@ -1045,3 +1045,39 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
'Class:AsyncTask/Attribute:finalclass' => 'Final Class',
'Class:AsyncTask/Attribute:finalclass+' => '',
));
+
+//
+// Class: AbstractResource
+//
+
+Dict::Add('DE DE', 'German', 'Deutsch', array(
+ 'Class:AbstractResource' => 'Abstrakte Ressource',
+ 'Class:AbstractResource+' => '',
+));
+
+//
+// Class: ResourceAdminMenu
+//
+
+Dict::Add('DE DE', 'German', 'Deutsch', array(
+ 'Class:ResourceAdminMenu' => 'Ressource "Admin Menü"',
+ 'Class:ResourceAdminMenu+' => '',
+));
+
+//
+// Class: ResourceRunQueriesMenu
+//
+
+Dict::Add('DE DE', 'German', 'Deutsch', array(
+ 'Class:ResourceRunQueriesMenu' => 'Ressource "Abfrage Ausführen Menü"',
+ 'Class:ResourceRunQueriesMenu+' => '',
+));
+
+//
+// Class: Action
+//
+
+Dict::Add('DE DE', 'German', 'Deutsch', array(
+ 'Class:ResourceSystemMenu' => 'Ressource "System Menü"',
+ 'Class:ResourceSystemMenu+' => '',
+));
diff --git a/dictionaries/de.dictionary.itop.ui.php b/dictionaries/de.dictionary.itop.ui.php
index 7728a33c4..65e9ef506 100644
--- a/dictionaries/de.dictionary.itop.ui.php
+++ b/dictionaries/de.dictionary.itop.ui.php
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU Affero General Public License
// along with iTop. If not, see
/**
- * @author Stephan Rosenke
+ * @author Stephan Rosenke ,
* @copyright Copyright (C) 2010-2017 Combodo SARL
* @licence http://opensource.org/licenses/AGPL-3.0
*/
@@ -406,6 +406,9 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
'UI:Button:Insert' => 'Einfügen',
'UI:Button:More' => 'Mehr',
'UI:Button:Less' => 'Weniger',
+ 'UI:Button:Wait' => 'Please wait while updating fields~~',
+ 'UI:Treeview:CollapseAll' => 'Collapse All~~',
+ 'UI:Treeview:ExpandAll' => 'Expand All~~',
'UI:SearchToggle' => 'Suche',
'UI:ClickToCreateNew' => 'Klicken Sie hier, um eine neues Objekt vom Typ %1$s zu erstellen',
@@ -843,7 +846,6 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
'UI:FatalErrorMessage' => 'Fataler Fehler! iTop kann leider nicht fortfahren.',
'UI:Error_Details' => 'Fehler: %1$s.',
- 'UI:PageTitle:ClassProjections' => 'iTop Benutzerverwaltung - Klassenabbildung',
'UI:PageTitle:ProfileProjections' => 'iTop Benutzerverwaltung - Profilabbildung',
'UI:UserManagement:Class' => 'Klasse',
'UI:UserManagement:Class+' => 'Klasse von Objekten',
@@ -852,8 +854,6 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
'UI:UserManagement:AnyObject' => '* beliebig *',
'UI:UserManagement:User' => 'Benutzer',
'UI:UserManagement:User+' => 'Benutzer, der in Abbildung beteiligt ist.',
- 'UI:UserManagement:Profile' => 'Profil',
- 'UI:UserManagement:Profile+' => 'Profil, in welchem die Abbildung spezifiziert wird.',
'UI:UserManagement:Action:Read' => 'Lesen',
'UI:UserManagement:Action:Read+' => 'Lesen/Anzeigen von Objekten',
'UI:UserManagement:Action:Modify' => 'Verändern',
@@ -893,7 +893,6 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
'UI:ChangeManagementMenu:Title' => 'Übersicht an Changes',
'UI-ChangeManagementMenu-ChangesByType' => 'Changes ~nach Typ',
'UI-ChangeManagementMenu-ChangesByStatus' => 'Changes nach Status',
- 'UI-ChangeManagementMenu-ChangesByWorkgroup' => 'Changes nach Arbeitsgruppen',
'UI-ChangeManagementMenu-ChangesNotYetAssigned' => 'Changes, die noch nicht zugeordnet wurden',
'UI:ConfigurationManagementMenu' => 'Configuration Management',
@@ -1428,6 +1427,8 @@ Wenn Aktionen mit Trigger verknüpft sind, bekommt jede Aktion eine Auftragsnumm
'UI:Button:RemoveImage' => 'Bild löschen',
'UI:UploadNotSupportedInThisMode' => 'Die Modifizierung von Bildern oder Dateien wird in diesem Modus nicht unterstützt.',
+ 'UI:Button:RemoveDocument' => 'Remove the document~~',
+
// Search form
'UI:Search:Toggle' => 'Ein-/Ausklappen',
'UI:Search:AutoSubmit:DisabledHint' => 'Automatische Eingabe für diese Klasse deaktiviert',
@@ -1571,3 +1572,42 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
'UI:Newsroom:DisplayMessagesFor_Provider' => 'Nachrichten von %1$s anzeigen',
'UI:Newsroom:DisplayAtMost_X_Messages' => 'Zeigen Sie höchstens %1$s Beiträge im Menü (%2$s) an.',
));
+
+Dict::Add('DE DE', 'German', 'Deutsch', array(
+ 'Menu:DataSources' => 'Datenquellen für die Synchronisation',
+ 'Menu:DataSources+' => 'Alle Datenquellen für die Synchronisation',
+ 'Menu:WelcomeMenu' => 'Willkommen',
+ 'Menu:WelcomeMenu+' => 'Willkommen bei iTop',
+ 'Menu:WelcomeMenuPage' => 'Willkommen',
+ 'Menu:WelcomeMenuPage+' => 'Willkommen bei iTop',
+ 'Menu:AdminTools' => 'Admin-Tools',
+ 'Menu:AdminTools+' => 'Administrationswerkzeuge',
+ 'Menu:AdminTools?' => 'Werkzeuge, die nur für Benutzer mit Adminstratorprofil zugänglich sind',
+ 'Menu:DataModelMenu' => 'Datenmodell',
+ 'Menu:DataModelMenu+' => 'Übersicht des Datenmodells',
+ 'Menu:ExportMenu' => 'Export',
+ 'Menu:ExportMenu+' => 'Export einer beliebigen Abfrage in HTML, CSV oder XML',
+ 'Menu:NotificationsMenu' => 'Benachrichtigungen',
+ 'Menu:NotificationsMenu+' => 'Einstellungen der Benachrichtigungen',
+ 'Menu:AuditCategories' => 'Audit-Kategorien',
+ 'Menu:AuditCategories+' => 'Audit-Kategorien',
+ 'Menu:Notifications:Title' => 'Audit-Kategorien',
+ 'Menu:RunQueriesMenu' => 'Abfrage ausführen',
+ 'Menu:RunQueriesMenu+' => 'Eine beliebige Abfrage ausführen',
+ 'Menu:QueryMenu' => 'Query-Bibliothek',
+ 'Menu:QueryMenu+' => '',
+ 'Menu:UniversalSearchMenu' => 'Universelle Suche',
+ 'Menu:UniversalSearchMenu+' => 'Suchen Sie nach beliebigen Inhalt...',
+ 'Menu:UserManagementMenu' => 'Benutzerverwaltung',
+ 'Menu:UserManagementMenu+' => 'Benutzerverwaltung',
+ 'Menu:ProfilesMenu' => 'Profile',
+ 'Menu:ProfilesMenu+' => 'Profile',
+ 'Menu:ProfilesMenu:Title' => 'Profile',
+ 'Menu:UserAccountsMenu' => 'Benutzerkonten',
+ 'Menu:UserAccountsMenu+' => 'Benutzerkonten',
+ 'Menu:UserAccountsMenu:Title' => 'Benutzerkonten',
+ 'Menu:MyShortcuts' => 'Meine Shortcuts',
+ 'Menu:UserManagement' => 'Benutzerverwaltung',
+ 'Menu:Queries' => 'OQL Abfragen',
+ 'Menu:ConfigurationTools' => 'Konfiguration',
+));
diff --git a/dictionaries/en.dictionary.itop.core.php b/dictionaries/en.dictionary.itop.core.php
index 38214190e..efda67374 100644
--- a/dictionaries/en.dictionary.itop.core.php
+++ b/dictionaries/en.dictionary.itop.core.php
@@ -1046,3 +1046,39 @@ Dict::Add('EN US', 'English', 'English', array(
'Class:AsyncTask/Attribute:finalclass' => 'Final class',
'Class:AsyncTask/Attribute:finalclass+' => '',
));
+
+//
+// Class: AbstractResource
+//
+
+Dict::Add('EN US', 'English', 'English', array(
+ 'Class:AbstractResource' => 'Abstract Resource',
+ 'Class:AbstractResource+' => '',
+));
+
+//
+// Class: ResourceAdminMenu
+//
+
+Dict::Add('EN US', 'English', 'English', array(
+ 'Class:ResourceAdminMenu' => 'Resource Admin Menu',
+ 'Class:ResourceAdminMenu+' => '',
+));
+
+//
+// Class: ResourceRunQueriesMenu
+//
+
+Dict::Add('EN US', 'English', 'English', array(
+ 'Class:ResourceRunQueriesMenu' => 'Resource Run Queries Menu',
+ 'Class:ResourceRunQueriesMenu+' => '',
+));
+
+//
+// Class: Action
+//
+
+Dict::Add('EN US', 'English', 'English', array(
+ 'Class:ResourceSystemMenu' => 'Resource System Menu',
+ 'Class:ResourceSystemMenu+' => '',
+));
diff --git a/dictionaries/en.dictionary.itop.ui.php b/dictionaries/en.dictionary.itop.ui.php
index a9852d686..05746117c 100644
--- a/dictionaries/en.dictionary.itop.ui.php
+++ b/dictionaries/en.dictionary.itop.ui.php
@@ -460,7 +460,7 @@ Dict::Add('EN US', 'English', 'English', array(
'UI:Error:BulkModifyNotAllowedOn_Class' => 'You are not allowed to perform a bulk update of objects of class %1$s',
'UI:Error:ObjectAlreadyCloned' => 'Error: the object has already been cloned!',
'UI:Error:ObjectAlreadyCreated' => 'Error: the object has already been created!',
- 'UI:Error:Invalid_Stimulus_On_Object_In_State' => 'Error: invalid stimulus "%1$s" on object %2$s in state "%3$s".',
+ 'UI:Error:Invalid_Stimulus_On_Object_In_State' => '%2$s is currently in the "%3$s" state, the "%1$s" operation you requested could not be applied.',
'UI:Error:InvalidDashboardFile' => 'Error: invalid dashboard file',
'UI:Error:InvalidDashboard' => 'Error: invalid dashboard',
'UI:Error:MaintenanceMode' => 'Application is currently in maintenance',
@@ -863,7 +863,6 @@ Dict::Add('EN US', 'English', 'English', array(
'UI:FatalErrorMessage' => 'Fatal error, '.ITOP_APPLICATION_SHORT.' cannot continue.',
'UI:Error_Details' => 'Error: %1$s.',
- 'UI:PageTitle:ClassProjections' => ITOP_APPLICATION_SHORT.' user management - class projections',
'UI:PageTitle:ProfileProjections' => ITOP_APPLICATION_SHORT.' user management - profile projections',
'UI:UserManagement:Class' => 'Class',
'UI:UserManagement:Class+' => 'Class of objects',
@@ -872,8 +871,6 @@ Dict::Add('EN US', 'English', 'English', array(
'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',
@@ -913,7 +910,6 @@ Dict::Add('EN US', 'English', 'English', array(
'UI:ChangeManagementMenu:Title' => 'Changes Overview',
'UI-ChangeManagementMenu-ChangesByType' => 'Changes by type',
'UI-ChangeManagementMenu-ChangesByStatus' => 'Changes by status',
- 'UI-ChangeManagementMenu-ChangesByWorkgroup' => 'Changes by workgroup',
'UI-ChangeManagementMenu-ChangesNotYetAssigned' => 'Changes not yet assigned',
'UI:ConfigurationManagementMenu' => 'Configuration Management',
@@ -1595,3 +1591,43 @@ Dict::Add('EN US', 'English', 'English', array(
'UI:Newsroom:DisplayMessagesFor_Provider' => 'Display messages from %1$s',
'UI:Newsroom:DisplayAtMost_X_Messages' => 'Display up to %1$s messages in the %2$s menu.',
));
+
+
+Dict::Add('EN US', 'English', 'English', array(
+ 'Menu:DataSources' => 'Synchronization Data Sources',
+ 'Menu:DataSources+' => 'All Synchronization Data Sources',
+ 'Menu:WelcomeMenu' => 'Welcome',
+ 'Menu:WelcomeMenu+' => 'Welcome to iTop',
+ 'Menu:WelcomeMenuPage' => 'Welcome',
+ 'Menu:WelcomeMenuPage+' => 'Welcome to iTop',
+ 'Menu:AdminTools' => 'Administration',
+ 'Menu:AdminTools+' => 'Administration tools',
+ 'Menu:AdminTools?' => 'Tools accessible only to users having the administrator profile',
+ 'Menu:DataModelMenu' => 'Data Model',
+ 'Menu:DataModelMenu+' => 'Overview of the Data Model',
+ 'Menu:ExportMenu' => 'Export',
+ 'Menu:ExportMenu+' => 'Export the results of any query in HTML, CSV or XML',
+ 'Menu:NotificationsMenu' => 'Notifications',
+ 'Menu:NotificationsMenu+' => 'Configuration of the Notifications',
+ 'Menu:AuditCategories' => 'Audit Categories',
+ 'Menu:AuditCategories+' => 'Audit Categories',
+ 'Menu:Notifications:Title' => 'Audit Categories',
+ 'Menu:RunQueriesMenu' => 'Run Queries',
+ 'Menu:RunQueriesMenu+' => 'Run any query',
+ 'Menu:QueryMenu' => 'Query phrasebook',
+ 'Menu:QueryMenu+' => 'Query phrasebook',
+ 'Menu:UniversalSearchMenu' => 'Universal Search',
+ 'Menu:UniversalSearchMenu+' => 'Search for anything...',
+ 'Menu:UserManagementMenu' => 'User Management',
+ 'Menu:UserManagementMenu+' => 'User management',
+ 'Menu:ProfilesMenu' => 'Profiles',
+ 'Menu:ProfilesMenu+' => 'Profiles',
+ 'Menu:ProfilesMenu:Title' => 'Profiles',
+ 'Menu:UserAccountsMenu' => 'User Accounts',
+ 'Menu:UserAccountsMenu+' => 'User Accounts',
+ 'Menu:UserAccountsMenu:Title' => 'User Accounts',
+ 'Menu:MyShortcuts' => 'My Shortcuts',
+ 'Menu:UserManagement' => 'User Management',
+ 'Menu:Queries' => 'Queries',
+ 'Menu:ConfigurationTools' => 'Configuration',
+));
diff --git a/dictionaries/es_cr.dictionary.itop.core.php b/dictionaries/es_cr.dictionary.itop.core.php
index c0d645a24..bbfc2006c 100644
--- a/dictionaries/es_cr.dictionary.itop.core.php
+++ b/dictionaries/es_cr.dictionary.itop.core.php
@@ -1046,3 +1046,39 @@ Dict::Add('ES CR', 'Spanish', 'Español, Castellaño', array(
'Class:AsyncTask/Attribute:finalclass' => 'Clase',
'Class:AsyncTask/Attribute:finalclass+' => 'Clase',
));
+
+//
+// Class: AbstractResource
+//
+
+Dict::Add('ES CR', 'Spanish', 'Español, Castellaño', array(
+ 'Class:AbstractResource' => 'Recurso abstracto',
+ 'Class:AbstractResource+' => '~~',
+));
+
+//
+// Class: ResourceAdminMenu
+//
+
+Dict::Add('ES CR', 'Spanish', 'Español, Castellaño', array(
+ 'Class:ResourceAdminMenu' => 'Recursos de Menú de Administración',
+ 'Class:ResourceAdminMenu+' => '~~',
+));
+
+//
+// Class: ResourceRunQueriesMenu
+//
+
+Dict::Add('ES CR', 'Spanish', 'Español, Castellaño', array(
+ 'Class:ResourceRunQueriesMenu' => 'Recurso Libreta de Consultas',
+ 'Class:ResourceRunQueriesMenu+' => '~~',
+));
+
+//
+// Class: Action
+//
+
+Dict::Add('ES CR', 'Spanish', 'Español, Castellaño', array(
+ 'Class:ResourceSystemMenu' => 'Recurso Menú de Sistema',
+ 'Class:ResourceSystemMenu+' => '~~',
+));
diff --git a/dictionaries/es_cr.dictionary.itop.ui.php b/dictionaries/es_cr.dictionary.itop.ui.php
index 514ee398d..0e5699ad1 100644
--- a/dictionaries/es_cr.dictionary.itop.ui.php
+++ b/dictionaries/es_cr.dictionary.itop.ui.php
@@ -418,6 +418,9 @@ Dict::Add('ES CR', 'Spanish', 'Español, Castellaño', array(
'UI:Button:Insert' => 'Insertar',
'UI:Button:More' => 'Más',
'UI:Button:Less' => 'Menos',
+ 'UI:Button:Wait' => 'Please wait while updating fields~~',
+ 'UI:Treeview:CollapseAll' => 'Collapse All~~',
+ 'UI:Treeview:ExpandAll' => 'Expand All~~',
'UI:SearchToggle' => 'Buscar',
'UI:ClickToCreateNew' => 'Crear %1$s',
@@ -855,7 +858,6 @@ Dict::Add('ES CR', 'Spanish', 'Español, Castellaño', array(
'UI:FatalErrorMessage' => 'Error fatal, iTop no puede continuar.',
'UI:Error_Details' => 'Error: %1$s.',
- 'UI:PageTitle:ClassProjections' => 'Administración de usuarios iTop - proyecciones de clases',
'UI:PageTitle:ProfileProjections' => 'Administración de usuarios iTop - proyecciones de Perfil',
'UI:UserManagement:Class' => 'Clase',
'UI:UserManagement:Class+' => 'Clase de objetos',
@@ -864,8 +866,6 @@ Dict::Add('ES CR', 'Spanish', 'Español, Castellaño', array(
'UI:UserManagement:AnyObject' => '* cualquiera *',
'UI:UserManagement:User' => 'Usuario',
'UI:UserManagement:User+' => 'Usuario implicado en la proyección',
- 'UI:UserManagement:Profile' => 'Perfil',
- 'UI:UserManagement:Profile+' => 'Perfil en el cual se especifico la proyección',
'UI:UserManagement:Action:Read' => 'Leer',
'UI:UserManagement:Action:Read+' => 'Leer/Mostrar objetos',
'UI:UserManagement:Action:Modify' => 'Modificar',
@@ -905,7 +905,6 @@ Dict::Add('ES CR', 'Spanish', 'Español, Castellaño', array(
'UI:ChangeManagementMenu:Title' => 'Resumen de Cambios',
'UI-ChangeManagementMenu-ChangesByType' => 'Cambios por Tipo',
'UI-ChangeManagementMenu-ChangesByStatus' => 'Cambios por Estatus',
- 'UI-ChangeManagementMenu-ChangesByWorkgroup' => 'Cambios por Grupo de Trabajo',
'UI-ChangeManagementMenu-ChangesNotYetAssigned' => 'Cambios No Asignados Aún',
'UI:ConfigurationManagementMenu' => 'Administración de la Configuración',
@@ -1443,6 +1442,8 @@ Cuando se asocien con un disparador, cada acción recibe un número de "orden",
'UI:Button:RemoveImage' => 'Remover imágen',
'UI:UploadNotSupportedInThisMode' => 'La modificación de imágenes o archivos no está soportado en este modo.',
+ 'UI:Button:RemoveDocument' => 'Remove the document~~',
+
// Search form
'UI:Search:Toggle' => 'Minimizar/ Expandir',
'UI:Search:AutoSubmit:DisabledHint' => 'Auto enviar ha sido deshabilitado para esta clase',
@@ -1586,3 +1587,42 @@ Dict::Add('ES CR', 'Spanish', 'Español, Castellaño', array(
'UI:Newsroom:DisplayMessagesFor_Provider' => 'Display messages from %1$s~~',
'UI:Newsroom:DisplayAtMost_X_Messages' => 'Display up to %1$s messages in the %2$s menu.~~',
));
+
+Dict::Add('ES CR', 'Spanish', 'Español, Castellaño', array(
+ 'Menu:DataSources' => 'Fuentes de Datos Sincronizables',
+ 'Menu:DataSources+' => 'Fuentes de Datos Sincronizables',
+ 'Menu:WelcomeMenu' => 'Bienvenido',
+ 'Menu:WelcomeMenu+' => 'Bienvenido a iTop',
+ 'Menu:WelcomeMenuPage' => 'Bienvenido',
+ 'Menu:WelcomeMenuPage+' => 'Bienvenido a iTop',
+ 'Menu:AdminTools' => 'Herramientas Administrativas',
+ 'Menu:AdminTools+' => 'Herramientas Administrativas',
+ 'Menu:AdminTools?' => 'Herramientas accesibles sólo a usuarios con Perfil de administrador',
+ 'Menu:DataModelMenu' => 'Modelo de Datos',
+ 'Menu:DataModelMenu+' => 'Resumen del Modelo de Datos',
+ 'Menu:ExportMenu' => 'Exportar',
+ 'Menu:ExportMenu+' => 'Exportar los Resultados de Cualquier Consulta en HTML, CSV o XML',
+ 'Menu:NotificationsMenu' => 'Notificaciones',
+ 'Menu:NotificationsMenu+' => 'Configuración de las Notificaciones',
+ 'Menu:AuditCategories' => 'Auditar Categorías',
+ 'Menu:AuditCategories+' => 'Auditar Categorías',
+ 'Menu:Notifications:Title' => 'Auditar Categorías',
+ 'Menu:RunQueriesMenu' => 'Ejecutar Consultas',
+ 'Menu:RunQueriesMenu+' => 'Ejecutar Cualquier Consulta',
+ 'Menu:QueryMenu' => 'Libreta de Consultas',
+ 'Menu:QueryMenu+' => 'Libreta de Consultas',
+ 'Menu:UniversalSearchMenu' => 'Búsqueda Universal',
+ 'Menu:UniversalSearchMenu+' => 'Buscar cualquier cosa',
+ 'Menu:UserManagementMenu' => 'Administración de Usuarios',
+ 'Menu:UserManagementMenu+' => 'Administración de Usuarios',
+ 'Menu:ProfilesMenu' => 'Perfiles',
+ 'Menu:ProfilesMenu+' => 'Perfiles',
+ 'Menu:ProfilesMenu:Title' => 'Perfiles',
+ 'Menu:UserAccountsMenu' => 'Cuentas de Usuario',
+ 'Menu:UserAccountsMenu+' => 'Cuentas de Usuario',
+ 'Menu:UserAccountsMenu:Title' => 'Cuentas de Usuario',
+ 'Menu:MyShortcuts' => 'Mis Accesos Rápidos',
+ 'Menu:UserManagement' => 'Gestión de usuarios',
+ 'Menu:Queries' => 'Consultas',
+ 'Menu:ConfigurationTools' => 'Configuración',
+));
diff --git a/dictionaries/fr.dictionary.itop.core.php b/dictionaries/fr.dictionary.itop.core.php
index e4d60f306..11170e532 100644
--- a/dictionaries/fr.dictionary.itop.core.php
+++ b/dictionaries/fr.dictionary.itop.core.php
@@ -1054,3 +1054,39 @@ Dict::Add('FR FR', 'French', 'Français', array(
'Core:Context=CRON+' => 'cron',
'Core:Context=GUI:Portal+' => 'GUI:Portal',
));
+
+//
+// Class: AbstractResource
+//
+
+Dict::Add('FR FR', 'French', 'Français', array(
+ 'Class:AbstractResource' => 'Ressource',
+ 'Class:AbstractResource+' => '',
+));
+
+//
+// Class: ResourceAdminMenu
+//
+
+Dict::Add('FR FR', 'French', 'Français', array(
+ 'Class:ResourceAdminMenu' => 'Menu Administration',
+ 'Class:ResourceAdminMenu+' => '',
+));
+
+//
+// Class: ResourceRunQueriesMenu
+//
+
+Dict::Add('FR FR', 'French', 'Français', array(
+ 'Class:ResourceRunQueriesMenu' => 'Menu Requête OQL',
+ 'Class:ResourceRunQueriesMenu+' => '',
+));
+
+//
+// Class: Action
+//
+
+Dict::Add('FR FR', 'French', 'Français', array(
+ 'Class:ResourceSystemMenu' => 'Menu System',
+ 'Class:ResourceSystemMenu+' => '',
+));
diff --git a/dictionaries/fr.dictionary.itop.ui.php b/dictionaries/fr.dictionary.itop.ui.php
index 3fcd9000f..662c8d3f4 100644
--- a/dictionaries/fr.dictionary.itop.ui.php
+++ b/dictionaries/fr.dictionary.itop.ui.php
@@ -406,6 +406,8 @@ Dict::Add('FR FR', 'French', 'Français', array(
'UI:Button:More' => 'Plus',
'UI:Button:Less' => 'Moins',
'UI:Button:Wait' => 'Patientez pendant la mise à jour des champs',
+ 'UI:Treeview:CollapseAll' => 'Tout replier',
+ 'UI:Treeview:ExpandAll' => 'Tout déplier',
'UI:SearchToggle' => 'Recherche',
'UI:ClickToCreateNew' => 'Créer un nouvel objet de type %1$s',
@@ -441,7 +443,7 @@ Dict::Add('FR FR', 'French', 'Français', array(
'UI:Error:BulkModifyNotAllowedOn_Class' => 'Vous n\'êtes pas autorisé à faire une modification massive sur les 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:Error:Invalid_Stimulus_On_Object_In_State' => '%2$s est actuellement dans l\'état "%3$s", l\'opération "%1$s" que vous avez demandée ne peut être appliquée.',
'UI:Error:InvalidDashboardFile' => 'Erreur: Le fichier tableau de bord est invalide',
'UI:Error:InvalidDashboard' => 'Erreur: Le tableau de bord est invalide',
'UI:Error:MaintenanceMode' => 'L\'application est en maintenance',
@@ -843,7 +845,6 @@ Dict::Add('FR FR', 'French', 'Français', array(
'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',
@@ -852,8 +853,6 @@ Dict::Add('FR FR', 'French', 'Français', array(
'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',
@@ -893,7 +892,6 @@ Dict::Add('FR FR', 'French', 'Français', array(
'UI:ChangeManagementMenu:Title' => 'Résumé des changements',
'UI-ChangeManagementMenu-ChangesByType' => 'Changements par type',
'UI-ChangeManagementMenu-ChangesByStatus' => 'Changements par état',
- 'UI-ChangeManagementMenu-ChangesByWorkgroup' => 'Changements par workgroup',
'UI-ChangeManagementMenu-ChangesNotYetAssigned' => 'Changements en attente d\'assignation',
'UI:ConfigurationManagementMenu' => 'Gestion de Configuration',
@@ -1573,3 +1571,42 @@ Dict::Add('FR FR', 'French', 'Français', array(
'UI:Newsroom:DisplayMessagesFor_Provider' => 'Afficher les messages de %1$s',
'UI:Newsroom:DisplayAtMost_X_Messages' => 'Afficher au plus %1$s messages dans le menu %2$s.',
));
+
+Dict::Add('FR FR', 'French', 'Français', array(
+ 'Menu:DataSources' => 'Synchronisation',
+ 'Menu:DataSources+' => '',
+ 'Menu:WelcomeMenu' => 'Bienvenue',
+ 'Menu:WelcomeMenu+' => 'Bienvenue dans iTop',
+ 'Menu:WelcomeMenuPage' => 'Bienvenue',
+ 'Menu:WelcomeMenuPage+' => 'Bienvenue dans iTop',
+ 'Menu:AdminTools' => 'Administration',
+ 'Menu:AdminTools+' => 'Outils d\'administration',
+ 'Menu:AdminTools?' => 'Ces outils sont accessibles uniquement aux utilisateurs possédant le profil Administrateur.',
+ 'Menu:DataModelMenu' => 'Modèle de Données',
+ 'Menu:DataModelMenu+' => 'Résumé du Modèle de Données',
+ 'Menu:ExportMenu' => 'Export',
+ 'Menu:ExportMenu+' => 'Export des résultats d\'une requête en HTML, CSV ou XML',
+ 'Menu:NotificationsMenu' => 'Notifications',
+ 'Menu:NotificationsMenu+' => 'Configuration des Notifications',
+ 'Menu:AuditCategories' => 'Catégories d\'audit',
+ 'Menu:AuditCategories+' => 'Catégories d\'audit',
+ 'Menu:Notifications:Title' => 'Catégories d\'audit',
+ 'Menu:RunQueriesMenu' => 'Requêtes OQL',
+ 'Menu:RunQueriesMenu+' => 'Executer une requête OQL',
+ 'Menu:QueryMenu' => 'Livre des requêtes',
+ 'Menu:QueryMenu+' => 'Livre des requêtes',
+ 'Menu:UniversalSearchMenu' => 'Recherche Universelle',
+ 'Menu:UniversalSearchMenu+' => 'Rechercher n\'importe quel objet...',
+ 'Menu:UserManagementMenu' => 'Gestion des Utilisateurs',
+ 'Menu:UserManagementMenu+' => 'Gestion des Utilisateurs',
+ 'Menu:ProfilesMenu' => 'Profils',
+ 'Menu:ProfilesMenu+' => 'Profils',
+ 'Menu:ProfilesMenu:Title' => 'Profils',
+ 'Menu:UserAccountsMenu' => 'Comptes Utilisateurs',
+ 'Menu:UserAccountsMenu+' => 'Comptes Utilisateurs',
+ 'Menu:UserAccountsMenu:Title' => 'Comptes Utilisateurs',
+ 'Menu:MyShortcuts' => 'Mes raccourcis',
+ 'Menu:UserManagement' => 'Utilisateurs',
+ 'Menu:Queries' => 'Requêtes',
+ 'Menu:ConfigurationTools' => 'Configuration',
+));
diff --git a/dictionaries/hu.dictionary.itop.core.php b/dictionaries/hu.dictionary.itop.core.php
index bc42eae22..38cad2b89 100755
--- a/dictionaries/hu.dictionary.itop.core.php
+++ b/dictionaries/hu.dictionary.itop.core.php
@@ -1044,3 +1044,39 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'Class:AsyncTask/Attribute:finalclass' => 'Final class~~',
'Class:AsyncTask/Attribute:finalclass+' => '~~',
));
+
+//
+// Class: AbstractResource
+//
+
+Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
+ 'Class:AbstractResource' => 'Abstract Resource~~',
+ 'Class:AbstractResource+' => '~~',
+));
+
+//
+// Class: ResourceAdminMenu
+//
+
+Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
+ 'Class:ResourceAdminMenu' => 'Resource Admin Menu~~',
+ 'Class:ResourceAdminMenu+' => '~~',
+));
+
+//
+// Class: ResourceRunQueriesMenu
+//
+
+Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
+ 'Class:ResourceRunQueriesMenu' => 'Resource Run Queries Menu~~',
+ 'Class:ResourceRunQueriesMenu+' => '~~',
+));
+
+//
+// Class: Action
+//
+
+Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
+ 'Class:ResourceSystemMenu' => 'Resource System Menu~~',
+ 'Class:ResourceSystemMenu+' => '~~',
+));
diff --git a/dictionaries/hu.dictionary.itop.ui.php b/dictionaries/hu.dictionary.itop.ui.php
index 488306153..add7c54a1 100755
--- a/dictionaries/hu.dictionary.itop.ui.php
+++ b/dictionaries/hu.dictionary.itop.ui.php
@@ -405,6 +405,9 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'UI:Button:Insert' => 'Insert~~',
'UI:Button:More' => 'More~~',
'UI:Button:Less' => 'Less~~',
+ 'UI:Button:Wait' => 'Please wait while updating fields~~',
+ 'UI:Treeview:CollapseAll' => 'Collapse All~~',
+ 'UI:Treeview:ExpandAll' => 'Expand All~~',
'UI:SearchToggle' => 'Keresés',
'UI:ClickToCreateNew' => 'Új %1$s létrehozása',
@@ -842,7 +845,6 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'UI:FatalErrorMessage' => 'Fatális hiba, iTop nem tudja a működését folytatni',
'UI:Error_Details' => 'Hiba: %1$s.',
- 'UI:PageTitle:ClassProjections' => 'iTop felhasználó menedzsmet - osztály nézet',
'UI:PageTitle:ProfileProjections' => 'iTop felhasználó menedzsmet - profil nézet',
'UI:UserManagement:Class' => 'Osztály',
'UI:UserManagement:Class+' => '',
@@ -851,8 +853,6 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'UI:UserManagement:AnyObject' => '* any *',
'UI:UserManagement:User' => 'Felhasználó',
'UI:UserManagement:User+' => '',
- 'UI:UserManagement:Profile' => 'Profil',
- 'UI:UserManagement:Profile+' => '',
'UI:UserManagement:Action:Read' => 'Olvas',
'UI:UserManagement:Action:Read+' => '',
'UI:UserManagement:Action:Modify' => 'Módosít',
@@ -892,7 +892,6 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'UI:ChangeManagementMenu:Title' => 'Változás áttekintése',
'UI-ChangeManagementMenu-ChangesByType' => 'Változások típusok szerint',
'UI-ChangeManagementMenu-ChangesByStatus' => 'Változások státusz szerint',
- 'UI-ChangeManagementMenu-ChangesByWorkgroup' => 'Változások csoportok szerint',
'UI-ChangeManagementMenu-ChangesNotYetAssigned' => 'Még nem kiosztott változások',
'UI:ConfigurationManagementMenu' => 'Konfiguráció menedzsment',
@@ -1427,6 +1426,8 @@ Akció kiváltó okhoz rendelésekor kap egy sorszámot , amely meghatározza az
'UI:Button:RemoveImage' => 'Remove the image~~',
'UI:UploadNotSupportedInThisMode' => 'The modification of images or files is not supported in this mode.~~',
+ 'UI:Button:RemoveDocument' => 'Remove the document~~',
+
// Search form
'UI:Search:Toggle' => 'Minimize / Expand~~',
'UI:Search:AutoSubmit:DisabledHint' => 'Auto submit has been disabled for this class~~',
@@ -1570,3 +1571,42 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
'UI:Newsroom:DisplayMessagesFor_Provider' => 'Display messages from %1$s~~',
'UI:Newsroom:DisplayAtMost_X_Messages' => 'Display up to %1$s messages in the %2$s menu.~~',
));
+
+Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
+ 'Menu:DataSources' => 'Szinkronizált adatforrások',
+ 'Menu:DataSources+' => '',
+ 'Menu:WelcomeMenu' => 'Üdvözlöm',
+ 'Menu:WelcomeMenu+' => '',
+ 'Menu:WelcomeMenuPage' => 'Üdvözlöm',
+ 'Menu:WelcomeMenuPage+' => '',
+ 'Menu:AdminTools' => 'Adminisztrációs eszközök',
+ 'Menu:AdminTools+' => '',
+ 'Menu:AdminTools?' => 'Eszközök csak az adminisztrátori profilhoz rendlet felhasználók számára elérhetők.',
+ 'Menu:DataModelMenu' => 'Adatmodell',
+ 'Menu:DataModelMenu+' => '',
+ 'Menu:ExportMenu' => 'Export',
+ 'Menu:ExportMenu+' => '',
+ 'Menu:NotificationsMenu' => 'Értesítések',
+ 'Menu:NotificationsMenu+' => '',
+ 'Menu:AuditCategories' => 'Audit kategóriák',
+ 'Menu:AuditCategories+' => '',
+ 'Menu:Notifications:Title' => 'Audit kategóriák',
+ 'Menu:RunQueriesMenu' => 'Lekérdezés futtatás',
+ 'Menu:RunQueriesMenu+' => '',
+ 'Menu:QueryMenu' => 'Query phrasebook~~',
+ 'Menu:QueryMenu+' => 'Query phrasebook~~',
+ 'Menu:UniversalSearchMenu' => 'Univerzális keresés',
+ 'Menu:UniversalSearchMenu+' => '',
+ 'Menu:UserManagementMenu' => 'Felhasználó menedzsment',
+ 'Menu:UserManagementMenu+' => '',
+ 'Menu:ProfilesMenu' => 'Profilok',
+ 'Menu:ProfilesMenu+' => '',
+ 'Menu:ProfilesMenu:Title' => 'Profilok',
+ 'Menu:UserAccountsMenu' => 'Felhasználói fiókok',
+ 'Menu:UserAccountsMenu+' => '',
+ 'Menu:UserAccountsMenu:Title' => 'Felhasználói fiókok',
+ 'Menu:MyShortcuts' => 'My Shortcuts~~',
+ 'Menu:UserManagement' => 'User Management~~',
+ 'Menu:Queries' => 'Queries~~',
+ 'Menu:ConfigurationTools' => 'Configuration~~',
+));
diff --git a/dictionaries/it.dictionary.itop.core.php b/dictionaries/it.dictionary.itop.core.php
index ea4d21ed0..98b877294 100644
--- a/dictionaries/it.dictionary.itop.core.php
+++ b/dictionaries/it.dictionary.itop.core.php
@@ -1046,3 +1046,39 @@ Dict::Add('IT IT', 'Italian', 'Italiano', array(
'Class:AsyncTask/Attribute:finalclass' => 'Final class~~',
'Class:AsyncTask/Attribute:finalclass+' => '~~',
));
+
+//
+// Class: AbstractResource
+//
+
+Dict::Add('IT IT', 'Italian', 'Italiano', array(
+ 'Class:AbstractResource' => 'Abstract Resource~~',
+ 'Class:AbstractResource+' => '~~',
+));
+
+//
+// Class: ResourceAdminMenu
+//
+
+Dict::Add('IT IT', 'Italian', 'Italiano', array(
+ 'Class:ResourceAdminMenu' => 'Resource Admin Menu~~',
+ 'Class:ResourceAdminMenu+' => '~~',
+));
+
+//
+// Class: ResourceRunQueriesMenu
+//
+
+Dict::Add('IT IT', 'Italian', 'Italiano', array(
+ 'Class:ResourceRunQueriesMenu' => 'Resource Run Queries Menu~~',
+ 'Class:ResourceRunQueriesMenu+' => '~~',
+));
+
+//
+// Class: Action
+//
+
+Dict::Add('IT IT', 'Italian', 'Italiano', array(
+ 'Class:ResourceSystemMenu' => 'Resource System Menu~~',
+ 'Class:ResourceSystemMenu+' => '~~',
+));
diff --git a/dictionaries/it.dictionary.itop.ui.php b/dictionaries/it.dictionary.itop.ui.php
index e567cd02d..f176e1378 100644
--- a/dictionaries/it.dictionary.itop.ui.php
+++ b/dictionaries/it.dictionary.itop.ui.php
@@ -418,6 +418,9 @@ Dict::Add('IT IT', 'Italian', 'Italiano', array(
'UI:Button:Insert' => 'Insert~~',
'UI:Button:More' => 'More~~',
'UI:Button:Less' => 'Less~~',
+ 'UI:Button:Wait' => 'Please wait while updating fields~~',
+ 'UI:Treeview:CollapseAll' => 'Collapse All~~',
+ 'UI:Treeview:ExpandAll' => 'Expand All~~',
'UI:SearchToggle' => 'Cerca',
'UI:ClickToCreateNew' => 'Crea un nuovo %1$s~~',
@@ -855,7 +858,6 @@ Dict::Add('IT IT', 'Italian', 'Italiano', array(
'UI:FatalErrorMessage' => 'Fatal error, iTop non può continuare.',
'UI:Error_Details' => 'Errore: %1$s.',
- 'UI:PageTitle:ClassProjections' => 'iTop gestione degli utenti - proiezioni classe',
'UI:PageTitle:ProfileProjections' => 'iTop gestione degli utenti - proiezioni profilo',
'UI:UserManagement:Class' => 'Classe',
'UI:UserManagement:Class+' => '',
@@ -864,8 +866,6 @@ Dict::Add('IT IT', 'Italian', 'Italiano', array(
'UI:UserManagement:AnyObject' => '* qualsiasi *',
'UI:UserManagement:User' => 'Utente',
'UI:UserManagement:User+' => '',
- 'UI:UserManagement:Profile' => 'Profilo',
- 'UI:UserManagement:Profile+' => '',
'UI:UserManagement:Action:Read' => 'Leggi',
'UI:UserManagement:Action:Read+' => '',
'UI:UserManagement:Action:Modify' => 'Modifica',
@@ -905,7 +905,6 @@ Dict::Add('IT IT', 'Italian', 'Italiano', array(
'UI:ChangeManagementMenu:Title' => 'Panoramica dei cambi',
'UI-ChangeManagementMenu-ChangesByType' => 'Cambi per tipo',
'UI-ChangeManagementMenu-ChangesByStatus' => 'Cambi per stato',
- 'UI-ChangeManagementMenu-ChangesByWorkgroup' => 'Cambi per gruppi di lavoro',
'UI-ChangeManagementMenu-ChangesNotYetAssigned' => 'Cambi non ancora assegnati',
'UI:ConfigurationManagementMenu' => 'Gestione Configurazione',
@@ -1442,6 +1441,8 @@ Quando è associata a un trigger, ad ogni azione è assegnato un numero "ordine"
'UI:Button:RemoveImage' => 'Remove the image~~',
'UI:UploadNotSupportedInThisMode' => 'The modification of images or files is not supported in this mode.~~',
+ 'UI:Button:RemoveDocument' => 'Remove the document~~',
+
// Search form
'UI:Search:Toggle' => 'Minimize / Expand~~',
'UI:Search:AutoSubmit:DisabledHint' => 'Auto submit has been disabled for this class~~',
@@ -1585,3 +1586,42 @@ Dict::Add('IT IT', 'Italian', 'Italiano', array(
'UI:Newsroom:DisplayMessagesFor_Provider' => 'Display messages from %1$s~~',
'UI:Newsroom:DisplayAtMost_X_Messages' => 'Display up to %1$s messages in the %2$s menu.~~',
));
+
+Dict::Add('IT IT', 'Italian', 'Italiano', array(
+ 'Menu:DataSources' => 'Sorgente di sincronizzazione dei dati',
+ 'Menu:DataSources+' => '',
+ 'Menu:WelcomeMenu' => 'Benveuto',
+ 'Menu:WelcomeMenu+' => '',
+ 'Menu:WelcomeMenuPage' => 'Benvenuto',
+ 'Menu:WelcomeMenuPage+' => '',
+ 'Menu:AdminTools' => 'Strumenti di amministrazione',
+ 'Menu:AdminTools+' => '',
+ 'Menu:AdminTools?' => 'Strumenti accessibile solo agli utenti con il profilo di amministratore',
+ 'Menu:DataModelMenu' => 'Modello Dati',
+ 'Menu:DataModelMenu+' => '',
+ 'Menu:ExportMenu' => 'Esporta',
+ 'Menu:ExportMenu+' => '',
+ 'Menu:NotificationsMenu' => 'Notifiche',
+ 'Menu:NotificationsMenu+' => '',
+ 'Menu:AuditCategories' => 'Categorie di Audit',
+ 'Menu:AuditCategories+' => '',
+ 'Menu:Notifications:Title' => 'Categorie di Audit',
+ 'Menu:RunQueriesMenu' => 'Esegui query',
+ 'Menu:RunQueriesMenu+' => '',
+ 'Menu:QueryMenu' => 'Rubbrica delle Query',
+ 'Menu:QueryMenu+' => 'Rubbrica delle Query',
+ 'Menu:UniversalSearchMenu' => 'Ricerca universale',
+ 'Menu:UniversalSearchMenu+' => '',
+ 'Menu:UserManagementMenu' => 'Gestione degli utenti',
+ 'Menu:UserManagementMenu+' => '',
+ 'Menu:ProfilesMenu' => 'Profili',
+ 'Menu:ProfilesMenu+' => '',
+ 'Menu:ProfilesMenu:Title' => 'Profili',
+ 'Menu:UserAccountsMenu' => 'Account utente',
+ 'Menu:UserAccountsMenu+' => '',
+ 'Menu:UserAccountsMenu:Title' => 'Account utente',
+ 'Menu:MyShortcuts' => 'Le mie scorciatoie',
+ 'Menu:UserManagement' => 'Gestione utenti',
+ 'Menu:Queries' => 'Interrogazioni',
+ 'Menu:ConfigurationTools' => 'configurazione',
+));
diff --git a/dictionaries/ja.dictionary.itop.core.php b/dictionaries/ja.dictionary.itop.core.php
index ee45b3014..613418d4d 100644
--- a/dictionaries/ja.dictionary.itop.core.php
+++ b/dictionaries/ja.dictionary.itop.core.php
@@ -1044,3 +1044,39 @@ Dict::Add('JA JP', 'Japanese', '日本語', array(
'Class:AsyncTask/Attribute:finalclass' => 'Final class~~',
'Class:AsyncTask/Attribute:finalclass+' => '~~',
));
+
+//
+// Class: AbstractResource
+//
+
+Dict::Add('JA JP', 'Japanese', '日本語', array(
+ 'Class:AbstractResource' => 'Abstract Resource~~',
+ 'Class:AbstractResource+' => '~~',
+));
+
+//
+// Class: ResourceAdminMenu
+//
+
+Dict::Add('JA JP', 'Japanese', '日本語', array(
+ 'Class:ResourceAdminMenu' => 'Resource Admin Menu~~',
+ 'Class:ResourceAdminMenu+' => '~~',
+));
+
+//
+// Class: ResourceRunQueriesMenu
+//
+
+Dict::Add('JA JP', 'Japanese', '日本語', array(
+ 'Class:ResourceRunQueriesMenu' => 'Resource Run Queries Menu~~',
+ 'Class:ResourceRunQueriesMenu+' => '~~',
+));
+
+//
+// Class: Action
+//
+
+Dict::Add('JA JP', 'Japanese', '日本語', array(
+ 'Class:ResourceSystemMenu' => 'Resource System Menu~~',
+ 'Class:ResourceSystemMenu+' => '~~',
+));
diff --git a/dictionaries/ja.dictionary.itop.ui.php b/dictionaries/ja.dictionary.itop.ui.php
index 5c53b3dfe..39644c3ab 100644
--- a/dictionaries/ja.dictionary.itop.ui.php
+++ b/dictionaries/ja.dictionary.itop.ui.php
@@ -405,6 +405,9 @@ Dict::Add('JA JP', 'Japanese', '日本語', array(
'UI:Button:Insert' => 'Insert~~',
'UI:Button:More' => 'More~~',
'UI:Button:Less' => 'Less~~',
+ 'UI:Button:Wait' => 'Please wait while updating fields~~',
+ 'UI:Treeview:CollapseAll' => 'Collapse All~~',
+ 'UI:Treeview:ExpandAll' => 'Expand All~~',
'UI:SearchToggle' => '検索(トグル↓↑)',
'UI:ClickToCreateNew' => '新規 %1$s を作成',
@@ -842,7 +845,6 @@ Dict::Add('JA JP', 'Japanese', '日本語', array(
'UI:FatalErrorMessage' => '致命的なエラー、ITOPを続行することはできません。',
'UI:Error_Details' => 'エラー:%1$s',
- 'UI:PageTitle:ClassProjections' => 'iTop ユーザ管理 - クラスプロジェクション',
'UI:PageTitle:ProfileProjections' => 'iTop ユーザ管理 - プロフィールプロジェクション',
'UI:UserManagement:Class' => 'クラス',
'UI:UserManagement:Class+' => 'オブジェクトのクラス',
@@ -851,8 +853,6 @@ Dict::Add('JA JP', 'Japanese', '日本語', array(
'UI:UserManagement:AnyObject' => '* 任意 *',
'UI:UserManagement:User' => 'ユーザ',
'UI:UserManagement:User+' => 'このプロジェクションに関与しているユーザー',
- 'UI:UserManagement:Profile' => 'プロフィール',
- 'UI:UserManagement:Profile+' => 'プロジェクションが指定されているプロフィール',
'UI:UserManagement:Action:Read' => '読み込み',
'UI:UserManagement:Action:Read+' => 'オブジェクトの読み込み/表示',
'UI:UserManagement:Action:Modify' => '修正',
@@ -892,7 +892,6 @@ Dict::Add('JA JP', 'Japanese', '日本語', array(
'UI:ChangeManagementMenu:Title' => '変更管理概要',
'UI-ChangeManagementMenu-ChangesByType' => 'タイプ別変更',
'UI-ChangeManagementMenu-ChangesByStatus' => '状態別変更',
- 'UI-ChangeManagementMenu-ChangesByWorkgroup' => 'ワークグループ別変更',
'UI-ChangeManagementMenu-ChangesNotYetAssigned' => 'まだ割り当てられていない変更',
'UI:ConfigurationManagementMenu' => '構成管理',
@@ -1428,6 +1427,8 @@ Dict::Add('JA JP', 'Japanese', '日本語', array(
'UI:Button:RemoveImage' => 'Remove the image~~',
'UI:UploadNotSupportedInThisMode' => 'The modification of images or files is not supported in this mode.~~',
+ 'UI:Button:RemoveDocument' => 'Remove the document~~',
+
// Search form
'UI:Search:Toggle' => 'Minimize / Expand~~',
'UI:Search:AutoSubmit:DisabledHint' => 'Auto submit has been disabled for this class~~',
@@ -1571,3 +1572,42 @@ Dict::Add('JA JP', 'Japanese', '日本語', array(
'UI:Newsroom:DisplayMessagesFor_Provider' => 'Display messages from %1$s~~',
'UI:Newsroom:DisplayAtMost_X_Messages' => 'Display up to %1$s messages in the %2$s menu.~~',
));
+
+Dict::Add('JA JP', 'Japanese', '日本語', array(
+ 'Menu:DataSources' => '同期データソース',
+ 'Menu:DataSources+' => '全ての同期データソース',
+ 'Menu:WelcomeMenu' => 'ようこそ',
+ 'Menu:WelcomeMenu+' => 'ようこそ、iTopへ',
+ 'Menu:WelcomeMenuPage' => 'ようこそ',
+ 'Menu:WelcomeMenuPage+' => 'ようこそ、iTopへ',
+ 'Menu:AdminTools' => '管理ツール',
+ 'Menu:AdminTools+' => '管理ツール',
+ 'Menu:AdminTools?' => 'このツールは管理者プロフィールを持つユーザのみアクセスが可能です。',
+ 'Menu:DataModelMenu' => 'データモデル',
+ 'Menu:DataModelMenu+' => 'データモデル概要',
+ 'Menu:ExportMenu' => 'エクスポート',
+ 'Menu:ExportMenu+' => '任意のクエリ結果をHTML、CSV、XMLでエクスポートする',
+ 'Menu:NotificationsMenu' => '通知',
+ 'Menu:NotificationsMenu+' => '通知の設定',
+ 'Menu:AuditCategories' => '監査カテゴリ',
+ 'Menu:AuditCategories+' => '監査カテゴリ',
+ 'Menu:Notifications:Title' => '監査カテゴリ',
+ 'Menu:RunQueriesMenu' => 'クエリ実行',
+ 'Menu:RunQueriesMenu+' => '任意のクエリを実行',
+ 'Menu:QueryMenu' => 'クエリのフレーズブック',
+ 'Menu:QueryMenu+' => 'クエリのフレーズブック',
+ 'Menu:UniversalSearchMenu' => '全検索',
+ 'Menu:UniversalSearchMenu+' => '何か...検索',
+ 'Menu:UserManagementMenu' => 'ユーザ管理',
+ 'Menu:UserManagementMenu+' => 'ユーザ管理',
+ 'Menu:ProfilesMenu' => 'プロフィール',
+ 'Menu:ProfilesMenu+' => 'プロフィール',
+ 'Menu:ProfilesMenu:Title' => 'プロフィール',
+ 'Menu:UserAccountsMenu' => 'ユーザアカウント',
+ 'Menu:UserAccountsMenu+' => 'ユーザアカウント',
+ 'Menu:UserAccountsMenu:Title' => 'ユーザアカウント',
+ 'Menu:MyShortcuts' => '私のショートカット',
+ 'Menu:UserManagement' => 'User Management~~',
+ 'Menu:Queries' => 'Queries~~',
+ 'Menu:ConfigurationTools' => 'Configuration~~',
+));
diff --git a/dictionaries/nl.dictionary.itop.core.php b/dictionaries/nl.dictionary.itop.core.php
index b1bacd34d..717cfc5d7 100644
--- a/dictionaries/nl.dictionary.itop.core.php
+++ b/dictionaries/nl.dictionary.itop.core.php
@@ -820,9 +820,9 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', array(
'Class:SynchroAttribute/Attribute:update' => 'Update',
'Class:SynchroAttribute/Attribute:reconcile' => 'Reconcile',
'Class:SynchroAttribute/Attribute:update_policy' => 'Update Policy',
- 'Class:SynchroAttribute/Attribute:update_policy/Value:master_locked' => 'Gesloten',
- 'Class:SynchroAttribute/Attribute:update_policy/Value:master_unlocked' => 'Open',
- 'Class:SynchroAttribute/Attribute:update_policy/Value:write_if_empty' => 'Begin indien leeg',
+ 'Class:SynchroAttribute/Attribute:update_policy/Value:master_locked' => 'Geblokkeerd',
+ 'Class:SynchroAttribute/Attribute:update_policy/Value:master_unlocked' => 'Vrij',
+ 'Class:SynchroAttribute/Attribute:update_policy/Value:write_if_empty' => 'Vul in indien leeg',
'Class:SynchroAttribute/Attribute:finalclass' => 'Klasse',
'Class:SynchroAttExtKey' => 'Synchro Attribuut (ExtKey)',
'Class:SynchroAttExtKey/Attribute:reconciliation_attcode' => 'Reconciliation-attribuut',
@@ -1052,3 +1052,39 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', array(
'Class:AsyncTask/Attribute:finalclass' => 'Uiteindelijke klasse',
'Class:AsyncTask/Attribute:finalclass+' => '',
));
+
+//
+// Class: AbstractResource
+//
+
+Dict::Add('NL NL', 'Dutch', 'Nederlands', array(
+ 'Class:AbstractResource' => 'Abstracte Tool',
+ 'Class:AbstractResource+' => '',
+));
+
+//
+// Class: ResourceAdminMenu
+//
+
+Dict::Add('NL NL', 'Dutch', 'Nederlands', array(
+ 'Class:ResourceAdminMenu' => 'Tool "Admin Menu"',
+ 'Class:ResourceAdminMenu+' => '',
+));
+
+//
+// Class: ResourceRunQueriesMenu
+//
+
+Dict::Add('NL NL', 'Dutch', 'Nederlands', array(
+ 'Class:ResourceRunQueriesMenu' => 'Tool "Voer query\'s uit" Menu',
+ 'Class:ResourceRunQueriesMenu+' => '',
+));
+
+//
+// Class: Action
+//
+
+Dict::Add('NL NL', 'Dutch', 'Nederlands', array(
+ 'Class:ResourceSystemMenu' => 'Tool "System Menu"',
+ 'Class:ResourceSystemMenu+' => '',
+));
diff --git a/dictionaries/nl.dictionary.itop.ui.php b/dictionaries/nl.dictionary.itop.ui.php
index 171248845..8786cda35 100644
--- a/dictionaries/nl.dictionary.itop.ui.php
+++ b/dictionaries/nl.dictionary.itop.ui.php
@@ -22,7 +22,7 @@
* http://www.linprofs.com
*
* @author Hipska (2018)
- * @author Jeffrey Bostoen - (2018 - 2019)
+ * @author Jeffrey Bostoen - (2018 - 2020)
*
* @copyright Copyright (C) 2010-2019 Combodo SARL
* @licence http://opensource.org/licenses/AGPL-3.0
@@ -424,6 +424,9 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', array(
'UI:Button:Insert' => 'Invoegen',
'UI:Button:More' => 'Meer',
'UI:Button:Less' => 'Minder',
+ 'UI:Button:Wait' => 'Please wait while updating fields~~',
+ 'UI:Treeview:CollapseAll' => 'Collapse All~~',
+ 'UI:Treeview:ExpandAll' => 'Expand All~~',
'UI:SearchToggle' => 'Zoek',
'UI:ClickToCreateNew' => 'Maak een %1$s aan',
@@ -845,7 +848,7 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', array(
'UI:ModificationTitle_Class_Object' => 'Aanpassen van %1$s: %2$s ',
'UI:ClonePageTitle_Object_Class' => 'ITOP_APPLICATION_SHORT - Kloon %1$s - %2$s aanpassing',
'UI:CloneTitle_Class_Object' => 'Klonen van %1$s: %2$s ',
- 'UI:CreationPageTitle_Class' => 'ITOP_APPLICATION_SHORT - Nieuwe %1$s aangemaakt',
+ 'UI:CreationPageTitle_Class' => 'ITOP_APPLICATION_SHORT - %1$s aanmaken',
'UI:CreationTitle_Class' => '%1$s aanmaken',
'UI:SelectTheTypeOf_Class_ToCreate' => 'Selecteer het type %1$s dat moet worden aangemaakt:',
'UI:Class_Object_NotUpdated' => 'Geen verandering waargenomen, %1$s (%2$s) is niet aangepast.',
@@ -861,7 +864,6 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', array(
'UI:FatalErrorMessage' => 'Fatale fout, ITOP_APPLICATION_SHORT kan niet doorgaan.',
'UI:Error_Details' => 'Fout: %1$s.',
- 'UI:PageTitle:ClassProjections' => 'ITOP_APPLICATION_SHORT gebruikersbeheer - klasse-projecties',
'UI:PageTitle:ProfileProjections' => 'ITOP_APPLICATION_SHORT gebruikersbeheer - profiel-projecties',
'UI:UserManagement:Class' => 'Klasse',
'UI:UserManagement:Class+' => 'Klasse van objecten',
@@ -870,8 +872,6 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', array(
'UI:UserManagement:AnyObject' => '* elk *',
'UI:UserManagement:User' => 'Gebruiker',
'UI:UserManagement:User+' => 'Gebruiker bezig met de projectie',
- 'UI:UserManagement:Profile' => 'Profiel',
- 'UI:UserManagement:Profile+' => 'Profiel waarin de projectie is opgegeven',
'UI:UserManagement:Action:Read' => 'Lezen',
'UI:UserManagement:Action:Read+' => 'Lezen/weergeven van objecten',
'UI:UserManagement:Action:Modify' => 'Aanpassen',
@@ -911,7 +911,6 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', array(
'UI:ChangeManagementMenu:Title' => 'Overzicht changes',
'UI-ChangeManagementMenu-ChangesByType' => 'Changes aan de hand van soort',
'UI-ChangeManagementMenu-ChangesByStatus' => 'Changes aan de hand van soort status',
- 'UI-ChangeManagementMenu-ChangesByWorkgroup' => 'Changes aan de hand van werkgroep',
'UI-ChangeManagementMenu-ChangesNotYetAssigned' => 'Nog niet toegewezen Changes',
'UI:ConfigurationManagementMenu' => 'Configuratie Management',
@@ -1450,6 +1449,8 @@ Bij die koppeling wordt aan elke actie een volgorde-nummer gegeven. Dit bepaalt
'UI:Button:RemoveImage' => 'Afbeelding verwijderen',
'UI:UploadNotSupportedInThisMode' => 'Het aanpassen van afbeeldingen of bestanden wordt niet ondersteund in deze mode.',
+ 'UI:Button:RemoveDocument' => 'Remove the document~~',
+
// Search form
'UI:Search:Toggle' => 'Inklappen / uitklappen',
'UI:Search:AutoSubmit:DisabledHint' => 'Direct zoeken werd uitgeschakeld voor deze klasse.',
@@ -1593,3 +1594,42 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', array(
'UI:Newsroom:DisplayMessagesFor_Provider' => 'Bekijk berichten van %1$s',
'UI:Newsroom:DisplayAtMost_X_Messages' => 'Toon maximaal %1$s berichten in het %2$s menu.',
));
+
+Dict::Add('NL NL', 'Dutch', 'Nederlands', array(
+ 'Menu:DataSources' => 'Synchronisatie-databronnen',
+ 'Menu:DataSources+' => 'Alle Synchronisatie-databronnen',
+ 'Menu:WelcomeMenu' => 'Welkom',
+ 'Menu:WelcomeMenu+' => 'Welkom in iTop',
+ 'Menu:WelcomeMenuPage' => 'Welkom',
+ 'Menu:WelcomeMenuPage+' => 'Welkom in iTop',
+ 'Menu:AdminTools' => 'Admintools',
+ 'Menu:AdminTools+' => 'Beheertools',
+ 'Menu:AdminTools?' => 'Tools die enkel toegankelijk zijn voor gebruikers met een administratorprofiel.',
+ 'Menu:DataModelMenu' => 'Datamodel',
+ 'Menu:DataModelMenu+' => 'Overzicht van het datamodel',
+ 'Menu:ExportMenu' => 'Export',
+ 'Menu:ExportMenu+' => 'Exporteer de resultaten van query\'s als HTML, CSV of XML',
+ 'Menu:NotificationsMenu' => 'Meldingen',
+ 'Menu:NotificationsMenu+' => 'Configuratie van de meldingen',
+ 'Menu:AuditCategories' => 'Auditcategorieën',
+ 'Menu:AuditCategories+' => 'Auditcategorieën',
+ 'Menu:Notifications:Title' => 'Auditcategorieën',
+ 'Menu:RunQueriesMenu' => 'Query\'s uitvoeren',
+ 'Menu:RunQueriesMenu+' => 'Voer een query uit',
+ 'Menu:QueryMenu' => 'Favoriete query\'s',
+ 'Menu:QueryMenu+' => 'Favoriete query\'s',
+ 'Menu:UniversalSearchMenu' => 'Globale zoekopdracht',
+ 'Menu:UniversalSearchMenu+' => 'Zoek in alle data...',
+ 'Menu:UserManagementMenu' => 'Gebruikersbeheer',
+ 'Menu:UserManagementMenu+' => 'Gebruikersbeheer',
+ 'Menu:ProfilesMenu' => 'Profielen',
+ 'Menu:ProfilesMenu+' => 'Profielen',
+ 'Menu:ProfilesMenu:Title' => 'Profielen',
+ 'Menu:UserAccountsMenu' => 'Gebruikersaccounts',
+ 'Menu:UserAccountsMenu+' => 'Gebruikersaccounts',
+ 'Menu:UserAccountsMenu:Title' => 'Gebruikersaccounts',
+ 'Menu:MyShortcuts' => 'Mijn snelkoppelingen',
+ 'Menu:UserManagement' => 'Gebruikersbeheer',
+ 'Menu:Queries' => 'Query\'s',
+ 'Menu:ConfigurationTools' => 'Configuratie',
+));
diff --git a/dictionaries/pt_br.dictionary.itop.core.php b/dictionaries/pt_br.dictionary.itop.core.php
index 887873b3e..2f99aaa2d 100644
--- a/dictionaries/pt_br.dictionary.itop.core.php
+++ b/dictionaries/pt_br.dictionary.itop.core.php
@@ -1051,3 +1051,39 @@ Dict::Add('PT BR', 'Brazilian', 'Brazilian', array(
Dict::Add('PT BR', 'Brazilian', 'Brazilian', array(
'INTERNAL:JQuery-DatePicker:LangCode' => 'pt-BR',
));
+
+//
+// Class: AbstractResource
+//
+
+Dict::Add('PT BR', 'Brazilian', 'Brazilian', array(
+ 'Class:AbstractResource' => 'Recurso abstrato',
+ 'Class:AbstractResource+' => '',
+));
+
+//
+// Class: ResourceAdminMenu
+//
+
+Dict::Add('PT BR', 'Brazilian', 'Brazilian', array(
+ 'Class:ResourceAdminMenu' => 'Recurso Admin Menu',
+ 'Class:ResourceAdminMenu+' => '',
+));
+
+//
+// Class: ResourceRunQueriesMenu
+//
+
+Dict::Add('PT BR', 'Brazilian', 'Brazilian', array(
+ 'Class:ResourceRunQueriesMenu' => 'Menu de consultas de execução de recursos',
+ 'Class:ResourceRunQueriesMenu+' => '',
+));
+
+//
+// Class: Action
+//
+
+Dict::Add('PT BR', 'Brazilian', 'Brazilian', array(
+ 'Class:ResourceSystemMenu' => 'Resource System Menu~~',
+ 'Class:ResourceSystemMenu+' => '~~',
+));
diff --git a/dictionaries/pt_br.dictionary.itop.ui.php b/dictionaries/pt_br.dictionary.itop.ui.php
index d1db6d8e2..eeed31871 100644
--- a/dictionaries/pt_br.dictionary.itop.ui.php
+++ b/dictionaries/pt_br.dictionary.itop.ui.php
@@ -418,6 +418,9 @@ Dict::Add('PT BR', 'Brazilian', 'Brazilian', array(
'UI:Button:Insert' => 'Inserir',
'UI:Button:More' => 'Mais',
'UI:Button:Less' => 'Menos',
+ 'UI:Button:Wait' => 'Please wait while updating fields~~',
+ 'UI:Treeview:CollapseAll' => 'Collapse All~~',
+ 'UI:Treeview:ExpandAll' => 'Expand All~~',
'UI:SearchToggle' => 'Pesquisar',
'UI:ClickToCreateNew' => 'Criar um(a) novo(a) %1$s',
@@ -855,7 +858,6 @@ Dict::Add('PT BR', 'Brazilian', 'Brazilian', array(
'UI:FatalErrorMessage' => 'Erro fatal, o sistema não pode continuar.',
'UI:Error_Details' => 'Erro: %1$s.',
- 'UI:PageTitle:ClassProjections' => 'Gerenciamento Usuários - projeções de classe',
'UI:PageTitle:ProfileProjections' => 'Gerenciamento Usuários - projeções de classe',
'UI:UserManagement:Class' => 'Classe',
'UI:UserManagement:Class+' => 'Classe de objetos',
@@ -864,8 +866,6 @@ Dict::Add('PT BR', 'Brazilian', 'Brazilian', array(
'UI:UserManagement:AnyObject' => '* qualquer *',
'UI:UserManagement:User' => 'Usuário',
'UI:UserManagement:User+' => 'Usuário(s) envolvido(s) na projeção',
- 'UI:UserManagement:Profile' => 'Perfis',
- 'UI:UserManagement:Profile+' => 'Perfil em que a projeção é especificado',
'UI:UserManagement:Action:Read' => 'Leitura',
'UI:UserManagement:Action:Read+' => 'Leitura/mostrar objetos',
'UI:UserManagement:Action:Modify' => 'Modificação',
@@ -905,7 +905,6 @@ Dict::Add('PT BR', 'Brazilian', 'Brazilian', array(
'UI:ChangeManagementMenu:Title' => 'Visão geral',
'UI-ChangeManagementMenu-ChangesByType' => 'Mudanças por tipo',
'UI-ChangeManagementMenu-ChangesByStatus' => 'Mudanças por status',
- 'UI-ChangeManagementMenu-ChangesByWorkgroup' => 'Mudanças por grupo de trabalho',
'UI-ChangeManagementMenu-ChangesNotYetAssigned' => 'Mudanças ainda não atribuídas',
'UI:ConfigurationManagementMenu' => 'Gerenciamento Configurações',
@@ -1441,6 +1440,8 @@ When associated with a trigger, each action is given an "order" number, specifyi
'UI:Button:RemoveImage' => 'Remover a imagem',
'UI:UploadNotSupportedInThisMode' => 'A modificação de imagens ou arquivos não é suportada neste modo.',
+ 'UI:Button:RemoveDocument' => 'Remove the document~~',
+
// Search form
'UI:Search:Toggle' => 'Minimizar / Expandir',
'UI:Search:AutoSubmit:DisabledHint' => 'O envio automático foi desativado para esta classe',
@@ -1584,3 +1585,42 @@ Dict::Add('PT BR', 'Brazilian', 'Brazilian', array(
'UI:Newsroom:DisplayMessagesFor_Provider' => 'Mostrar mensagens de %1$s',
'UI:Newsroom:DisplayAtMost_X_Messages' => 'Exibir até %1$s mensagens no menu %2$s.',
));
+
+Dict::Add('PT BR', 'Brazilian', 'Brazilian', array(
+ 'Menu:DataSources' => 'Fontes de dados de sincronização',
+ 'Menu:DataSources+' => 'Todas fontes de dados de sincronização',
+ 'Menu:WelcomeMenu' => 'Bem-vindo ao iTop',
+ 'Menu:WelcomeMenu+' => 'Bem-vindo ao iTop',
+ 'Menu:WelcomeMenuPage' => 'Bem-vindo ao iTop',
+ 'Menu:WelcomeMenuPage+' => 'Bem-vindo ao iTop',
+ 'Menu:AdminTools' => 'Ferramentas Administrativas',
+ 'Menu:AdminTools+' => 'Ferramentas Administrativas',
+ 'Menu:AdminTools?' => 'Ferramentas acessíveis apenas para usuários com o perfil do administrador',
+ 'Menu:DataModelMenu' => 'Modelo Dados',
+ 'Menu:DataModelMenu+' => 'Visão geral do Modelo Dados',
+ 'Menu:ExportMenu' => 'Exportar',
+ 'Menu:ExportMenu+' => 'Exportar o resultado de qualquer consulta em HTML, CSV ou XML',
+ 'Menu:NotificationsMenu' => 'Notificações',
+ 'Menu:NotificationsMenu+' => 'Configuração de Notificações',
+ 'Menu:AuditCategories' => 'Categoria Auditorias',
+ 'Menu:AuditCategories+' => 'Categoria Auditorias',
+ 'Menu:Notifications:Title' => 'Categoria Auditorias',
+ 'Menu:RunQueriesMenu' => 'Executar consultas',
+ 'Menu:RunQueriesMenu+' => 'Executar qualquer consulta',
+ 'Menu:QueryMenu' => 'Consulta definida',
+ 'Menu:QueryMenu+' => 'Consulta definida',
+ 'Menu:UniversalSearchMenu' => 'Pesquisa Universal',
+ 'Menu:UniversalSearchMenu+' => 'Pesquisar por nada...',
+ 'Menu:UserManagementMenu' => 'Gerenciamento Usuários',
+ 'Menu:UserManagementMenu+' => 'Gerenciamento Usuários',
+ 'Menu:ProfilesMenu' => 'Perfis',
+ 'Menu:ProfilesMenu+' => 'Perfis',
+ 'Menu:ProfilesMenu:Title' => 'Perfis',
+ 'Menu:UserAccountsMenu' => 'Contas usuários',
+ 'Menu:UserAccountsMenu+' => 'Contas usuários',
+ 'Menu:UserAccountsMenu:Title' => 'Contas usuários',
+ 'Menu:MyShortcuts' => 'Meus atalhos',
+ 'Menu:UserManagement' => 'User Management~~',
+ 'Menu:Queries' => 'Queries~~',
+ 'Menu:ConfigurationTools' => 'Configuration~~',
+));
diff --git a/dictionaries/ru.dictionary.itop.core.php b/dictionaries/ru.dictionary.itop.core.php
index 948161571..dc3cf29b8 100644
--- a/dictionaries/ru.dictionary.itop.core.php
+++ b/dictionaries/ru.dictionary.itop.core.php
@@ -191,12 +191,12 @@ Dict::Add('RU RU', 'Russian', 'Русский', array(
'Core:AttributeTag' => 'Тег',
'Core:AttributeTag+' => 'Тег',
- 'Core:Context=REST/JSON' => 'REST~~',
- 'Core:Context=Synchro' => 'Synchro~~',
- 'Core:Context=Setup' => 'Setup~~',
- 'Core:Context=GUI:Console' => 'Console~~',
- 'Core:Context=CRON' => 'cron~~',
- 'Core:Context=GUI:Portal' => 'Portal~~',
+ 'Core:Context=REST/JSON' => 'REST',
+ 'Core:Context=Synchro' => 'Synchro',
+ 'Core:Context=Setup' => 'Setup',
+ 'Core:Context=GUI:Console' => 'Console',
+ 'Core:Context=CRON' => 'cron',
+ 'Core:Context=GUI:Portal' => 'Portal',
));
@@ -529,8 +529,8 @@ Dict::Add('RU RU', 'Russian', 'Русский', array(
'Class:Trigger/Attribute:action_list+' => 'Действия, выполняемые при срабатывании триггера',
'Class:Trigger/Attribute:finalclass' => 'Тип',
'Class:Trigger/Attribute:finalclass+' => '',
- 'Class:Trigger/Attribute:context' => 'Context~~',
- 'Class:Trigger/Attribute:context+' => 'Context to allow the trigger to start~~',
+ 'Class:Trigger/Attribute:context' => 'Контекст',
+ 'Class:Trigger/Attribute:context+' => 'Контекст, в котором будет срабатывать триггер',
));
//
@@ -1033,3 +1033,39 @@ Dict::Add('RU RU', 'Russian', 'Русский', array(
'Class:AsyncTask/Attribute:finalclass' => 'Final class~~',
'Class:AsyncTask/Attribute:finalclass+' => '~~',
));
+
+//
+// Class: AbstractResource
+//
+
+Dict::Add('RU RU', 'Russian', 'Русский', array(
+ 'Class:AbstractResource' => 'Ресурс',
+ 'Class:AbstractResource+' => '',
+));
+
+//
+// Class: ResourceAdminMenu
+//
+
+Dict::Add('RU RU', 'Russian', 'Русский', array(
+ 'Class:ResourceAdminMenu' => 'Меню Инструменты администратора',
+ 'Class:ResourceAdminMenu+' => '',
+));
+
+//
+// Class: ResourceRunQueriesMenu
+//
+
+Dict::Add('RU RU', 'Russian', 'Русский', array(
+ 'Class:ResourceRunQueriesMenu' => 'Меню Выполнение запросов',
+ 'Class:ResourceRunQueriesMenu+' => '',
+));
+
+//
+// Class: Action
+//
+
+Dict::Add('RU RU', 'Russian', 'Русский', array(
+ 'Class:ResourceSystemMenu' => 'Меню Система',
+ 'Class:ResourceSystemMenu+' => '',
+));
diff --git a/dictionaries/ru.dictionary.itop.ui.php b/dictionaries/ru.dictionary.itop.ui.php
index 69892c9a2..c95697a79 100644
--- a/dictionaries/ru.dictionary.itop.ui.php
+++ b/dictionaries/ru.dictionary.itop.ui.php
@@ -397,6 +397,9 @@ Dict::Add('RU RU', 'Russian', 'Русский', array(
'UI:Button:Insert' => 'Вставить',
'UI:Button:More' => 'Больше',
'UI:Button:Less' => 'Меньше',
+ 'UI:Button:Wait' => 'Please wait while updating fields~~',
+ 'UI:Treeview:CollapseAll' => 'Collapse All~~',
+ 'UI:Treeview:ExpandAll' => 'Expand All~~',
'UI:SearchToggle' => 'Поиск',
'UI:ClickToCreateNew' => 'Создать: %1$s',
@@ -834,7 +837,6 @@ Dict::Add('RU RU', 'Russian', 'Русский', array(
'UI:FatalErrorMessage' => 'Критическая ошибка, iTop не может продолжать работу.',
'UI:Error_Details' => 'Ошибка: %1$s.',
- 'UI:PageTitle:ClassProjections' => 'iTop управление пользователями - проектирование классов',
'UI:PageTitle:ProfileProjections' => 'iTop управление пользователями - проектирование профилей',
'UI:UserManagement:Class' => 'Классs',
'UI:UserManagement:Class+' => 'Класс объектов',
@@ -843,8 +845,6 @@ Dict::Add('RU RU', 'Russian', 'Русский', array(
'UI:UserManagement:AnyObject' => '* любой *',
'UI:UserManagement:User' => 'Пользователь',
'UI:UserManagement:User+' => 'Пользователь учавствует',
- 'UI:UserManagement:Profile' => 'Профиль',
- 'UI:UserManagement:Profile+' => 'Профиль, указанный в проектировании',
'UI:UserManagement:Action:Read' => 'Чтение',
'UI:UserManagement:Action:Read+' => 'Чтение/отображение объектов',
'UI:UserManagement:Action:Modify' => 'Изменить',
@@ -884,7 +884,6 @@ Dict::Add('RU RU', 'Russian', 'Русский', array(
'UI:ChangeManagementMenu:Title' => 'Обзор изменений',
'UI-ChangeManagementMenu-ChangesByType' => 'Изменения по типу',
'UI-ChangeManagementMenu-ChangesByStatus' => 'Изменения по статутсу',
- 'UI-ChangeManagementMenu-ChangesByWorkgroup' => 'Изменения по рабочей группе',
'UI-ChangeManagementMenu-ChangesNotYetAssigned' => 'Не назначенные изменения',
'UI:ConfigurationManagementMenu' => 'Управление конфигурациями',
@@ -1419,6 +1418,8 @@ Dict::Add('RU RU', 'Russian', 'Русский', array(
'UI:Button:RemoveImage' => 'Удалить изображение',
'UI:UploadNotSupportedInThisMode' => 'Изменение изображений и файлов не поддерживается в этом режиме.',
+ 'UI:Button:RemoveDocument' => 'Remove the document~~',
+
// Search form
'UI:Search:Toggle' => 'Развернуть / Свернуть',
'UI:Search:AutoSubmit:DisabledHint' => 'Автоматический запуск поиска отключен для данного класса',
@@ -1562,3 +1563,42 @@ Dict::Add('RU RU', 'Russian', 'Русский', array(
'UI:Newsroom:DisplayMessagesFor_Provider' => 'Показать сообщения от %1$s',
'UI:Newsroom:DisplayAtMost_X_Messages' => 'Отобразите не более %1$s сообщений в меню %2$s.',
));
+
+Dict::Add('RU RU', 'Russian', 'Русский', array(
+ 'Menu:DataSources' => 'Синхронизация данных',
+ 'Menu:DataSources+' => 'Синхронизация данных',
+ 'Menu:WelcomeMenu' => 'Добро пожаловать',
+ 'Menu:WelcomeMenu+' => 'Добро пожаловать в iTop',
+ 'Menu:WelcomeMenuPage' => 'Добро пожаловать',
+ 'Menu:WelcomeMenuPage+' => 'Добро пожаловать в iTop',
+ 'Menu:AdminTools' => 'Инструменты администратора',
+ 'Menu:AdminTools+' => 'Инструменты администратора',
+ 'Menu:AdminTools?' => 'Инструменты доступны только для пользователей c правами администратора',
+ 'Menu:DataModelMenu' => 'Модель данных',
+ 'Menu:DataModelMenu+' => 'Обзор модели данных',
+ 'Menu:ExportMenu' => 'Экспорт',
+ 'Menu:ExportMenu+' => 'Экспорт результатов любого запроса в HTML, CSV или XML',
+ 'Menu:NotificationsMenu' => 'Уведомления',
+ 'Menu:NotificationsMenu+' => 'Конфигурация уведомлений',
+ 'Menu:AuditCategories' => 'Категории аудита',
+ 'Menu:AuditCategories+' => 'Категории аудита',
+ 'Menu:Notifications:Title' => 'Категории аудита',
+ 'Menu:RunQueriesMenu' => 'Выполнение запросов',
+ 'Menu:RunQueriesMenu+' => 'Выполнение любых запросов',
+ 'Menu:QueryMenu' => 'Книга запросов',
+ 'Menu:QueryMenu+' => 'Книга запросов',
+ 'Menu:UniversalSearchMenu' => 'Универсальный поиск',
+ 'Menu:UniversalSearchMenu+' => 'Поиск чего угодно...',
+ 'Menu:UserManagementMenu' => 'Управление пользователями',
+ 'Menu:UserManagementMenu+' => 'Управление пользователями',
+ 'Menu:ProfilesMenu' => 'Профили',
+ 'Menu:ProfilesMenu+' => 'Профили пользователей',
+ 'Menu:ProfilesMenu:Title' => 'Профили пользователей',
+ 'Menu:UserAccountsMenu' => 'Учетные записи',
+ 'Menu:UserAccountsMenu+' => 'Учетные записи пользователей',
+ 'Menu:UserAccountsMenu:Title' => 'Учетные записи пользователей',
+ 'Menu:MyShortcuts' => 'Избранное',
+ 'Menu:UserManagement' => 'Управление пользователями',
+ 'Menu:Queries' => 'Запросы OQL',
+ 'Menu:ConfigurationTools' => 'Конфигурация',
+));
diff --git a/dictionaries/sk.dictionary.itop.core.php b/dictionaries/sk.dictionary.itop.core.php
index b59571617..f28a123f8 100644
--- a/dictionaries/sk.dictionary.itop.core.php
+++ b/dictionaries/sk.dictionary.itop.core.php
@@ -2034,8 +2034,6 @@ Dict::Add('SK SK', 'Slovak', 'Slovenčina', array(
'Class:UserRequest/Attribute:resolution_date+' => '',
'Class:UserRequest/Attribute:last_pending_date' => 'Posledný dátum pozdržania',
'Class:UserRequest/Attribute:last_pending_date+' => '',
- 'Class:UserRequest/Attribute:cumulatedpending' => 'Kumulatívne pozdržané',
- 'Class:UserRequest/Attribute:cumulatedpending+' => '',
'Class:UserRequest/Attribute:tto' => 'TTO',
'Class:UserRequest/Attribute:tto+' => '',
'Class:UserRequest/Attribute:ttr' => 'TTR',
@@ -2646,7 +2644,6 @@ Dict::Add('SK SK', 'Slovak', 'Slovenčina', array(
'Server:moreinfo' => 'Viac informácií',
'Server:otherinfo' => 'Iné informácie',
'Person:info' => 'Všeobecné informácie',
- 'Person:notifiy' => 'Upozornenie',
'Class:Subnet/Tab:IPUsage' => 'Využívanosť IP adries',
'Class:Subnet/Tab:IPUsage-explain' => 'Rozhrania majúce IP adresu v rozsahu: %1$s do %2$s ',
'Class:Subnet/Tab:FreeIPs' => 'Voľné IP adresy',
@@ -2925,3 +2922,39 @@ Dict::Add('SK SK', 'Slovak', 'Slovenčina', array(
'Portal:LanguageChangedTo_Lang' => 'Jazyk zmenený na',
'Portal:ChooseYourFavoriteLanguage' => 'Vyberte si svoj obľúbený jazyk',
));
+
+//
+// Class: AbstractResource
+//
+
+Dict::Add('SK SK', 'Slovak', 'Slovenčina', array(
+ 'Class:AbstractResource' => 'Abstract Resource~~',
+ 'Class:AbstractResource+' => '~~',
+));
+
+//
+// Class: ResourceAdminMenu
+//
+
+Dict::Add('SK SK', 'Slovak', 'Slovenčina', array(
+ 'Class:ResourceAdminMenu' => 'Resource Admin Menu~~',
+ 'Class:ResourceAdminMenu+' => '~~',
+));
+
+//
+// Class: ResourceRunQueriesMenu
+//
+
+Dict::Add('SK SK', 'Slovak', 'Slovenčina', array(
+ 'Class:ResourceRunQueriesMenu' => 'Resource Run Queries Menu~~',
+ 'Class:ResourceRunQueriesMenu+' => '~~',
+));
+
+//
+// Class: Action
+//
+
+Dict::Add('SK SK', 'Slovak', 'Slovenčina', array(
+ 'Class:ResourceSystemMenu' => 'Resource System Menu~~',
+ 'Class:ResourceSystemMenu+' => '~~',
+));
diff --git a/dictionaries/sk.dictionary.itop.ui.php b/dictionaries/sk.dictionary.itop.ui.php
index fa4b5844b..d2b164b05 100644
--- a/dictionaries/sk.dictionary.itop.ui.php
+++ b/dictionaries/sk.dictionary.itop.ui.php
@@ -405,6 +405,9 @@ Dict::Add('SK SK', 'Slovak', 'Slovenčina', array(
'UI:Button:Insert' => 'Insert~~',
'UI:Button:More' => 'More~~',
'UI:Button:Less' => 'Less~~',
+ 'UI:Button:Wait' => 'Please wait while updating fields~~',
+ 'UI:Treeview:CollapseAll' => 'Collapse All~~',
+ 'UI:Treeview:ExpandAll' => 'Expand All~~',
'UI:SearchToggle' => 'Vyhľadávanie',
'UI:ClickToCreateNew' => 'Vytvoriť nové %1$s',
@@ -842,7 +845,6 @@ Dict::Add('SK SK', 'Slovak', 'Slovenčina', array(
'UI:FatalErrorMessage' => 'Fatálna chyba, iTop nemôže pokračovať.',
'UI:Error_Details' => 'Chyba: %1$s.',
- 'UI:PageTitle:ClassProjections' => 'iTop užívateľský manažment - projekcie tried',
'UI:PageTitle:ProfileProjections' => 'iTop užívateľský manažment - projekcie profilov',
'UI:UserManagement:Class' => 'Trieda',
'UI:UserManagement:Class+' => '',
@@ -851,8 +853,6 @@ Dict::Add('SK SK', 'Slovak', 'Slovenčina', array(
'UI:UserManagement:AnyObject' => '* Akýkoľvek *',
'UI:UserManagement:User' => 'Užívateľ',
'UI:UserManagement:User+' => '',
- 'UI:UserManagement:Profile' => 'Profil',
- 'UI:UserManagement:Profile+' => '',
'UI:UserManagement:Action:Read' => 'Čítať',
'UI:UserManagement:Action:Read+' => '',
'UI:UserManagement:Action:Modify' => 'Upravovať',
@@ -892,7 +892,6 @@ Dict::Add('SK SK', 'Slovak', 'Slovenčina', array(
'UI:ChangeManagementMenu:Title' => 'Prehľad zmien',
'UI-ChangeManagementMenu-ChangesByType' => 'Zmeny podľa typu',
'UI-ChangeManagementMenu-ChangesByStatus' => 'Zmeny podľa stavu',
- 'UI-ChangeManagementMenu-ChangesByWorkgroup' => 'Zmeny podľa pracovnej skupiny',
'UI-ChangeManagementMenu-ChangesNotYetAssigned' => 'Zmeny ešte nepriradené',
'UI:ConfigurationManagementMenu' => 'Konfiguračný manažment',
@@ -1430,6 +1429,8 @@ Keď sú priradené spúštačom, každej akcii je dané číslo "príkazu", šp
'UI:Button:RemoveImage' => 'Remove the image~~',
'UI:UploadNotSupportedInThisMode' => 'The modification of images or files is not supported in this mode.~~',
+ 'UI:Button:RemoveDocument' => 'Remove the document~~',
+
// Search form
'UI:Search:Toggle' => 'Minimize / Expand~~',
'UI:Search:AutoSubmit:DisabledHint' => 'Auto submit has been disabled for this class~~',
@@ -1573,3 +1574,42 @@ Dict::Add('SK SK', 'Slovak', 'Slovenčina', array(
'UI:Newsroom:DisplayMessagesFor_Provider' => 'Display messages from %1$s~~',
'UI:Newsroom:DisplayAtMost_X_Messages' => 'Display up to %1$s messages in the %2$s menu.~~',
));
+
+Dict::Add('SK SK', 'Slovak', 'Slovenčina', array(
+ 'Menu:DataSources' => 'Synchronizované zdroje dát',
+ 'Menu:DataSources+' => '',
+ 'Menu:WelcomeMenu' => 'Vitajte',
+ 'Menu:WelcomeMenu+' => '',
+ 'Menu:WelcomeMenuPage' => 'Vitajte',
+ 'Menu:WelcomeMenuPage+' => '',
+ 'Menu:AdminTools' => 'Administrátorské pomôcky',
+ 'Menu:AdminTools+' => '',
+ 'Menu:AdminTools?' => 'Pomôcky prístupné iba užívateľom majúcim administrátorský profil',
+ 'Menu:DataModelMenu' => 'Dátový model',
+ 'Menu:DataModelMenu+' => '',
+ 'Menu:ExportMenu' => 'Export',
+ 'Menu:ExportMenu+' => '',
+ 'Menu:NotificationsMenu' => 'Upozornenia',
+ 'Menu:NotificationsMenu+' => '',
+ 'Menu:AuditCategories' => 'Kategórie auditu',
+ 'Menu:AuditCategories+' => '',
+ 'Menu:Notifications:Title' => 'Kategórie auditu',
+ 'Menu:RunQueriesMenu' => 'Spustiť dopyty',
+ 'Menu:RunQueriesMenu+' => '',
+ 'Menu:QueryMenu' => 'Dopyt frázy',
+ 'Menu:QueryMenu+' => '',
+ 'Menu:UniversalSearchMenu' => 'Univerzálne vyhľadávanie',
+ 'Menu:UniversalSearchMenu+' => '',
+ 'Menu:UserManagementMenu' => 'Užívateľský manažment',
+ 'Menu:UserManagementMenu+' => '',
+ 'Menu:ProfilesMenu' => 'Profily',
+ 'Menu:ProfilesMenu+' => '',
+ 'Menu:ProfilesMenu:Title' => 'Profily',
+ 'Menu:UserAccountsMenu' => 'Užívateľské účty',
+ 'Menu:UserAccountsMenu+' => '',
+ 'Menu:UserAccountsMenu:Title' => 'Užívateľské účty',
+ 'Menu:MyShortcuts' => 'Moje skratky',
+ 'Menu:UserManagement' => 'User Management~~',
+ 'Menu:Queries' => 'Queries~~',
+ 'Menu:ConfigurationTools' => 'Configuration~~',
+));
diff --git a/dictionaries/tr.dictionary.itop.core.php b/dictionaries/tr.dictionary.itop.core.php
index 8ec3141fb..ac835cb6f 100644
--- a/dictionaries/tr.dictionary.itop.core.php
+++ b/dictionaries/tr.dictionary.itop.core.php
@@ -1054,3 +1054,39 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
'Class:AsyncTask/Attribute:finalclass' => 'Final class~~',
'Class:AsyncTask/Attribute:finalclass+' => '~~',
));
+
+//
+// Class: AbstractResource
+//
+
+Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
+ 'Class:AbstractResource' => 'Abstract Resource~~',
+ 'Class:AbstractResource+' => '~~',
+));
+
+//
+// Class: ResourceAdminMenu
+//
+
+Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
+ 'Class:ResourceAdminMenu' => 'Resource Admin Menu~~',
+ 'Class:ResourceAdminMenu+' => '~~',
+));
+
+//
+// Class: ResourceRunQueriesMenu
+//
+
+Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
+ 'Class:ResourceRunQueriesMenu' => 'Resource Run Queries Menu~~',
+ 'Class:ResourceRunQueriesMenu+' => '~~',
+));
+
+//
+// Class: Action
+//
+
+Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
+ 'Class:ResourceSystemMenu' => 'Resource System Menu~~',
+ 'Class:ResourceSystemMenu+' => '~~',
+));
diff --git a/dictionaries/tr.dictionary.itop.ui.php b/dictionaries/tr.dictionary.itop.ui.php
index 154e7acf4..09471847e 100644
--- a/dictionaries/tr.dictionary.itop.ui.php
+++ b/dictionaries/tr.dictionary.itop.ui.php
@@ -419,6 +419,9 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
'UI:Button:Insert' => 'Insert~~',
'UI:Button:More' => 'More~~',
'UI:Button:Less' => 'Less~~',
+ 'UI:Button:Wait' => 'Please wait while updating fields~~',
+ 'UI:Treeview:CollapseAll' => 'Collapse All~~',
+ 'UI:Treeview:ExpandAll' => 'Expand All~~',
'UI:SearchToggle' => 'Ara',
'UI:ClickToCreateNew' => 'Yeni %1$s yarat',
@@ -856,7 +859,6 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
'UI:FatalErrorMessage' => 'Kritik Hata, iTop devam edemiyor.',
'UI:Error_Details' => 'Hata: %1$s.',
- 'UI:PageTitle:ClassProjections' => 'iTop Kullanıcı Yönetimi - sınıf koruması',
'UI:PageTitle:ProfileProjections' => 'iTop Kullanıcı Yönetimi - profil koruması',
'UI:UserManagement:Class' => 'Sınıf',
'UI:UserManagement:Class+' => 'Nesnin sınıfı',
@@ -865,8 +867,6 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
'UI:UserManagement:AnyObject' => '* herhangi *',
'UI:UserManagement:User' => 'Kullanıcı',
'UI:UserManagement:User+' => 'User involved in the projection',
- 'UI:UserManagement:Profile' => 'Profil',
- 'UI:UserManagement:Profile+' => 'Profile in which the projection is specified',
'UI:UserManagement:Action:Read' => 'Oku',
'UI:UserManagement:Action:Read+' => 'Nesneyi görüntüle',
'UI:UserManagement:Action:Modify' => 'Güncelle',
@@ -906,7 +906,6 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
'UI:ChangeManagementMenu:Title' => 'Değişiklik Özeti',
'UI-ChangeManagementMenu-ChangesByType' => 'Değişiklik tipine göre',
'UI-ChangeManagementMenu-ChangesByStatus' => 'Değişiklik durumuna göre',
- 'UI-ChangeManagementMenu-ChangesByWorkgroup' => 'İş grubuna değişiklikler',
'UI-ChangeManagementMenu-ChangesNotYetAssigned' => 'Atanmamış Değişiklikler',
'UI:ConfigurationManagementMenu' => 'Konfigürasyon Yönetimi',
@@ -1442,6 +1441,8 @@ Tetikleme gerçekleştiriğinde işlemler tanımlanan sıra numarası ile gerçe
'UI:Button:RemoveImage' => 'Remove the image~~',
'UI:UploadNotSupportedInThisMode' => 'The modification of images or files is not supported in this mode.~~',
+ 'UI:Button:RemoveDocument' => 'Remove the document~~',
+
// Search form
'UI:Search:Toggle' => 'Minimize / Expand~~',
'UI:Search:AutoSubmit:DisabledHint' => 'Auto submit has been disabled for this class~~',
@@ -1585,3 +1586,42 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
'UI:Newsroom:DisplayMessagesFor_Provider' => 'Display messages from %1$s~~',
'UI:Newsroom:DisplayAtMost_X_Messages' => 'Display up to %1$s messages in the %2$s menu.~~',
));
+
+Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
+ 'Menu:DataSources' => 'Synchronization Data Sources~~',
+ 'Menu:DataSources+' => 'All Synchronization Data Sources~~',
+ 'Menu:WelcomeMenu' => 'Hoşgeldiniz',
+ 'Menu:WelcomeMenu+' => 'iTop\'a Hoşgeldiniz',
+ 'Menu:WelcomeMenuPage' => 'Hoşgeldiniz',
+ 'Menu:WelcomeMenuPage+' => 'iTop\'a Hoşgeldiniz',
+ 'Menu:AdminTools' => 'Yönetim Araçları',
+ 'Menu:AdminTools+' => 'Yönetim Araçları',
+ 'Menu:AdminTools?' => 'Yönetici profiline izin verilen araçlar',
+ 'Menu:DataModelMenu' => 'Veri Modeli',
+ 'Menu:DataModelMenu+' => 'Veri Modeli Özeti',
+ 'Menu:ExportMenu' => 'Dışarı ver',
+ 'Menu:ExportMenu+' => 'Sorgu sonucunu HTML, CSV veya XML olarak dışarı aktar',
+ 'Menu:NotificationsMenu' => 'Uyarılar',
+ 'Menu:NotificationsMenu+' => 'Uyarıların yapılandırılması',
+ 'Menu:AuditCategories' => 'Denetleme Kategorileri',
+ 'Menu:AuditCategories+' => 'Denetleme Kategorileri',
+ 'Menu:Notifications:Title' => 'Denetleme Kategorileri',
+ 'Menu:RunQueriesMenu' => 'Sorgu çalıştır',
+ 'Menu:RunQueriesMenu+' => 'Sorgu çalıştır',
+ 'Menu:QueryMenu' => 'Query phrasebook~~',
+ 'Menu:QueryMenu+' => 'Query phrasebook~~',
+ 'Menu:UniversalSearchMenu' => 'Genel sorgu',
+ 'Menu:UniversalSearchMenu+' => 'Herhangi bir arama...',
+ 'Menu:UserManagementMenu' => 'Kullanıcı Yönetimi',
+ 'Menu:UserManagementMenu+' => 'Kullanıcı Yönetimi',
+ 'Menu:ProfilesMenu' => 'Profiller',
+ 'Menu:ProfilesMenu+' => 'Profiller',
+ 'Menu:ProfilesMenu:Title' => 'Profiller',
+ 'Menu:UserAccountsMenu' => 'Kullanıcı Hesapları',
+ 'Menu:UserAccountsMenu+' => 'Kullanıcı Hesapları',
+ 'Menu:UserAccountsMenu:Title' => 'Kullanıcı Hesapları',
+ 'Menu:MyShortcuts' => 'My Shortcuts~~',
+ 'Menu:UserManagement' => 'User Management~~',
+ 'Menu:Queries' => 'Queries~~',
+ 'Menu:ConfigurationTools' => 'Configuration~~',
+));
diff --git a/dictionaries/zh_cn.dictionary.itop.core.php b/dictionaries/zh_cn.dictionary.itop.core.php
index 7807f117d..3dca3013e 100644
--- a/dictionaries/zh_cn.dictionary.itop.core.php
+++ b/dictionaries/zh_cn.dictionary.itop.core.php
@@ -1050,3 +1050,39 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', array(
Dict::Add('ZH CN', 'Chinese', '简体中文', array(
'INTERNAL:JQuery-DatePicker:LangCode' => 'zh-CN',
));
+
+//
+// Class: AbstractResource
+//
+
+Dict::Add('ZH CN', 'Chinese', '简体中文', array(
+ 'Class:AbstractResource' => '抽象资源',
+ 'Class:AbstractResource+' => '',
+));
+
+//
+// Class: ResourceAdminMenu
+//
+
+Dict::Add('ZH CN', 'Chinese', '简体中文', array(
+ 'Class:ResourceAdminMenu' => '资源管理菜单',
+ 'Class:ResourceAdminMenu+' => '',
+));
+
+//
+// Class: ResourceRunQueriesMenu
+//
+
+Dict::Add('ZH CN', 'Chinese', '简体中文', array(
+ 'Class:ResourceRunQueriesMenu' => 'Resource Run Queries Menu~~',
+ 'Class:ResourceRunQueriesMenu+' => '',
+));
+
+//
+// Class: Action
+//
+
+Dict::Add('ZH CN', 'Chinese', '简体中文', array(
+ 'Class:ResourceSystemMenu' => 'Resource System Menu~~',
+ 'Class:ResourceSystemMenu+' => '',
+));
diff --git a/dictionaries/zh_cn.dictionary.itop.ui.php b/dictionaries/zh_cn.dictionary.itop.ui.php
index 8ace65950..52bca2ff4 100644
--- a/dictionaries/zh_cn.dictionary.itop.ui.php
+++ b/dictionaries/zh_cn.dictionary.itop.ui.php
@@ -418,6 +418,9 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', array(
'UI:Button:Insert' => '插入',
'UI:Button:More' => '更多',
'UI:Button:Less' => '更少',
+ 'UI:Button:Wait' => 'Please wait while updating fields~~',
+ 'UI:Treeview:CollapseAll' => 'Collapse All~~',
+ 'UI:Treeview:ExpandAll' => 'Expand All~~',
'UI:SearchToggle' => '搜索',
'UI:ClickToCreateNew' => '新建 %1$s',
@@ -855,7 +858,6 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', array(
'UI:FatalErrorMessage' => '致命错误, iTop 无法继续.',
'UI:Error_Details' => '错误: %1$s.',
- 'UI:PageTitle:ClassProjections' => 'iTop 用户管理 - 类映射',
'UI:PageTitle:ProfileProjections' => 'iTop 用户管理 - 角色映射',
'UI:UserManagement:Class' => '类',
'UI:UserManagement:Class+' => '对象的类',
@@ -864,8 +866,6 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', array(
'UI:UserManagement:AnyObject' => '* 任何 *',
'UI:UserManagement:User' => '用户',
'UI:UserManagement:User+' => '与该映射相关的用户',
- 'UI:UserManagement:Profile' => '角色',
- 'UI:UserManagement:Profile+' => '映射被指定的角色',
'UI:UserManagement:Action:Read' => '读',
'UI:UserManagement:Action:Read+' => '读/显示 对象',
'UI:UserManagement:Action:Modify' => '修改',
@@ -905,7 +905,6 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', array(
'UI:ChangeManagementMenu:Title' => '变更概况',
'UI-ChangeManagementMenu-ChangesByType' => '按类别划分的变更',
'UI-ChangeManagementMenu-ChangesByStatus' => '按状态划分的变更',
- 'UI-ChangeManagementMenu-ChangesByWorkgroup' => '按执行团队划分的变更',
'UI-ChangeManagementMenu-ChangesNotYetAssigned' => '尚未分配的变更',
'UI:ConfigurationManagementMenu' => '配置管理',
@@ -1441,6 +1440,8 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', array(
'UI:Button:RemoveImage' => '移除图片',
'UI:UploadNotSupportedInThisMode' => '本模式下不支持修改文件或图片.',
+ 'UI:Button:RemoveDocument' => 'Remove the document~~',
+
// Search form
'UI:Search:Toggle' => '折叠 / 展开',
'UI:Search:AutoSubmit:DisabledHint' => '该类别已禁用自动提交',
@@ -1584,3 +1585,42 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', array(
'UI:Newsroom:DisplayMessagesFor_Provider' => '显示来自 %1$s 的消息',
'UI:Newsroom:DisplayAtMost_X_Messages' => '在 %2$s 菜单中最多显示 %1$s 条消息.',
));
+
+Dict::Add('ZH CN', 'Chinese', '简体中文', array(
+ 'Menu:DataSources' => '同步数据源',
+ 'Menu:DataSources+' => '所有同步数据源',
+ 'Menu:WelcomeMenu' => '欢迎',
+ 'Menu:WelcomeMenu+' => '欢迎使用iTop',
+ 'Menu:WelcomeMenuPage' => '欢迎',
+ 'Menu:WelcomeMenuPage+' => '欢迎使用iTop',
+ 'Menu:AdminTools' => '管理工具',
+ 'Menu:AdminTools+' => '管理工具',
+ 'Menu:AdminTools?' => '具有管理员角色的用户才能使用的工具',
+ 'Menu:DataModelMenu' => '数据模型',
+ 'Menu:DataModelMenu+' => '数据模型概况',
+ 'Menu:ExportMenu' => '导出',
+ 'Menu:ExportMenu+' => '以HTML, CSV 或XML 格式导出任何查询的结果',
+ 'Menu:NotificationsMenu' => '通知',
+ 'Menu:NotificationsMenu+' => '配置通知',
+ 'Menu:AuditCategories' => '审计类别',
+ 'Menu:AuditCategories+' => '审计类别',
+ 'Menu:Notifications:Title' => '审计类别',
+ 'Menu:RunQueriesMenu' => '运行查询',
+ 'Menu:RunQueriesMenu+' => '运行任何查询',
+ 'Menu:QueryMenu' => '查询手册',
+ 'Menu:QueryMenu+' => '查询手册',
+ 'Menu:UniversalSearchMenu' => '全局搜索',
+ 'Menu:UniversalSearchMenu+' => '搜索所有...',
+ 'Menu:UserManagementMenu' => '用户管理',
+ 'Menu:UserManagementMenu+' => '用户管理',
+ 'Menu:ProfilesMenu' => '角色',
+ 'Menu:ProfilesMenu+' => '角色',
+ 'Menu:ProfilesMenu:Title' => '角色',
+ 'Menu:UserAccountsMenu' => '用户帐户',
+ 'Menu:UserAccountsMenu+' => '用户帐户',
+ 'Menu:UserAccountsMenu:Title' => '用户帐户',
+ 'Menu:MyShortcuts' => '我的快捷方式',
+ 'Menu:UserManagement' => '用户管理',
+ 'Menu:Queries' => '查询',
+ 'Menu:ConfigurationTools' => '配置',
+));
diff --git a/js/dashboard.js b/js/dashboard.js
index 4c8350bcc..bcf20dd00 100644
--- a/js/dashboard.js
+++ b/js/dashboard.js
@@ -154,8 +154,10 @@ $(function()
var sDashletUniqueId = $(this).attr("id");
var sDashletIdParts = sDashletUniqueId.split('_');
var sDashletOrigId = sDashletIdParts[sDashletIdParts.length - 1];
- return isNaN(sDashletOrigId) ? 0 : parseInt(sDashletOrigId);
+ return isNaN(parseInt(sDashletOrigId)) ? 0 : parseInt(sDashletOrigId);
}).get();
+ // avoid empty array for IE
+ aDashletsIds.push(0);
// Note: Use of .apply() to be compatible with IE10
var iHighestDashletOrigId = Math.max.apply(null, aDashletsIds);
diff --git a/js/datatable.js b/js/datatable.js
index 27fcf9dd6..37c0efd27 100644
--- a/js/datatable.js
+++ b/js/datatable.js
@@ -53,7 +53,7 @@ $(function()
oParams.operation = 'datatable';
oParams.filter = this.options.sFilter;
- oParams.extra_param = this.options.oExtraParams;
+ oParams.extra_param = JSON.stringify(this.options.oExtraParams);
oParams.start = 0;
oParams.end = this.options.iPageSize;
oParams.select_mode = this.options.sSelectMode;
diff --git a/js/extkeywidget.js b/js/extkeywidget.js
index 9d58634bf..8a258437f 100644
--- a/js/extkeywidget.js
+++ b/js/extkeywidget.js
@@ -37,8 +37,99 @@ function ExtKeyWidget(id, sTargetClass, sFilter, sTitle, bSelectMode, oWizHelper
// make sure that the form is clean
$('#'+this.id+'_btnRemove').prop('disabled',true);
$('#'+this.id+'_linksToRemove').val('');
+ }
+ this.AddAutocomplete = function(iMinChars, sWizHelperJSON)
+ {
+ var hasFocus = 0;
+ var cache = {};
+ $('#label_'+me.id).autocomplete({
+ source: function (request, response) {
+ term = request.term.toLowerCase().latinise().replace(/[\u0300-\u036f]/g, "");
+
+ if (term in cache)
+ {
+ response(cache[term]);
+ return;
+ }
+ if (term.indexOf(this.previous) >= 0 && cache[this.previous] != null && cache[this.previous].length < 120)
+ {
+ //we have already all the possibility in cache
+ var data = [];
+ $.each(cache[this.previous], function (key, value) {
+ if (value.label.toLowerCase().latinise().replace(/[\u0300-\u036f]/g, "").indexOf(term) >= 0)
+ {
+ data.push(value);
+ }
+ });
+ cache[term] = data;
+ response(data);
+ }
+ else
+ {
+ $.post({
+ url: GetAbsoluteUrlAppRoot()+'pages/ajax.render.php',
+ dataType: "json",
+ data: {
+ q: request.term,
+ operation: 'ac_extkey',
+ sTargetClass: me.sTargetClass,
+ sFilter: me.sFilter,
+ bSearchMode: me.bSearchMode,
+ sOutputFormat: 'json',
+ json: function () {
+ return sWizHelperJSON;
+ }
+ },
+ success: function (data) {
+ cache[term] = data;
+ response(data);
+ }
+ });
+
+ }
+ },
+ autoFocus: true,
+ minLength: iMinChars,
+ focus: function (event, ui) {
+ // $('#label_$this->iId').val( ui.item.label );
+ return false;
+ },
+ select: function (event, ui) {
+ $('#'+me.id).val(ui.item.value);
+ $('#label_'+me.id).val(ui.item.label);
+ $('#'+me.id).trigger('validate');
+ $('#'+me.id).trigger('extkeychange');
+ $('#'+me.id).trigger('change');
+ return false;
+ }
+ })
+ .autocomplete("instance")._renderItem = function (ul, item) {
+ var term = this.term.replace("/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi", "\\$1");
+ var val = item.label.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)("+term+")(?![^<>]*>)(?![^&;]+;)", "gi"), "$1 ");
+ if (item.obsolete == 'yes')
+ {
+ val = val+' old ';
+ }
+ return $("")
+ .append(val)
+ .appendTo(ul);
+ };
+
+ $('#label_'+me.id).focus(function(){
+ // track whether the field has focus, we shouldn't process any
+ // results if the field no longer has focus
+ hasFocus++;
+ }).blur(function() {
+ hasFocus = 0;
+ }).click(
+ function() {
+ if(hasFocus++>1)
+ {
+ $('#label_'+me.id).autocomplete( "search");
+ }
+ });
};
-
+
this.StopPendingRequest = function()
{
if (me.ajax_request)
@@ -600,5 +691,5 @@ function ExtKeyWidget(id, sTargetClass, sFilter, sTitle, bSelectMode, oWizHelper
return false; // Do NOT submit the form in case we are called by OnSubmit...
};
-
+
}
\ No newline at end of file
diff --git a/js/forms-json-utils.js b/js/forms-json-utils.js
index c1eb96c36..4e5e39bd0 100644
--- a/js/forms-json-utils.js
+++ b/js/forms-json-utils.js
@@ -543,6 +543,7 @@ function UpdateDuration(iId)
}
// Called when filling an autocomplete field
+//deprecated in 2.8
function OnAutoComplete(id, event, data, formatted)
{
if (data)
diff --git a/js/jquery.autocomplete.js b/js/jquery.autocomplete.js
index 49683c287..ced30419b 100644
--- a/js/jquery.autocomplete.js
+++ b/js/jquery.autocomplete.js
@@ -13,6 +13,7 @@
* patched by sabello to : replace .size() to length
* set the row response split to "\t"
*
+ * @since 2.8.0 N°2284 replaced by JQuery UI Autocomplete Widget, but kept for legacy code in modules
*/
;(function($) {
diff --git a/js/jquery.min.js b/js/jquery.min.js
index a1c07fd80..b0614034a 100644
--- a/js/jquery.min.js
+++ b/js/jquery.min.js
@@ -1,2 +1,2 @@
-/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */
-!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML=" ",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML=" ";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""," "],thead:[1,""],col:[2,""],tr:[2,""],td:[3,""],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;nx",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/baz',
+ 'expected' => 'foobaz
',
+ ),
+ 'nested' => array(
+ 'html' => 'beforeafter',
+ 'expected' => 'beforeafter
',
+ ),
+ 'nested with not closed br' => array(
+ 'html' => 'beforefoobaz oofbar oof after',
+ 'expected' => 'beforeafter
',
+ ),
+ 'nested with allowed' => array(
+ 'html' => 'beforeoof after',
+ 'expected' => 'beforeafter
',
+ ),
+ 'nested with spaces' => array(
+ 'html' => 'beforebaz oof after',
+ 'expected' => 'beforeafter
',
+ ),
+ 'nested with attributes' => array(
+ 'html' => 'beforebaz oof after',
+ 'expected' => 'beforeafter
',
+ ),
+ 'nested with allowed and attributes and spaces ' => array(
+ 'html' => 'before oof after',
+ 'expected' => 'beforeafter',
+ ),
+ 'nested with allowed and contentRemovable tags' => array(
+ 'html' => 'before oofembedTExt middleafter',
+ 'expected' => 'beforemiddleafter',
+ ),
+
+ 'regression: if head present => body is not trimmed' => array(
+ 'html' => 'bar',
+ 'expected' => 'bar',
+ ),
+ );
+ }
+
+ /**
+ * @dataProvider CallInlineImageProcessImageTagProvider
+ */
+ public function testDoSanitizeCallInlineImageProcessImageTag($sHtml, $iExpectedCount)
+ {
+ require_once APPROOT.'test/core/sanitizer/InlineImageMock.php';
+
+ $oSanitizer = new HTMLDOMSanitizer();
+ $oSanitizer->DoSanitize($sHtml);
+
+ $iCalledCount = \InlineImage::GetCallCounter();
+ $this->assertEquals($iExpectedCount, $iCalledCount);
+ }
+
+ public function CallInlineImageProcessImageTagProvider()
+ {
+ return array(
+ 'no image' => array(
+ 'html' => 'bar
',
+ 'expected' => 0,
+ ),
+ 'basic image' => array(
+ 'html' => ' ',
+ 'expected' => 1,
+ ),
+ 'nested images within forbidden tags' => array(
+ 'html' => 'baz rab
oof ',
+ 'expected' => 2,
+ ),
+// This test will be restored with the ticket n°2556
+// 'nested images within forbidden and removed tags' => array(
+// 'html' => 'baz rab
oof ',
+// 'expected' => 2,
+// ),
+ );
+ }
+
}
diff --git a/test/core/MetaModelTest.php b/test/core/MetaModelTest.php
index c0bd95fa9..3ec4e47f9 100644
--- a/test/core/MetaModelTest.php
+++ b/test/core/MetaModelTest.php
@@ -83,4 +83,100 @@ class MetaModelTest extends ItopDataTestCase
),
);
}
+
+ /**
+ * @covers MetaModel::GetDependentAttributes()
+ * @dataProvider GetDependentAttributesProvider
+ *
+ * @param string $sClass
+ * @param string $sAttCode
+ * @param array $aExpectedAttCodes
+ *
+ * @throws \Exception
+ */
+ public function testGetDependentAttributes($sClass, $sAttCode, array $aExpectedAttCodes)
+ {
+ $aRes = MetaModel::GetDependentAttributes($sClass, $sAttCode);
+ // The order doesn't matter
+ sort($aRes);
+ sort($aExpectedAttCodes);
+ static::assertEquals($aExpectedAttCodes, $aRes);
+ }
+
+ public function GetDependentAttributesProvider()
+ {
+ $aRawCases = array(
+ array('Person', 'org_id', array('location_id', 'org_name', 'org_id_friendlyname', 'org_id_obsolescence_flag')),
+ array('Person', 'name', array('friendlyname')),
+ array('Person', 'status', array('obsolescence_flag')),
+ );
+ $aRet = array();
+ foreach ($aRawCases as $i => $aData)
+ {
+ $aRet[$aData[0].'::'.$aData[1]] = $aData;
+ }
+ return $aRet;
+ }
+
+ /**
+ * @covers MetaModel::GetPrerequisiteAttributes()
+ * @dataProvider GetPrerequisiteAttributesProvider
+ *
+ * @param string $sClass
+ * @param string $sAttCode
+ * @param array $aExpectedAttCodes
+ *
+ * @throws \Exception
+ */
+ public function testGetPrerequisiteAttributes($sClass, $sAttCode, array $aExpectedAttCodes)
+ {
+ $aRes = MetaModel::GetPrerequisiteAttributes($sClass, $sAttCode);
+ // The order doesn't matter
+ sort($aRes);
+ sort($aExpectedAttCodes);
+ static::assertEquals($aRes, $aExpectedAttCodes);
+ }
+
+ public function GetPrerequisiteAttributesProvider()
+ {
+ $aRawCases = array(
+ array('Person', 'friendlyname', array('name', 'first_name')),
+ array('Person', 'obsolescence_flag', array('status')),
+ array('Person', 'org_id_friendlyname', array('org_id')),
+ array('Person', 'org_id', array()),
+ array('Person', 'org_name', array('org_id')),
+ );
+ $aRet = array();
+ foreach ($aRawCases as $i => $aData)
+ {
+ $aRet[$aData[0].'::'.$aData[1]] = $aData;
+ }
+ return $aRet;
+ }
+
+ /**
+ * To be removed as soon as the dependencies on external fields are obsoleted
+ * @Group Integration
+ */
+ public function testManualVersusAutomaticDependenciesOnExtKeys()
+ {
+ foreach (\MetaModel::GetClasses() as $sClass)
+ {
+ if (\MetaModel::IsAbstract($sClass)) continue;
+
+ foreach (\MetaModel::ListAttributeDefs($sClass) as $sAttCode => $oAttDef)
+ {
+ if (\MetaModel::GetAttributeOrigin($sClass, $sAttCode) != $sClass) continue;
+ if (!$oAttDef instanceof \AttributeExternalKey) continue;
+
+ $aManual = $oAttDef->Get('depends_on');
+ $aAuto = \MetaModel::GetPrerequisiteAttributes($sClass, $sAttCode);
+ // The order doesn't matter
+ sort($aAuto);
+ sort($aManual);
+ static::assertEquals($aManual, $aAuto, "Class: $sClass, Attribute: $sAttCode");
+ }
+ }
+ }
+
}
diff --git a/test/core/OQLTest.php b/test/core/OQLTest.php
index e1f74f879..eb7bf7230 100644
--- a/test/core/OQLTest.php
+++ b/test/core/OQLTest.php
@@ -402,6 +402,7 @@ class OQLTest extends ItopDataTestCase
}
catch (Exception $e)
{
+ $this->debug($e->getMessage());
$sExceptionClass = get_class($e);
}
diff --git a/test/core/WeeklyScheduledProcessMockConfig.php b/test/core/WeeklyScheduledProcessMockConfig.php
new file mode 100644
index 000000000..236f83797
--- /dev/null
+++ b/test/core/WeeklyScheduledProcessMockConfig.php
@@ -0,0 +1,36 @@
+oConfig = new Config();
+ $this->oConfig->SetModuleSetting(self::MODULE_NAME, self::MODULE_SETTING_ENABLED, $bEnabledValue);
+ $this->oConfig->SetModuleSetting(self::MODULE_NAME, self::MODULE_SETTING_TIME, $sTimeValue);
+ $this->oConfig->SetModuleSetting(self::MODULE_NAME, self::MODULE_SETTING_WEEKDAYS, 'monday, tuesday, wednesday, thursday, friday');
+ }
+
+ protected function GetModuleName()
+ {
+ return self::MODULE_NAME;
+ }
+
+ protected function GetDefaultModuleSettingTime()
+ {
+ return null; // config mock injected in the constructor
+ }
+
+ public function Process($iUnixTimeLimit)
+ {
+ // nothing to do here (not tested)
+ }
+}
\ No newline at end of file
diff --git a/test/core/WeeklyScheduledProcessTest.php b/test/core/WeeklyScheduledProcessTest.php
new file mode 100644
index 000000000..ffd879b64
--- /dev/null
+++ b/test/core/WeeklyScheduledProcessTest.php
@@ -0,0 +1,67 @@
+getOConfig()->Get('timezone');
+ $timezone = new \DateTimeZone($sItopTimeZone);
+ $oExpectedDateTime = new DateTime($sExpectedTime, $timezone);
+
+ $this->assertEquals($oExpectedDateTime, $oWeeklyImpl->GetNextOccurrence($sCurrentTime));
+ }
+
+ public function GetNextOccurrenceProvider()
+ {
+ return array(
+ 'Disabled process' => array(false, 'now', null, '3000-01-01'),
+ 'working day same day, prog noon and current before noon' => array(true, '2020-05-11 11:00', '12:00', '2020-05-11 12:00'),
+ 'working day same day, prog noon and current is noon' => array(true, '2020-05-11 12:00', '12:00', '2020-05-12 12:00'),
+ 'working day same day, prog noon and current after noon' => array(true, '2020-05-11 13:00', '12:00', '2020-05-12 12:00'),
+ 'saturday, prog noon and current before noon' => array(true, '2020-05-09 11:00', '12:00', '2020-05-11 12:00'),
+ 'saturday, prog noon and current is noon' => array(true, '2020-05-09 12:00', '12:00', '2020-05-11 12:00'),
+ 'saturday, prog noon and current after noon' => array(true, '2020-05-09 13:00', '12:00', '2020-05-11 12:00'),
+ 'sunday, prog noon and current before noon' => array(true, '2020-05-10 11:00', '12:00', '2020-05-11 12:00'),
+ 'sunday, prog noon and current is noon' => array(true, '2020-05-10 12:00', '12:00', '2020-05-11 12:00'),
+ 'sunday, prog noon and current after noon' => array(true, '2020-05-10 13:00', '12:00', '2020-05-11 12:00'),
+ 'working day, day before, prog noon and current before midnight' => array(true, '2020-05-11 23:59', '00:00', '2020-05-12 00:00'),
+ 'working day same day, prog noon and current is midnight' => array(true, '2020-05-12 00:00', '00:00', '2020-05-13 00:00'),
+ 'working day same day, prog noon and current after midnight' => array(true, '2020-05-12 00:01', '00:00', '2020-05-13 00:00'),
+ );
+ }
+}
+
diff --git a/test/core/sanitizer/InlineImageMock.php b/test/core/sanitizer/InlineImageMock.php
new file mode 100644
index 000000000..d5ad33218
--- /dev/null
+++ b/test/core/sanitizer/InlineImageMock.php
@@ -0,0 +1,39 @@
+
+ *
+ */
+
+/**
+ * Mock class used by @see \Combodo\iTop\Test\UnitTest\Core\HTMLDOMSanitizerTest
+ *
+ */
+class InlineImage
+{
+ private static $iCallCounter = 0;
+
+ public static function ProcessImageTag(DOMNode $oNode)
+ {
+ self::$iCallCounter++;
+ }
+
+ public static function GetCallCounter()
+ {
+ return self::$iCallCounter;
+ }
+}
\ No newline at end of file
diff --git a/test/testlist.inc.php b/test/testlist.inc.php
index b02e9ddc7..0a8bfed61 100644
--- a/test/testlist.inc.php
+++ b/test/testlist.inc.php
@@ -485,7 +485,7 @@ class TestMyBizModel extends TestBizModel
echo "Max depth = $iMaxDepth\n";
$oObj = MetaModel::GetObject("cmdbContact", 18);
- $aRels = $oObj->GetRelatedObjects("Potes", $iMaxDepth);
+ $aRels = $oObj->GetRelatedObjectsDown("Potes", $iMaxDepth);
echo $oObj->Get('name')." has some 'Potes'...\n";
foreach ($aRels as $sClass => $aObjs)
{
@@ -581,391 +581,6 @@ class TestMyBizModel extends TestBizModel
}
-///////////////////////////////////////////////////////////////////////////
-// Test a complex biz model on the fly
-///////////////////////////////////////////////////////////////////////////
-
-abstract class MyFarm extends TestBizModel
-{
- static public function GetConfigFile() {return '/config-test-farm.php';}
-
- protected function DoPrepare()
- {
- parent::DoPrepare();
- $this->ResetDB();
- MetaModel::DBCheckIntegrity();
- }
-
- protected function InsertMammal($sSpecies, $sSex, $iSpeed, $iMotherid, $iFatherId, $sName, $iHeight, $sBirth)
- {
- $oNew = MetaModel::NewObject('Mammal');
- $oNew->Set('species', $sSpecies);
- $oNew->Set('sex', $sSex);
- $oNew->Set('speed', $iSpeed);
- $oNew->Set('mother', $iMotherid);
- $oNew->Set('father', $iFatherId);
- $oNew->Set('name', $sName);
- $oNew->Set('height', $iHeight);
- $oNew->Set('birth', $sBirth);
- return $this->ObjectToDB($oNew);
- }
-
- protected function InsertBird($sSpecies, $sSex, $iSpeed, $iMotherid, $iFatherId)
- {
- $oNew = MetaModel::NewObject('Bird');
- $oNew->Set('species', $sSpecies);
- $oNew->Set('sex', $sSex);
- $oNew->Set('speed', $iSpeed);
- $oNew->Set('mother', $iMotherid);
- $oNew->Set('father', $iFatherId);
- return $this->ObjectToDB($oNew);
- }
-
- protected function InsertFlyingBird($sSpecies, $sSex, $iSpeed, $iMotherid, $iFatherId, $iFlyingSpeed)
- {
- $oNew = MetaModel::NewObject('FlyingBird');
- $oNew->Set('species', $sSpecies);
- $oNew->Set('sex', $sSex);
- $oNew->Set('speed', $iSpeed);
- $oNew->Set('mother', $iMotherid);
- $oNew->Set('father', $iFatherId);
- $oNew->Set('flyingspeed', $iFlyingSpeed);
- return $this->ObjectToDB($oNew);
- }
-
- private function InsertGroup($sName, $iLeaderId)
- {
- $oNew = MetaModel::NewObject('Group');
- $oNew->Set('name', $sName);
- $oNew->Set('leader', $iLeaderId);
- $iId = $oNew->DBInsertNoReload();
- return $iId;
- }
-}
-
-
-class TestQueriesOnFarm extends MyFarm
-{
- static public function GetName()
- {
- return 'Farm test';
- }
-
- static public function GetDescription()
- {
- return 'A series of tests on the farm business model (SQL generation)';
- }
-
- protected function CheckQuery($sQuery, $bIsCorrectQuery)
- {
- if ($bIsCorrectQuery)
- {
- echo "$sQuery \n";
- }
- else
- {
- echo "$sQuery\n";
- }
- try
- {
- //$oOql = new OqlInterpreter($sQuery);
- //$oTrash = $oOql->ParseQuery();
- //self::DumpVariable($oTrash, true);
- $oMyFilter = DBObjectSearch::FromOQL($sQuery);
- }
- catch (OQLException $oOqlException)
- {
- if ($bIsCorrectQuery)
- {
- echo " More info on this unexpected failure: ".$oOqlException->getHtmlDesc()."
\n";
- throw $oOqlException;
- return false;
- }
- else
- {
- // Everything is fine :-)
- echo "More info on this expected failure:\n";
- echo "
\n";
- echo "".get_class($oOqlException)." \n";
- echo "".$oOqlException->getMessage()." \n";
- echo "".$oOqlException->getHtmlDesc()." \n";
- echo " \n";
- echo "\n";
- return true;
- }
- }
- // The query was correctly parsed, was it expected to be correct ?
- if (!$bIsCorrectQuery)
- {
- throw new UnitTestException("The query '$sQuery' was parsed with success, while it shouldn't (?)");
- return false;
- }
- echo "To OQL: ".$oMyFilter->ToOQL()."
";
-
- $this->search_and_show_list($oMyFilter);
-
- //echo "first pass
\n";
- //self::DumpVariable($oMyFilter, true);
- $sQuery1 = $oMyFilter->MakeSelectQuery();
- //echo "
second pass
\n";
- //self::DumpVariable($oMyFilter, true);
- //$sQuery1 = $oMyFilter->MakeSelectQuery();
-
- $sSerialize = $oMyFilter->serialize();
- echo "
Serialized:$sSerialize
\n";
- $oFilter2 = DBObjectSearch::unserialize($sSerialize);
- try
- {
- $sQuery2 = $oFilter2->MakeSelectQuery();
- }
- catch (Exception $e)
- {
- echo "Could not compute the query after unserialize
\n";
- echo "Query 1: $sQuery1
\n";
- MyHelpers::var_cmp_html($oMyFilter, $oFilter2);
- throw $e;
- }
- //if ($oFilter2 != $oMyFilter) no, they may differ while the resulting query is the same!
- if ($sQuery1 != $sQuery2)
- {
- echo "serialize/unserialize mismatch :-(
\n";
- MyHelpers::var_cmp_html($sQuery1, $sQuery2);
- MyHelpers::var_cmp_html($oMyFilter, $oFilter2);
- return false;
- }
- return true;
- }
-
- protected function DoExecute()
- {
-// $this->ReportError("Found two different OQL expression out of the (same?) filter: $sExpr1 != $sExpr2 ");
-// $this->ReportSuccess('Found '.$oSet->Count()." objects of class $sClassName");
- echo "Create protagonists... ";
-
- $iId1 = $this->InsertMammal('human', 'male', 10, 0, 0, 'romanoff', 192, '1971-07-19');
- $iId2 = $this->InsertMammal('human', 'female', 9, 0, 0, 'rouanita', 165, '1983-01-23');
- $this->InsertMammal('human', 'female', 3, $iId2, $iId1, 'pomme', 169, '2008-02-23');
- $this->InsertMammal('pig', 'female', 3, 0, 0, 'grouinkette', 85, '2006-06-01');
- $this->InsertMammal('donkey', 'female', 3, 0, 0, 'muleta', 124, '2003-11-11');
-
- $this->InsertBird('rooster', 'male', 12, 0, 0);
- $this->InsertFlyingBird('pie', 'female', 11, 0, 0, 35);
-
- // Benchmarking
- //
- if (false)
- {
- define ('COUNT_BENCHMARK', 10);
- echo "Parsing a long query, ".COUNT_BENCHMARK." times ";
- $sQuery = "SELECT Animal AS Child JOIN Mammal AS Dad ON Child.father = Dad.id JOIN Animal AS Mum ON Child.mother = Mum.id WHERE Dad.birth < DATE_SUB(CURRENT_DATE(), INTERVAL 10 YEAR) AND Dad.height * 2 <= ROUND(TO_DAYS(Dad.birth) / (3 + 1) * 5 - 3)";
-
- $fStart = MyHelpers::getmicrotime();
- for($i=0 ; $i < COUNT_BENCHMARK ; $i++)
- {
- $oMyFilter = DBObjectSearch::FromOQL($sQuery);
- }
- $fDuration = MyHelpers::getmicrotime() - $fStart;
- $fParsingDuration = $fDuration / COUNT_BENCHMARK;
- echo "Mean time by op: $fParsingDuration
";
- }
-
- echo "Test queries... ";
-
- $aQueries = array(
- 'SELECT Animal' => true,
- 'SELECT Animal WHERE Animal.pkey = 1' => false,
- 'SELECT Animal WHERE Animal.id = 1' => true,
- 'SELECT Aniiimal' => false,
- 'SELECTe Animal' => false,
- 'SELECT * FROM Animal' => false,
- 'SELECT Animal AS zoo WHERE zoo.species = \'human\'' => true,
- 'SELECT Animal AS zoo WHERE species = \'human\'' => true,
- 'SELECT Animal AS zoo WHERE espece = \'human\'' => false,
- 'SELECT Animal AS zoo WHERE zoo.species IN (\'human\', "pig")' => true,
- 'SELECT Animal AS zoo WHERE CONCATENATION(zoo.species, zoo.sex) LIKE "hum%male"' => false,
- 'SELECT Animal AS zoo WHERE CONCAT(zoo.species, zoo.sex) LIKE "hum%male"' => true,
- 'SELECT Animal AS zoo WHERE zoo.species NOT IN (\'human\', "pig")' => true,
- 'SELECT Animal AS zoo WHERE zoo.kind = \'human\'' => false,
- 'SELECT Animal WHERE Animal.species = \'human\' AND Animal.sex = \'female\'' => true,
- 'SELECT Mammal AS x WHERE (x.species = \'human\' AND x.name LIKE \'ro%\') OR (x.species = \'donkey\' AND x.name LIKE \'po%\')' => true,
- 'SELECT Mammal AS x WHERE x.species = \'human\' AND x.name LIKE \'ro%\' OR x.species = \'donkey\' AND x.name LIKE \'po%\'' => true,
- 'SELECT Mammal AS m WHERE MONTH(m.birth) = 7' => true,
- 'SELECT Mammal AS m WHERE DAY(m.birth) = 19' => true,
- 'SELECT Mammal AS m WHERE YEAR(m.birth) = 1971' => true,
- 'SELECT Mammal AS m WHERE m.birth < DATE_SUB(CURRENT_DATE(), INTERVAL 10 YEAR)' => true,
- 'SELECT Mammal AS m WHERE m.birth > DATE_SUB(NOW(), INTERVAL 2000 DAY)' => true,
- 'SELECT Mammal AS m WHERE (TO_DAYS(NOW()) - TO_DAYS(m.birth)) > 2000' => true,
- 'SELECT Mammal AS m WHERE m.name = IF(FLOOR(ROUND(m.height)) > 2, "pomme", "romain")' => true,
- 'SELECT Mammal AS m WHERE (1 + 2' => false,
- 'SELECT Mammal AS m WHERE (1 + 2 * 4 / 23) > 0' => true,
- 'SELECT Mammal AS m WHERE (4 / 23 * 2 + 1) > 0' => true,
- 'SELECT Mammal AS m WHERE 1/0' => true,
- 'SELECT Mammal AS m WHERE MONTH(m.birth) = 7' => true,
- 'SELECT Animal JOIN Group ON Group.leader = Animal.id' => true,
- 'SELECT Group JOIN Animal ON Group.leader = Animal.id' => true,
- 'SELECT Animal AS A JOIN Group AS G1 ON G1.leader = A.id' => true,
- 'SELECT Animal AS A JOIN Group AS G ON FooClass.leader = A.id' => false,
- 'SELECT Animal AS A JOIN Group AS G ON G.leader = FooClass.id' => false,
- 'SELECT Animal AS A JOIN Group AS G ON G.masterchief = A.id' => false,
- 'SELECT Animal AS A JOIN Group AS G ON A.id = G.leader' => false,
- 'SELECT Animal AS A JOIN Group AS G ON G.leader = A.id WHERE A.sex=\'male\' OR G.qwerty = 123' => false,
- 'SELECT Animal AS A JOIN Group AS G ON G.leader = A.id WHERE A.sex=\'male\' OR G.name LIKE "a%"' => true,
- 'SELECT Animal AS A JOIN Group AS G ON G.leader = A.id WHERE A.id = 1' => true,
- 'SELECT Animal AS A JOIN Group AS G ON G.leader = A.id WHERE id = 1' => false,
- 'SELECT Animal AS A JOIN Group AS G ON A.member = G.id' => false,
- 'SELECT Mammal AS M JOIN Group AS G ON M.member = G.id' => true,
- 'SELECT Mammal AS M JOIN Group AS G ON A.member = G.id' => false,
- 'SELECT Mammal AS myAlias JOIN Group AS myAlias ON myAlias.member = myAlias.id' => false,
- 'SELECT Mammal AS Mammal JOIN Group AS Mammal ON Mammal.member = Mammal.id' => false,
- 'SELECT Group AS G WHERE G.leader_name LIKE "%"' => true,
- 'SELECT Group AS G WHERE G.leader_speed < 100000' => true,
- 'SELECT Mammal AS M JOIN Group AS G ON M.member = G.id WHERE G.leader_name LIKE "%"' => true,
- 'SELECT Mammal AS M JOIN Group AS G ON M.member = G.id WHERE G.leader_speed < 100000' => true,
- 'SELECT Mammal AS Child JOIN Mammal AS Dad ON Child.father = Dad.id' => true,
- 'SELECT Mammal AS Child JOIN Animal AS Dad ON Child.father = Dad.id' => true,
- 'SELECT Animal AS Child JOIN Mammal AS Dad ON Child.father = Dad.id' => true,
- 'SELECT Animal AS Child JOIN Animal AS Dad ON Child.father = Dad.id' => true,
- 'SELECT Animal AS Dad JOIN Animal AS Child ON Child.father = Dad.id' => true,
- 'SELECT Animal AS Child JOIN Animal AS Dad ON Child.father = Dad.id JOIN Animal AS Mum ON Child.mother = Mum.id' => true,
- 'SELECT Animal AS Child JOIN Animal AS Dad ON Child.father = Dad.id JOIN Animal AS Mum ON Child.mother = Mum.id WHERE Dad.id = 1' => true,
- 'SELECT Animal AS Child JOIN Animal AS Dad ON Child.father = Dad.id JOIN Animal AS Mum ON Child.mother = Mum.id WHERE Dad.name = \'romanoff\'' => false,
- 'SELECT Animal AS Child JOIN Mammal AS Dad ON Child.father = Dad.id' => true,
- 'SELECT Animal AS Child JOIN Mammal AS Dad ON Child.father = Dad.id JOIN Animal AS Mum ON Child.mother = Mum.id WHERE Dad.name = \'romanoff\' OR Mum.speed = 0' => true,
- 'SELECT Animal AS Dad JOIN Animal AS Child ON Child.father = Dad.id JOIN Animal AS Mum ON Child.mother = Mum.id' => true,
- 'SELECT Mammal AS Dad JOIN Mammal AS Child ON Child.father = Dad.id' => true,
- 'SELECT Mammal AS Dad JOIN Mammal AS Child ON Child.father = Dad.id JOIN Mammal AS Mum ON Child.mother = Mum.id WHERE Dad.name = \'romanoff\' OR Mum.name=\'chloe\' OR Child.name=\'bizounours\'' => true,
- // Specifying multiple objects
- 'SELECT Animal FROM Animal' => true,
- 'SELECT yelele FROM Animal' => false,
- 'SELECT Animal FROM Animal AS A' => false,
- 'SELECT A FROM Animal AS A' => true,
- );
- //$aQueries = array(
- // 'SELECT Mammal AS M JOIN Group AS G ON M.member = G.id WHERE G.leader_name LIKE "%"' => true,
- //);
- foreach($aQueries as $sQuery => $bIsCorrect)
- {
- $this->CheckQuery($sQuery, $bIsCorrect);
- }
- return true;
- }
-}
-
-
-///////////////////////////////////////////////////////////////////////////
-// Test data load
-///////////////////////////////////////////////////////////////////////////
-
-class TestBulkChangeOnFarm extends TestBizModel
-{
- static public function GetName()
- {
- return 'Farm test - data load';
- }
-
- static public function GetDescription()
- {
- return 'Bulk load';
- }
-
- static public function GetConfigFile() {return '/config-test-farm.php';}
-
- protected function DoPrepare()
- {
- parent::DoPrepare();
- $this->ResetDB();
- MetaModel::DBCheckIntegrity();
- }
-
- protected function DoExecute()
- {
-// $this->ReportError("Found two different OQL expression out of the (same?) filter: $sExpr1 != $sExpr2 ");
-// $this->ReportSuccess('Found '.$oSet->Count()." objects of class $sClassName");
-
- $oParser = new CSVParser("denomination,hauteur,age
- suzy,123,2009-01-01
- chita,456,
- ", ',', '"');
- $aData = $oParser->ToArray(1, array('_name', '_height', '_birth'));
- self::DumpVariable($aData);
-
- $oBulk = new BulkChange(
- 'Mammal',
- $aData,
- // attributes
- array('name' => '_name', 'height' => '_height', 'birth' => '_birth'),
- // ext keys
- array(),
- // reconciliation
- array('name')
- );
-
- $oMyChange = MetaModel::NewObject("CMDBChange");
- $oMyChange->Set("date", time());
- $oMyChange->Set("userinfo", "Testor");
- $iChangeId = $oMyChange->DBInsert();
-// echo "Created new change: $iChangeId";
-
- echo "Planned for loading... ";
- $aRes = $oBulk->Process();
- self::DumpVariable($aRes);
- echo "Go for loading... ";
- $aRes = $oBulk->Process($oMyChange);
- self::DumpVariable($aRes);
-
- return;
-
- $oRawData = array(
- 'Mammal',
- array('species', 'sex', 'speed', 'mother', 'father', 'name', 'height', 'birth'),
- "human,male,23,0,0,romulus,192,1971
- human,male,23,0,0,remus,154,-50
- human,male,23,0,0,julius,160,-49
- human,female,23,0,0,cleopatra,142,-50
- pig,female,23,0,0,confucius,50,2003"
- );
- }
-}
-
-
-///////////////////////////////////////////////////////////////////////////
-// Test data load
-///////////////////////////////////////////////////////////////////////////
-
-class TestFullTextSearchOnFarm extends MyFarm
-{
- static public function GetName()
- {
- return 'Farm test - full text search';
- }
-
- static public function GetDescription()
- {
- return 'Focus on the full text search feature';
- }
-
- protected function DoExecute()
- {
- echo "Create protagonists... ";
-
- $iId1 = $this->InsertMammal('human', 'male', 10, 0, 0, 'romanoff', 192, '1971-07-19');
- $iId2 = $this->InsertMammal('human', 'female', 9, 0, 0, 'rouanita', 165, '1983-01-23');
- $this->InsertMammal('human', 'female', 3, $iId2, $iId1, 'pomme', 169, '2008-02-23');
- $this->InsertMammal('pig', 'female', 3, 0, 0, 'grouinkette', 85, '2006-06-01');
- $this->InsertMammal('donkey', 'female', 3, 0, 0, 'muleta', 124, '2003-11-11');
-
- $this->InsertBird('rooster', 'male', 12, 0, 0);
- $this->InsertFlyingBird('pie', 'female', 11, 0, 0, 35);
-
- echo "Search... ";
- $oSearch = new DBObjectSearch('Mammal');
- $oSearch->AddCondition_FullText('manof');
- //$oResultSet = new DBObjectSet($oSearch);
- $this->search_and_show_list($oSearch);
- }
-}
-
-
///////////////////////////////////////////////////////////////////////////
// Test queries
///////////////////////////////////////////////////////////////////////////
diff --git a/webservices/cron.php b/webservices/cron.php
index 145c758fe..b7717cede 100644
--- a/webservices/cron.php
+++ b/webservices/cron.php
@@ -60,7 +60,7 @@ function ReadMandatoryParam($oP, $sParam, $sSanitizationFilter = 'parameter')
function UsageAndExit($oP)
{
- $bModeCLI = utils::IsModeCLI();
+ $bModeCLI = ($oP instanceof CLIPage);
if ($bModeCLI)
{
@@ -477,9 +477,12 @@ function ReorderProcesses(&$aProcesses, $aTasks, $oNow, $bVerbose, &$oP)
set_time_limit(0); // Some background actions may really take long to finish (like backup)
-if (utils::IsModeCLI())
+$bIsModeCLI = utils::IsModeCLI();
+if ($bIsModeCLI)
{
$oP = new CLIPage("iTop - cron");
+
+ SetupUtils::CheckPhpAndExtensionsForCli($oP, EXIT_CODE_FATAL);
}
else
{
@@ -497,7 +500,7 @@ catch (Exception $e)
exit(EXIT_CODE_FATAL);
}
-if (utils::IsModeCLI())
+if ($bIsModeCLI)
{
// Next steps:
// specific arguments: 'csvfile'
diff --git a/webservices/export-v2.php b/webservices/export-v2.php
index 1fd7d6f01..8b193fc9a 100644
--- a/webservices/export-v2.php
+++ b/webservices/export-v2.php
@@ -32,6 +32,12 @@ require_once(APPROOT.'/core/bulkexport.class.inc.php');
require_once(APPROOT.'/application/startup.inc.php');
+
+const EXIT_CODE_ERROR = -1;
+const EXIT_CODE_FATAL = -2;
+
+
+
function ReportErrorAndExit($sErrorMessage)
{
if (utils::IsModeCLI())
@@ -39,14 +45,14 @@ function ReportErrorAndExit($sErrorMessage)
$oP = new CLIPage("iTop - Export");
$oP->p('ERROR: '.$sErrorMessage);
$oP->output();
- exit(-1);
+ exit(EXIT_CODE_ERROR);
}
else
{
$oP = new WebPage("iTop - Export");
$oP->p('ERROR: '.$sErrorMessage);
$oP->output();
- exit(-1);
+ exit(EXIT_CODE_ERROR);
}
}
@@ -58,7 +64,7 @@ function ReportErrorAndUsage($sErrorMessage)
$oP->p('ERROR: '.$sErrorMessage);
Usage($oP);
$oP->output();
- exit(-1);
+ exit(EXIT_CODE_ERROR);
}
else
{
@@ -66,7 +72,7 @@ function ReportErrorAndUsage($sErrorMessage)
$oP->p('ERROR: '.$sErrorMessage);
Usage($oP);
$oP->output();
- exit(-1);
+ exit(EXIT_CODE_ERROR);
}
}
@@ -565,6 +571,8 @@ function DoExport(WebPage $oP, BulkExport $oExporter, $bInteractive = false)
/////////////////////////////////////////////////////////////////////////////
if (utils::IsModeCLI())
{
+ SetupUtils::CheckPhpAndExtensionsForCli(new CLIPage('iTop - Export'));
+
try
{
// Do this before loging, in order to allow setting user credentials from within the file
@@ -573,7 +581,7 @@ if (utils::IsModeCLI())
catch(Exception $e)
{
echo "Error: ".$e->GetMessage()." \n";
- exit(-2);
+ exit(EXIT_CODE_FATAL);
}
$sAuthUser = utils::ReadParam('auth_user', null, true /* Allow CLI */, 'raw_data');
diff --git a/webservices/export.php b/webservices/export.php
index ee127ca32..f19d03eaf 100644
--- a/webservices/export.php
+++ b/webservices/export.php
@@ -29,6 +29,11 @@ require_once(APPROOT.'/application/excelexporter.class.inc.php');
require_once(APPROOT.'/application/startup.inc.php');
+
+const EXIT_CODE_ERROR = -1;
+const EXIT_CODE_FATAL = -2;
+
+
try
{
// Do this before loging, in order to allow setting user credentials from within the file
@@ -37,12 +42,15 @@ try
catch(Exception $e)
{
echo "Error: ".$e->GetMessage()." \n";
- exit -2;
+ exit(EXIT_CODE_FATAL);
}
if (utils::IsModeCLI())
{
- $sAuthUser = utils::ReadParam('auth_user', null, true /* Allow CLI */, 'raw_data');
+ $oP = new CLIPage("iTop - Export");
+ SetupUtils::CheckPhpAndExtensionsForCli($oP, EXIT_CODE_FATAL);
+
+ $sAuthUser = utils::ReadParam('auth_user', null, true /* Allow CLI */, 'raw_data');
$sAuthPwd = utils::ReadParam('auth_pwd', null, true /* Allow CLI */, 'raw_data');
if (UserRights::CheckCredentials($sAuthUser, $sAuthPwd))
@@ -51,10 +59,9 @@ if (utils::IsModeCLI())
}
else
{
- $oP = new CLIPage("iTop - Export");
- $oP->p("Access restricted or wrong credentials ('$sAuthUser')");
+ $oP->p("Access restricted or wrong credentials ('$sAuthUser')");
$oP->output();
- exit -1;
+ exit(EXIT_CODE_ERROR);
}
}
else
@@ -74,7 +81,7 @@ if (utils::IsArchiveMode() && !UserRights::CanBrowseArchive())
$oP = new CLIPage("iTop - Export");
$oP->p("The user account is not authorized to access the archives");
$oP->output();
- exit -1;
+ exit(EXIT_CODE_ERROR);
}
$bLocalize = (utils::ReadParam('no_localize', 0) != 1);
diff --git a/webservices/import.php b/webservices/import.php
index c43071822..7907bcfcd 100644
--- a/webservices/import.php
+++ b/webservices/import.php
@@ -212,6 +212,7 @@ function ReadMandatoryParam($oP, $sParam, $sSanitizationFilter)
if (utils::IsModeCLI())
{
$oP = new CLIPage("iTop - Bulk import");
+ SetupUtils::CheckPhpAndExtensionsForCli($oP, -2);
}
else
{