Compare commits

...

1 Commits

Author SHA1 Message Date
v-dumas
6e43d01475 N°3961 - Reorganize Service menus 2026-02-16 13:51:21 +01:00
6 changed files with 212 additions and 38 deletions

View File

@@ -2759,52 +2759,131 @@ public function PrefillSearchForm(&$aContextParam)
</menu>
<menu id="CustomerContract" xsi:type="OQLMenuNode" _delta="define">
<rank>1</rank>
<parent>ServiceManagement</parent>
<parent>Service:Overview</parent>
<oql>SELECT CustomerContract</oql>
<do_search>1</do_search>
</menu>
<menu id="ProviderContract" xsi:type="OQLMenuNode" _delta="define">
<rank>2</rank>
<parent>ServiceManagement</parent>
<parent>Service:Overview</parent>
<oql>SELECT ProviderContract</oql>
<do_search>1</do_search>
</menu>
<menu id="ServiceCatalog" xsi:type="DashboardMenuNode" _delta="define">
<rank>10</rank>
<parent>ServiceManagement</parent>
<definition>
<title>UI-ServiceCatalogMenu-Title</title>
<layout>DashboardLayoutTwoCols</layout>
<cells>
<cell id="1">
<rank>1</rank>
<dashlets>
<dashlet id="ServiceCatalog_RecentRequestByService" xsi:type="DashletGroupByTable">
<rank>0</rank>
<title>UI-ServiceCatalogMenu-RecentRequestByService</title>
<query><![CDATA[SELECT UserRequest AS u WHERE u.start_date < DATE_ADD(NOW(), INTERVAL 90 DAY)]]></query>
<group_by>service_id</group_by>
<style>table</style>
<aggregation_function>count</aggregation_function>
<aggregation_attribute/>
<limit/>
<order_by>attribute</order_by>
<order_direction>desc</order_direction>
</dashlet>
</dashlets>
</cell>
<cell id="2">
<rank>2</rank>
<dashlets>
<dashlet id="0" xsi:type="DashletEmptyCell">
<rank>0</rank>
</dashlet>
</dashlets>
</cell>
</cells>
</definition>
</menu>
<menu id="ServiceFamily" xsi:type="OQLMenuNode" _delta="define">
<rank>2.5</rank>
<parent>ServiceManagement</parent>
<parent>ServiceCatalog</parent>
<oql>SELECT ServiceFamily</oql>
<do_search>1</do_search>
</menu>
<menu id="Service" xsi:type="OQLMenuNode" _delta="define">
<rank>3</rank>
<parent>ServiceManagement</parent>
<parent>ServiceCatalog</parent>
<oql>SELECT Service</oql>
<do_search>1</do_search>
</menu>
<menu id="ServiceSubcategory" xsi:type="OQLMenuNode" _delta="define">
<rank>4</rank>
<parent>ServiceManagement</parent>
<parent>ServiceCatalog</parent>
<oql>SELECT ServiceSubcategory</oql>
<do_search>1</do_search>
</menu>
<menu id="SLA" xsi:type="OQLMenuNode" _delta="define">
<rank>5</rank>
<parent>ServiceManagement</parent>
<parent>ServiceCatalog</parent>
<oql>SELECT SLA</oql>
<do_search>1</do_search>
</menu>
<menu id="SLT" xsi:type="OQLMenuNode" _delta="define">
<rank>6</rank>
<parent>ServiceManagement</parent>
<parent>ServiceCatalog</parent>
<oql>SELECT SLT</oql>
<do_search>1</do_search>
</menu>
<menu id="DeliveryModel" xsi:type="OQLMenuNode" _delta="define">
<rank>7</rank>
<parent>ServiceManagement</parent>
<parent>ServiceCatalog</parent>
<oql>SELECT DeliveryModel</oql>
<do_search>1</do_search>
</menu>
<menu id="RulesAndWorkflow" xsi:type="DashboardMenuNode" _delta="define">
<rank>20</rank>
<parent>ServiceManagement</parent>
<definition>
<title>UI-RulesAndWorkflow-Title</title>
<layout>DashboardLayoutTwoCols</layout>
<cells>
<cell id="0">
<rank>0</rank>
<dashlets>
<dashlet id="RulesAndWorkflow_PlainText" xsi:type="DashletPlainText">
<rank>0</rank>
<text>UI-RulesAndWorkflow-Description</text>
</dashlet>
</dashlets>
</cell>
<cell id="1">
<rank>1</rank>
<dashlets>
<dashlet id="0" xsi:type="DashletEmptyCell">
<rank>0</rank>
</dashlet>
</dashlets>
</cell>
<cell id="2">
<rank>2</rank>
<dashlets>
<dashlet id="0" xsi:type="DashletEmptyCell">
<rank>0</rank>
</dashlet>
</dashlets>
</cell>
<cell id="3">
<rank>3</rank>
<dashlets>
<dashlet id="0" xsi:type="DashletEmptyCell">
<rank>0</rank>
</dashlet>
</dashlets>
</cell>
</cells>
</definition>
</menu>
<menu id="Typology" xsi:type="DashboardMenuNode">
<definition>
<cells>

