From 34ec79c0f7f9742095b3fa374dedc6e58398f3e6 Mon Sep 17 00:00:00 2001 From: Denis Flaven Date: Tue, 6 Jul 2010 13:49:37 +0000 Subject: [PATCH] Updated menu entries and relations definitions SVN:trunk[575] --- application/itopwebpage.class.inc.php | 6 +- .../en.dict.itop-change-mgmt.php | 2 + .../model.itop-change-mgmt.php | 12 +-- .../model.itop-config-mgmt.php | 96 ++++++++++++++++--- .../en.dict.itop-incident-mgmt.php | 20 ++-- .../model.itop-incident-mgmt.php | 19 +--- .../en.dict.itop-request-mgmt.php | 15 +-- .../model.itop-request-mgmt.php | 10 +- .../en.dict.itop-service-mgmt.php | 2 + .../model.itop-service-mgmt.php | 8 +- 10 files changed, 128 insertions(+), 62 deletions(-) diff --git a/application/itopwebpage.class.inc.php b/application/itopwebpage.class.inc.php index b249f02110..3744879c59 100644 --- a/application/itopwebpage.class.inc.php +++ b/application/itopwebpage.class.inc.php @@ -243,14 +243,14 @@ EOF * Data Model * Universal Search */ - $oWelcomeMenu = new MenuGroup('WelcomeMenu', 0 /* fRank */); + $oWelcomeMenu = new MenuGroup('WelcomeMenu', 10 /* fRank */); new TemplateMenuNode('WelcomeMenuPage', '../business/templates/welcome_menu.html', $oWelcomeMenu->GetIndex() /* oParent */, 1 /* fRank */); - $oToolsMenu = new MenuGroup('DataAdministration', 2 /* fRank */); + $oToolsMenu = new MenuGroup('DataAdministration', 70 /* fRank */); new WebPageMenuNode('CSVImportMenu', '../pages/csvimport.php', $oToolsMenu->GetIndex(), 1 /* fRank */); // Add the admin menus - $oAdminMenu = new MenuGroup('AdminTools', 999 /* fRank */); + $oAdminMenu = new MenuGroup('AdminTools', 80 /* fRank */); new OQLMenuNode('UserAccountsMenu', 'SELECT URP_Users', $oAdminMenu->GetIndex(), 1 /* fRank */); new OQLMenuNode('ProfilesMenu', 'SELECT URP_Profiles', $oAdminMenu->GetIndex(), 2 /* fRank */); new TemplateMenuNode('NotificationsMenu', '../business/templates/notifications_menu.html', $oAdminMenu->GetIndex(), 3 /* fRank */); diff --git a/modules/itop-change-mgmt-1.0.0/en.dict.itop-change-mgmt.php b/modules/itop-change-mgmt-1.0.0/en.dict.itop-change-mgmt.php index bea9e2376a..a01049b676 100644 --- a/modules/itop-change-mgmt-1.0.0/en.dict.itop-change-mgmt.php +++ b/modules/itop-change-mgmt-1.0.0/en.dict.itop-change-mgmt.php @@ -25,6 +25,8 @@ Dict::Add('EN US', 'English', 'English', array( 'Menu:ChangeManagement' => 'Change management', + 'Menu:Change:Overview' => 'Overview', + 'Menu:Change:Overview+' => '', 'Menu:WaitingAcceptance' => 'Changes awaiting acceptance', 'Menu:WaitingAcceptance+' => '', 'Menu:WaitingApproval' => 'Changes awaiting approval', diff --git a/modules/itop-change-mgmt-1.0.0/model.itop-change-mgmt.php b/modules/itop-change-mgmt-1.0.0/model.itop-change-mgmt.php index 5df2d0c5eb..053ad0f33f 100644 --- a/modules/itop-change-mgmt-1.0.0/model.itop-change-mgmt.php +++ b/modules/itop-change-mgmt-1.0.0/model.itop-change-mgmt.php @@ -452,11 +452,11 @@ class EmergencyChange extends ApprovedChange } -$oMyMenuGroup = new MenuGroup('ChangeManagement', 1 /* fRank */); - -new OQLMenuNode('MyChanges', 'SELECT Change WHERE agent_id = :current_contact_id', $oMyMenuGroup->GetIndex(), 0 /* fRank */); -new OQLMenuNode('Changes', 'SELECT Change WHERE status != "closed"', $oMyMenuGroup->GetIndex(), 0 /* fRank */); -new OQLMenuNode('WaitingApproval', 'SELECT ApprovedChange WHERE status IN ("plannedscheduled")', $oMyMenuGroup->GetIndex(), 0 /* fRank */); -new OQLMenuNode('WaitingAcceptance', 'SELECT NormalChange WHERE status IN ("new")', $oMyMenuGroup->GetIndex(), 0 /* fRank */); +$oMyMenuGroup = new MenuGroup('ChangeManagement', 50 /* fRank */); +new TemplateMenuNode('Change:Overview', '../modules/itop-change-mgmt-1.0.0/overview.html', $oMyMenuGroup->GetIndex() /* oParent */, 0 /* fRank */); +new OQLMenuNode('MyChanges', 'SELECT Change WHERE agent_id = :current_contact_id', $oMyMenuGroup->GetIndex(), 1 /* fRank */); +new OQLMenuNode('Changes', 'SELECT Change WHERE status != "closed"', $oMyMenuGroup->GetIndex(), 2 /* fRank */); +new OQLMenuNode('WaitingApproval', 'SELECT ApprovedChange WHERE status IN ("plannedscheduled")', $oMyMenuGroup->GetIndex(), 3 /* fRank */); +new OQLMenuNode('WaitingAcceptance', 'SELECT NormalChange WHERE status IN ("new")', $oMyMenuGroup->GetIndex(), 4 /* fRank */); ?> diff --git a/modules/itop-config-mgmt-1.0.0/model.itop-config-mgmt.php b/modules/itop-config-mgmt-1.0.0/model.itop-config-mgmt.php index 47fb57d0b2..de43e68c61 100644 --- a/modules/itop-config-mgmt-1.0.0/model.itop-config-mgmt.php +++ b/modules/itop-config-mgmt-1.0.0/model.itop-config-mgmt.php @@ -26,7 +26,8 @@ require_once('../application/cmdbabstract.class.inc.php'); require_once('../application/template.class.inc.php'); -MetaModel::RegisterRelation("impacts", array("description"=>"Objects impacted by", "verb_down"=>"impacts", "verb_up"=>"is impacted by")); +MetaModel::RegisterRelation("impacts", array("description"=>"Objects impacted by", "verb_down"=>"impacts", "verb_up"=>"depends on")); +MetaModel::RegisterRelation("depends on", array("description"=>"That impacts ", "verb_down"=>"depends on", "verb_up"=>"impacts")); class Organization extends cmdbAbstractObject { @@ -690,6 +691,9 @@ abstract class FunctionalCI extends cmdbAbstractObject "solution" => array("sQuery"=>"SELECT ApplicationSolution AS s JOIN lnkSolutionToCI AS l1 ON l1.solution_id = s.id WHERE l1.ci_id = :this->id", "bPropagate"=>true, "iDistance"=>2), ); return array_merge($aRels, parent::GetRelationQueries($sRelCode)); + break; + default: + return parent::GetRelationQueries($sRelCode); } } @@ -741,12 +745,23 @@ abstract class SoftwareInstance extends FunctionalCI { switch ($sRelCode) { - case "impacts": + case "impacts": $aRels = array( // Actually this should be limited to the Software instances based on a DBServer Application type... "db_instances" => array("sQuery"=>"SELECT DatabaseInstance AS db WHERE db.db_server_instance_id = :this->id", "bPropagate"=>true, "iDistance"=>5), ); return array_merge($aRels, parent::GetRelationQueries($sRelCode)); + break; + + case 'depends on': + $aRels = array( + "applications" => array("sQuery"=>"SELECT Device JOIN ApplicationInstance AS app ON app.device_id = Device.id WHERE app.id = :this->id", "bPropagate"=>true, "iDistance"=>5), + ); + return array_merge($aRels, parent::GetRelationQueries($sRelCode)); + break; + + default: + return parent::GetRelationQueries($sRelCode); } } } @@ -842,6 +857,21 @@ class DatabaseInstance extends FunctionalCI { return $this->Get('name').' - '.$this->Get('db_server_instance_name'); } + public static function GetRelationQueries($sRelCode) + { + switch ($sRelCode) + { + case "depends on": + $aRels = array( + "db_instances" => array("sQuery"=>"SELECT DBServerInstance AS db_server_inst JOIN DatabaseInstance AS db ON db.db_server_instance_id = db_server_inst.id WHERE db.id = :this->id", "bPropagate"=>true, "iDistance"=>5), + ); + return array_merge($aRels, parent::GetRelationQueries($sRelCode)); + break; + + default: + return parent::GetRelationQueries($sRelCode); + } + } } class ApplicationSolution extends FunctionalCI { @@ -877,11 +907,22 @@ class ApplicationSolution extends FunctionalCI { switch ($sRelCode) { - case "impacts": + case "impacts": $aRels = array( "process" => array("sQuery"=>"SELECT BusinessProcess AS p JOIN lnkProcessToSolution AS l1 ON l1.process_id = p.id WHERE l1.solution_id = :this->id", "bPropagate"=>true, "iDistance"=>3), ); return array_merge($aRels, parent::GetRelationQueries($sRelCode)); + break; + + case "depends on": + $aRels = array( + "solution" => array("sQuery"=>"SELECT FunctionalCI AS ci JOIN lnkSolutionToCI AS l1 ON l1.ci_id = ci.id WHERE l1.solution_id = :this->id", "bPropagate"=>true, "iDistance"=>2), + ); + return array_merge($aRels, parent::GetRelationQueries($sRelCode)); + break; + + default: + return parent::GetRelationQueries($sRelCode); } } } @@ -908,11 +949,27 @@ class BusinessProcess extends FunctionalCI MetaModel::Init_AddAttribute(new AttributeWikiText("description", array("allowed_values"=>null, "sql"=>"description", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeLinkedSetIndirect("used_solution_list", array("linked_class"=>"lnkProcessToSolution", "ext_key_to_me"=>"process_id", "ext_key_to_remote"=>"solution_id", "allowed_values"=>null, "count_min"=>0, "count_max"=>0, "depends_on"=>array()))); - MetaModel::Init_SetZListItems('details', array('name', 'status', 'org_id', 'importance', 'description', 'contact_list', 'document_list', 'solution_list', 'contract_list', 'ticket_list', 'used_solution_list')); + MetaModel::Init_SetZListItems('details', array('name', 'status', 'org_id', 'importance', 'description', 'contact_list', 'document_list', 'contract_list', 'ticket_list', 'used_solution_list')); MetaModel::Init_SetZListItems('advanced_search', array('name', 'status', 'org_id', 'importance', 'description')); MetaModel::Init_SetZListItems('standard_search', array('name', 'status', 'org_id', 'importance', 'description')); MetaModel::Init_SetZListItems('list', array('status', 'org_id', 'importance', 'description')); } + + public static function GetRelationQueries($sRelCode) + { + switch ($sRelCode) + { + case "depends on": + $aRels = array( + "solution" => array("sQuery"=>"SELECT ApplicationSolution AS app JOIN lnkProcessToSolution AS l1 ON l1.solution_id = app.id WHERE l1.process_id = :this->id", "bPropagate"=>true, "iDistance"=>3), + ); + return array_merge($aRels, parent::GetRelationQueries($sRelCode)); + break; + + default: + return parent::GetRelationQueries($sRelCode); + } + } } abstract class ConnectableCI extends FunctionalCI { @@ -978,11 +1035,12 @@ class NetworkInterface extends ConnectableCI MetaModel::Init_AddAttribute(new AttributeExternalField("connected_name", array("allowed_values"=>null, "extkey_attcode"=>"connected_if", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeExternalField("connected_if_device_id", array("allowed_values"=>null, "extkey_attcode"=>"connected_if", "target_attcode"=>"device_id", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeExternalField("connected_if_device_id_name", array("allowed_values"=>null, "extkey_attcode"=>"connected_if", "target_attcode"=>"device_name", "is_null_allowed"=>true, "depends_on"=>array()))); + MetaModel::Init_AddAttribute(new AttributeEnum("link_type", array("allowed_values"=>new ValueSetEnum('uplink,downlink'), "sql"=>"link_type", "default_value"=>"uplink", "is_null_allowed"=>false, "depends_on"=>array()))); - MetaModel::Init_SetZListItems('details', array('name', 'status', 'org_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref', 'device_id', 'logical_type', 'physical_type', 'ip_address', 'ip_mask', 'mac_address', 'speed', 'duplex', 'connected_if', 'connected_if_device_id', 'contact_list', 'document_list', 'solution_list', 'contract_list', 'ticket_list')); + MetaModel::Init_SetZListItems('details', array('name', 'status', 'org_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref', 'device_id', 'logical_type', 'physical_type', 'ip_address', 'ip_mask', 'mac_address', 'speed', 'duplex', 'link_type', 'connected_if', 'connected_if_device_id', 'contact_list', 'document_list', 'solution_list', 'contract_list', 'ticket_list')); MetaModel::Init_SetZListItems('advanced_search', array('name', 'status', 'org_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref', 'device_id', 'logical_type', 'physical_type', 'ip_address', 'ip_mask', 'mac_address', 'speed', 'duplex', 'connected_if', 'connected_if_device_id')); - MetaModel::Init_SetZListItems('standard_search', array('name', 'status', 'org_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref', 'device_id', 'logical_type', 'physical_type', 'ip_address', 'ip_mask', 'mac_address', 'speed', 'duplex', 'connected_if', 'connected_if_device_id')); - MetaModel::Init_SetZListItems('list', array('status', 'org_id', 'importance', 'device_id', 'logical_type', 'physical_type', 'connected_if')); + MetaModel::Init_SetZListItems('standard_search', array('name', 'status', 'org_id', 'importance', 'device_id', 'logical_type', 'physical_type', 'ip_address', 'ip_mask', 'mac_address', 'connected_if_device_id')); + MetaModel::Init_SetZListItems('list', array('status', 'org_id', 'importance', 'device_id', 'logical_type', 'physical_type', 'link_type', 'connected_if_device_id')); } public function GetName() @@ -1022,11 +1080,23 @@ abstract class Device extends ConnectableCI { switch ($sRelCode) { - case "impacts": + case "impacts": $aRels = array( "applications" => array("sQuery"=>"SELECT SoftwareInstance AS app WHERE app.device_id = :this->id", "bPropagate"=>true, "iDistance"=>5), + "connected_devices" => array("sQuery"=>"SELECT Device AS dev JOIN NetworkInterface AS if1 ON if1.device_id = dev.id JOIN NetworkInterface AS if2 ON if2.connected_if = if1.id WHERE if2.device_id = :this->id AND if2.link_type='downlink'", "bPropagate"=>true, "iDistance"=>5), ); return array_merge($aRels, parent::GetRelationQueries($sRelCode)); + break; + + case "depends on": + $aRels = array( + "connected_devices" => array("sQuery"=>"SELECT Device AS dev JOIN NetworkInterface AS if1 ON if1.device_id = dev.id JOIN NetworkInterface AS if2 ON if2.connected_if = if1.id WHERE if2.device_id = :this->id AND if2.link_type='uplink'", "bPropagate"=>true, "iDistance"=>5), + ); + return array_merge($aRels, parent::GetRelationQueries($sRelCode)); + break; + + default: + return parent::GetRelationQueries($sRelCode); } } } @@ -1396,7 +1466,7 @@ class lnkProcessToSolution extends cmdbAbstractObject //////////////////////////////////////////////////////////////////////////////////// // Create the top-level group. fRank = 1, means it will be inserted after the group '0', which is usually 'Welcome' -$oAdminMenu = new MenuGroup('DataAdministration', 999); +$oAdminMenu = new MenuGroup('DataAdministration', 70); $iAdminGroup = $oAdminMenu->GetIndex(); new WebPageMenuNode('Audit', '../pages/audit.php', $iAdminGroup, 33 /* fRank */); @@ -1408,13 +1478,13 @@ new OQLMenuNode('Application', 'SELECT Application', $iTopology, 20 /* fRank */) new OQLMenuNode('DBServer', 'SELECT DBServer', $iTopology, 40 /* fRank */); -$oConfigManagementGroup = new MenuGroup('ConfigManagement', 1 /* fRank */); +$oConfigManagementGroup = new MenuGroup('ConfigManagement', 20 /* fRank */); // Create an entry, based on a custom template, for the Configuration management overview, under the top-level group -new TemplateMenuNode('ConfigManagementOverview', '../business/templates/configuration_management_menu.html', $oConfigManagementGroup->GetIndex(), 0 /* fRank */); +new TemplateMenuNode('ConfigManagementOverview', '../../modules/itop-config-mgmt-1.0.0/overview.html', $oConfigManagementGroup->GetIndex(), 0 /* fRank */); -$oContactNode = new TemplateMenuNode('Contact', '../business/templates/contacts_menu.html', $oConfigManagementGroup->GetIndex(), 1 /* fRank */); +$oContactNode = new TemplateMenuNode('Contact', '../../modules/itop-config-mgmt-1.0.0/contacts_menu.html', $oConfigManagementGroup->GetIndex(), 1 /* fRank */); new OQLMenuNode('Person', 'SELECT Person', $oContactNode->GetIndex(), 1 /* fRank */); new OQLMenuNode('Team', 'SELECT Team', $oContactNode->GetIndex(), 2 /* fRank */); @@ -1422,7 +1492,7 @@ new OQLMenuNode('Document', 'SELECT Document', $oConfigManagementGroup->GetIndex new OQLMenuNode('Location', 'SELECT Location', $oConfigManagementGroup->GetIndex(), 3 /* fRank */); -$oCINode = new TemplateMenuNode('ConfigManagementCI', '../business/templates/configuration_items_menu.html', $oConfigManagementGroup->GetIndex(), 2 /* fRank */); +$oCINode = new TemplateMenuNode('ConfigManagementCI', '../modules/itop-config-mgmt-1.0.0/cis_menu.html', $oConfigManagementGroup->GetIndex(), 4 /* fRank */); new OQLMenuNode('BusinessProcess', 'SELECT BusinessProcess', $oCINode->GetIndex(), 0 /* fRank */); new OQLMenuNode('ApplicationSolution', 'SELECT ApplicationSolution', $oCINode->GetIndex(), 1 /* fRank */); diff --git a/modules/itop-incident-mgmt-1.0.0/en.dict.itop-incident-mgmt.php b/modules/itop-incident-mgmt-1.0.0/en.dict.itop-incident-mgmt.php index 9e04b167c6..342a2cac81 100644 --- a/modules/itop-incident-mgmt-1.0.0/en.dict.itop-incident-mgmt.php +++ b/modules/itop-incident-mgmt-1.0.0/en.dict.itop-incident-mgmt.php @@ -24,15 +24,17 @@ */ Dict::Add('EN US', 'English', 'English', array( - 'Menu:IncidentManagement' => 'Incidents', - 'Menu:Incidents' => 'Incidents', - 'Menu:Incidents+' => 'Incidents', - 'Menu:ClosedIncidents' => 'Closed incidents', - 'Menu:ClosedIncidents+' => 'Closed incidents', - 'Menu:OpenedIncidents' => 'Opened incidents', - 'Menu:OpenedIncidents+' => 'Opened incidents', - 'Menu:MyIncidents' => 'My incidents', - 'Menu:MyIncidents+' => 'Incidents assigned to me', + 'Menu:IncidentManagement' => 'Incident Management', + 'Menu:IncidentManagement+' => 'Incident Management', + 'Menu:Incident:Overview' => 'Overview', + 'Menu:Incident:Overview+' => 'Overview', + 'Menu:Incident:MyIncidents' => 'My Incidents', + 'Menu:Incident:MyIncidents+' => 'My Incidents', + 'Menu:Incident:EscalatedIncidents' => 'Escalated Incidents', + 'Menu:Incident:EscalatedIncidents+' => 'Escalated Incidents', + 'Menu:Incident:OpenIncidents' => 'All Open Incidents', + 'Menu:Incident:OpenIncidents+' => 'All Open Incidents', + )); // Dictionnay conventions diff --git a/modules/itop-incident-mgmt-1.0.0/model.itop-incident-mgmt.php b/modules/itop-incident-mgmt-1.0.0/model.itop-incident-mgmt.php index 60232ecf7d..36cd686b05 100644 --- a/modules/itop-incident-mgmt-1.0.0/model.itop-incident-mgmt.php +++ b/modules/itop-incident-mgmt-1.0.0/model.itop-incident-mgmt.php @@ -63,19 +63,10 @@ class Incident extends ResponseTicket } } -$oMyMenuGroup = new MenuGroup('IncidentManagement', 1 /* fRank */); - -// By default, one entry per class -//new TemplateMenuNode('MyIncidents', 'SELECT Incident', $oMyMenuGroup->GetIndex(), 0 /* fRank */); -// incident dont je suis caller -// incident dont je suis requester -new OQLMenuNode('OpenedIncidents', 'SELECT Incident WHERE status IN ("new", "assigned", "escalation")', $oMyMenuGroup->GetIndex(), 0 /* fRank */); -new OQLMenuNode('MyIncidents', 'SELECT Incident WHERE status IN ("assigned", "escalation_ttr") AND agent_id = :current_contact_id', $oMyMenuGroup->GetIndex(), 0 /* fRank */); -//new OQLMenuNode('EscalatedIncidents', 'SELECT Incident WHERE status IN ("escalation")', $oMyMenuGroup->GetIndex(), 0 /* fRank */); -//new TemplateMenuNode('IncidentOverview', 'SELECT Incident', $oMyMenuGroup->GetIndex(), 0 /* fRank */); - - -//new TemplateMenuNode('WelcomeMenuPage', '../business/templates/welcome_menu.html', $oWelcomeMenu->GetIndex() /* oParent */, 1 /* fRank */); - +$oMyMenuGroup = new MenuGroup('IncidentManagement', 40 /* fRank */); +new TemplateMenuNode('Incident:Overview', '../modules/itop-incident-mgmt-1.0.0/overview.html', $oMyMenuGroup->GetIndex() /* oParent */, 0 /* fRank */); +new OQLMenuNode('Incident:MyIncidents', 'SELECT Incident WHERE agent_id = :current_contact_id', $oMyMenuGroup->GetIndex(), 1 /* fRank */); +new OQLMenuNode('Incident:EscalatedIncidents', 'SELECT Incident WHERE status IN ("escalation")', $oMyMenuGroup->GetIndex(), 2 /* fRank */); +new OQLMenuNode('Incident:OpenIncidents', 'SELECT Incident WHERE status IN ("new", "assigned", "escalation", "resolved")', $oMyMenuGroup->GetIndex(), 3 /* fRank */); ?> diff --git a/modules/itop-request-mgmt-1.0.0/en.dict.itop-request-mgmt.php b/modules/itop-request-mgmt-1.0.0/en.dict.itop-request-mgmt.php index 07c3d6a86d..da49fe58fa 100644 --- a/modules/itop-request-mgmt-1.0.0/en.dict.itop-request-mgmt.php +++ b/modules/itop-request-mgmt-1.0.0/en.dict.itop-request-mgmt.php @@ -25,12 +25,15 @@ Dict::Add('EN US', 'English', 'English', array( 'Menu:RequestManagement' => 'Helpdesk', - 'Menu:UserRequests' => 'All requests', - 'Menu:UserRequests+' => 'All requests, whatever their state', - 'Menu:ClosedRequests' => 'Closed requests', - 'Menu:ClosedRequests+' => 'Closed requests', - 'Menu:OpenedRequests' => 'Opened requests', - 'Menu:OpenedRequests+' => 'Opened requests', + 'Menu:RequestManagement+' => 'Helpdesk', + 'Menu:UserRequest:Overview' => 'Overview', + 'Menu:UserRequest:Overview+' => 'Overview', + 'Menu:UserRequest:MyRequests' => 'My Requests', + 'Menu:UserRequest:MyRequests+' => 'My Requests', + 'Menu:UserRequest:EscalatedRequests' => 'Escalated Requests', + 'Menu:UserRequest:EscalatedRequests+' => 'Escalated Requests', + 'Menu:UserRequest:OpenRequests' => 'All Open Requests', + 'Menu:UserRequest:OpenRequests+' => 'All Open Requests', )); // Dictionnay conventions diff --git a/modules/itop-request-mgmt-1.0.0/model.itop-request-mgmt.php b/modules/itop-request-mgmt-1.0.0/model.itop-request-mgmt.php index 01d28c6da2..afa7f34f48 100644 --- a/modules/itop-request-mgmt-1.0.0/model.itop-request-mgmt.php +++ b/modules/itop-request-mgmt-1.0.0/model.itop-request-mgmt.php @@ -91,12 +91,12 @@ class UserRequest extends ResponseTicket } } -$oMyMenuGroup = new MenuGroup('RequestManagement', 1 /* fRank */); +$oMyMenuGroup = new MenuGroup('RequestManagement', 30 /* fRank */); -// By default, one entry per class -new OQLMenuNode('UserRequests', 'SELECT UserRequest', $oMyMenuGroup->GetIndex(), 0 /* fRank */); -new OQLMenuNode('OpenedRequests', 'SELECT UserRequest WHERE status IN ("new", "assigned", "escalation")', $oMyMenuGroup->GetIndex(), 0 /* fRank */); -new OQLMenuNode('ClosedRequests', 'SELECT UserRequest WHERE status IN ("resolved", "closed")', $oMyMenuGroup->GetIndex(), 0 /* fRank */); +new TemplateMenuNode('UserRequest:Overview', '../modules/itop-request-mgmt-1.0.0/overview.html', $oMyMenuGroup->GetIndex() /* oParent */, 0 /* fRank */); +new OQLMenuNode('UserRequest:MyRequests', 'SELECT UserRequest WHERE agent_id = :current_contact_id', $oMyMenuGroup->GetIndex(), 1 /* fRank */); +new OQLMenuNode('UserRequest:EscalatedRequests', 'SELECT UserRequest WHERE status IN ("escalation")', $oMyMenuGroup->GetIndex(), 2 /* fRank */); +new OQLMenuNode('UserRequest:OpenRequests', 'SELECT UserRequest WHERE status IN ("new", "assigned", "escalation", "frozen", "resolved")', $oMyMenuGroup->GetIndex(), 3 /* fRank */); //new TemplateMenuNode('WelcomeMenuPage', '../business/templates/welcome_menu.html', $oWelcomeMenu->GetIndex() /* oParent */, 1 /* fRank */); ?> diff --git a/modules/itop-service-mgmt-1.0.0/en.dict.itop-service-mgmt.php b/modules/itop-service-mgmt-1.0.0/en.dict.itop-service-mgmt.php index 72f6b430e9..bff11814f3 100644 --- a/modules/itop-service-mgmt-1.0.0/en.dict.itop-service-mgmt.php +++ b/modules/itop-service-mgmt-1.0.0/en.dict.itop-service-mgmt.php @@ -37,6 +37,8 @@ Dict::Add('EN US', 'English', 'English', array( 'Menu:ServiceManagement' => 'Service Management', 'Menu:ServiceManagement+' => 'Service Management Overview', +'Menu:Service:Overview' => 'Overview', +'Menu:Service:Overview+' => '', 'UI-ServiceManagementMenu-ContractsBySrvLevel' => 'Contracts by service level', 'UI-ServiceManagementMenu-ContractsByStatus' => 'Contracts by status', 'UI-ServiceManagementMenu-ContractsEndingIn30Days' => 'Contracts ending in less then 30 days', diff --git a/modules/itop-service-mgmt-1.0.0/model.itop-service-mgmt.php b/modules/itop-service-mgmt-1.0.0/model.itop-service-mgmt.php index d749273eb1..adba909bb8 100644 --- a/modules/itop-service-mgmt-1.0.0/model.itop-service-mgmt.php +++ b/modules/itop-service-mgmt-1.0.0/model.itop-service-mgmt.php @@ -567,13 +567,9 @@ class lnkServiceToCI extends cmdbAbstractObject // + ... //////////////////////////////////////////////////////////////////////////////////// -$oAdminMenu = new MenuGroup('AdminTools', 999); -$iAdminGroup = $oAdminMenu->GetIndex(); -//new OQLMenuNode('ServiceType', 'SELECT ServiceType', $iAdminGroup, 25 /* fRank */); - - -$oServiceManagementGroup = new MenuGroup('ServiceManagement', 2 /* fRank */); +$oServiceManagementGroup = new MenuGroup('ServiceManagement', 60 /* fRank */); $iRank = 0; +new TemplateMenuNode('Service:Overview', '../modules/itop-service-mgmt-1.0.0/overview.html', $oServiceManagementGroup->GetIndex() /* oParent */, $iRank++ /* fRank */); new OQLMenuNode('ProviderContract', 'SELECT ProviderContract', $oServiceManagementGroup->GetIndex(), $iRank++); new OQLMenuNode('CustomerContract', 'SELECT CustomerContract', $oServiceManagementGroup->GetIndex(), $iRank++); new OQLMenuNode('Service', 'SELECT Service', $oServiceManagementGroup->GetIndex(), $iRank++);