View File

@@ -62,21 +62,21 @@ Dict::Add('EN US', 'English', 'English', [
'Menu:DeliveryModel+' => 'Delivery models',
'Menu:ServiceFamily' => 'Service families',
'Menu:ServiceFamily+' => 'Service families',
'Menu:ServiceCatalog' => 'Service catalog',
'Menu:ServiceCatalog+' => 'Service catalog',
'UI-ServiceCatalogMenu-Title' => 'Service catalog',
'UI-ServiceCatalogMenu-RecentRequestByService' => 'Recent requests by service',
'Menu:RulesAndWorkflow' => 'Rules and workflow',
'Menu:RulesAndWorkflow+' => 'Automation rules and workflow',
'UI-RulesAndWorkflow-Title' => 'Rules and workflow',
'UI-RulesAndWorkflow-Description' => 'Multiple iTop extensions brings notification rules and workflow automation.
They are included in iTop Products, but not in iTop Community. You may get them on iTop Hub.',
'Contract:baseinfo' => 'General information',
'Contract:moreinfo' => 'Contractual information',
'Contract:cost' => 'Cost information',
]);
/*
'UI:ServiceManagementMenu' => 'Gestion des Services',
'UI:ServiceManagementMenu+' => 'Gestion des Services',
'UI:ServiceManagementMenu:Title' => 'Résumé des services & contrats',
'UI-ServiceManagementMenu-ContractsBySrvLevel' => 'Contrats par niveau de service',
'UI-ServiceManagementMenu-ContractsByStatus' => 'Contrats par état',
'UI-ServiceManagementMenu-ContractsEndingIn30Days' => 'Contrats se terminant dans moins de 30 jours',
*/
//
// Class: Organization
//

View File

@@ -36,19 +36,21 @@ Dict::Add('FR FR', 'French', 'Français', [
'Menu:DeliveryModel+' => 'Modèles de support',
'Menu:ServiceFamily' => 'Familles de service',
'Menu:ServiceFamily+' => 'Familles de service',
'Menu:ServiceCatalog' => 'Catalogue de services',
'Menu:ServiceCatalog+' => '',
'UI-ServiceCatalogMenu-Title' => 'Catalogue de services',
'UI-ServiceCatalogMenu-RecentRequestByService' => 'Demandes récentes groupées par service',
'Menu:RulesAndWorkflow' => 'Règles d\'automatisation',
'Menu:RulesAndWorkflow+' => '',
'UI-RulesAndWorkflow-Title' => 'Règles d\'automatisation',
'UI-RulesAndWorkflow-Description' => 'De nombreuses extensions apportent des règles de notification et d\'automatisation du cycle de vie des tickets.
Elles sont incluses dans les produits Professionels, mais pas dans la version communautaire. Vous pouvez les obtenir sur iTop Hub.',
'Contract:baseinfo' => 'Information générale',
'Contract:moreinfo' => 'Aspects contractuels',
'Contract:cost' => 'Coûts',
]);
/*
'UI:ServiceManagementMenu' => 'Gestion des Services',
'UI:ServiceManagementMenu+' => 'Gestion des Services',
'UI:ServiceManagementMenu:Title' => 'Résumé des services & contrats',
'UI-ServiceManagementMenu-ContractsBySrvLevel' => 'Contrats par niveau de service',
'UI-ServiceManagementMenu-ContractsByStatus' => 'Contrats par état',
'UI-ServiceManagementMenu-ContractsEndingIn30Days' => 'Contrats se terminant dans moins de 30 jours',
*/
//
// Class: Organization

View File

@@ -2693,14 +2693,9 @@ public function PrefillSearchForm(&$aContextParam)
</style>
</menu>
<menu id="WelcomeMenuPage" xsi:type="DashboardMenuNode" _delta="must_exist">
<rank>10</rank>
<parent>WelcomeMenu</parent>
<definition>
<layout>DashboardLayoutOneCol</layout>
<title/>
<cells>
<cell id="0">
<rank>0</rank>
<dashlets>
<dashlet id="6" xsi:type="DashletBadge" _delta="define">
<rank>5</rank>
@@ -2743,52 +2738,130 @@ public function PrefillSearchForm(&$aContextParam)
</menu>
<menu id="CustomerContract" xsi:type="OQLMenuNode" _delta="define">
<rank>1</rank>
<parent>ServiceManagement</parent>
<parent>Service:Overview</parent>
<oql>SELECT CustomerContract</oql>
<do_search>1</do_search>
</menu>
<menu id="ProviderContract" xsi:type="OQLMenuNode" _delta="define">
<rank>2</rank>
<parent>ServiceManagement</parent>
<parent>Service:Overview</parent>
<oql>SELECT ProviderContract</oql>
<do_search>1</do_search>
</menu>
<menu id="ServiceCatalog" xsi:type="DashboardMenuNode" _delta="define">
<rank>10</rank>
<parent>ServiceManagement</parent>
<definition>
<title>UI-ServiceCatalogMenu-Title</title>
<layout>DashboardLayoutTwoCols</layout>
<cells>
<cell id="1">
<rank>1</rank>
<dashlets>
<dashlet id="ServiceCatalog_RecentRequestByService" xsi:type="DashletGroupByTable">
<rank>0</rank>
<title>UI-ServiceCatalogMenu-RecentRequestByService</title>
<query><![CDATA[SELECT UserRequest AS u WHERE u.start_date < DATE_ADD(NOW(), INTERVAL 90 DAY)]]></query>
<group_by>service_id</group_by>
<style>table</style>
<aggregation_function>count</aggregation_function>
<aggregation_attribute/>
<limit/>
<order_by>attribute</order_by>
<order_direction>desc</order_direction>
</dashlet>
</dashlets>
</cell>
<cell id="2">
<rank>2</rank>
<dashlets>
<dashlet id="0" xsi:type="DashletEmptyCell">
<rank>0</rank>
</dashlet>
</dashlets>
</cell>
</cells>
</definition>
</menu>
<menu id="ServiceFamily" xsi:type="OQLMenuNode" _delta="define">
<rank>3</rank>
<parent>ServiceManagement</parent>
<parent>ServiceCatalog</parent>
<oql>SELECT ServiceFamily</oql>
<do_search>1</do_search>
</menu>
<menu id="Service" xsi:type="OQLMenuNode" _delta="define">
<rank>4</rank>
<parent>ServiceManagement</parent>
<parent>ServiceCatalog</parent>
<oql>SELECT Service</oql>
<do_search>1</do_search>
</menu>
<menu id="ServiceSubcategory" xsi:type="OQLMenuNode" _delta="define">
<rank>5</rank>
<parent>ServiceManagement</parent>
<parent>ServiceCatalog</parent>
<oql>SELECT ServiceSubcategory</oql>
<do_search>1</do_search>
</menu>
<menu id="SLA" xsi:type="OQLMenuNode" _delta="define">
<rank>6</rank>
<parent>ServiceManagement</parent>
<parent>ServiceCatalog</parent>
<oql>SELECT SLA</oql>
<do_search>1</do_search>
</menu>
<menu id="SLT" xsi:type="OQLMenuNode" _delta="define">
<rank>7</rank>
<parent>ServiceManagement</parent>
<parent>ServiceCatalog</parent>
<oql>SELECT SLT</oql>
<do_search>1</do_search>
</menu>
<menu id="DeliveryModel" xsi:type="OQLMenuNode" _delta="define">
<rank>8</rank>
<parent>ServiceManagement</parent>
<parent>ServiceCatalog</parent>
<oql>SELECT DeliveryModel</oql>
<do_search>1</do_search>
</menu>
<menu id="RulesAndWorkflow" xsi:type="DashboardMenuNode" _delta="define">
<rank>20</rank>
<parent>ServiceManagement</parent>
<definition>
<title>UI-RulesAndWorkflow-Title</title>
<layout>DashboardLayoutTwoCols</layout>
<cells>
<cell id="0">
<rank>0</rank>
<dashlets>
<dashlet id="RulesAndWorkflow_PlainText" xsi:type="DashletPlainText">
<rank>0</rank>
<text>UI-RulesAndWorkflow-Description</text>
</dashlet>
</dashlets>
</cell>
<cell id="1">
<rank>1</rank>
<dashlets>
<dashlet id="0" xsi:type="DashletEmptyCell">
<rank>0</rank>
</dashlet>
</dashlets>
</cell>
<cell id="2">
<rank>2</rank>
<dashlets>
<dashlet id="0" xsi:type="DashletEmptyCell">
<rank>0</rank>
</dashlet>
</dashlets>
</cell>
<cell id="3">
<rank>3</rank>
<dashlets>
<dashlet id="0" xsi:type="DashletEmptyCell">
<rank>0</rank>
</dashlet>
</dashlets>
</cell>
</cells>
</definition>
</menu>
<menu id="Typology" xsi:type="DashboardMenuNode">
<definition>
<cells>

View File

@@ -60,6 +60,16 @@ Dict::Add('EN US', 'English', 'English', [
'Menu:DeliveryModel+' => 'Delivery models',
'Menu:ServiceFamily' => 'Service families',
'Menu:ServiceFamily+' => 'Service families',
'Menu:ServiceCatalog' => 'Service catalog',
'Menu:ServiceCatalog+' => 'Service catalog',
'UI-ServiceCatalogMenu-Title' => 'Service catalog',
'UI-ServiceCatalogMenu-RecentRequestByService' => 'Recent requests by service',
'Menu:RulesAndWorkflow' => 'Rules and workflow',
'Menu:RulesAndWorkflow+' => 'Automation rules and workflow',
'UI-RulesAndWorkflow-Title' => 'Rules and workflow',
'UI-RulesAndWorkflow-Description' => 'Multiple iTop extensions brings notification rules and workflow automation.
They are included in iTop Products, but not in iTop Community. You may get them on iTop Hub.',
'Menu:Procedure' => 'Procedures catalog',
'Menu:Procedure+' => 'All procedures catalog',

View File

@@ -36,6 +36,16 @@ Dict::Add('FR FR', 'French', 'Français', [
'Menu:DeliveryModel+' => 'Modèles de support',
'Menu:ServiceFamily' => 'Familles de service',
'Menu:ServiceFamily+' => 'Familles de service',
'Menu:ServiceCatalog' => 'Catalogue de services',
'Menu:ServiceCatalog+' => '',
'UI-ServiceCatalogMenu-Title' => 'Catalogue de services',
'UI-ServiceCatalogMenu-RecentRequestByService' => 'Demandes récentes groupées par service',
'Menu:RulesAndWorkflow' => 'Règles d\'automatisation',
'Menu:RulesAndWorkflow+' => '',
'UI-RulesAndWorkflow-Title' => 'Règles d\'automatisation',
'UI-RulesAndWorkflow-Description' => 'De nombreuses extensions apportent des règles de notification et d\'automatisation du cycle de vie des tickets.
Elles sont incluses dans les produits Professionels, mais pas dans la version communautaire. Vous pouvez les obtenir sur iTop Hub.',
'Menu:Procedure' => 'Catalogue des procédures',
'Menu:Procedure+' => 'Catalogue des procédures',
'Contract:baseinfo' => 'Information générale',