diff --git a/core/metamodel.class.php b/core/metamodel.class.php index b3a51bc9d..fa1e1eb47 100644 --- a/core/metamodel.class.php +++ b/core/metamodel.class.php @@ -3028,7 +3028,9 @@ abstract class MetaModel public static function Startup($sConfigFile, $bAllowMissingDB = false) { self::LoadConfig($sConfigFile); - if (self::DBExists()) + //if (self::DBExists()) +// !!!! #@# + if (true) { CMDBSource::SelectDB(self::$m_sDBName); 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 9e37ae4dd..94e06e231 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 @@ -71,6 +71,7 @@ abstract class Change extends Ticket MetaModel::Init_AddAttribute(new AttributeExternalKey("manager_id", array("targetclass"=>"Person", "jointype"=>null, "allowed_values"=>null, "sql"=>"manager_id", "is_null_allowed"=>true, "on_target_delete"=>DEL_MANUAL, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeExternalField("manager_email", array("allowed_values"=>null, "extkey_attcode"=>"manager_id", "target_attcode"=>"email", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeBoolean("outage", array("allowed_values"=>null, "sql"=>"outage", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); +// MetaModel::Init_AddAttribute(new AttributeEnum("outage", array("allowed_values"=>new ValueSetEnum('yes,no'), "sql"=>"outage", "default_value"=>null, "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeText("change_request", array("allowed_values"=>null, "sql"=>"change_request", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeText("change_log", array("allowed_values"=>null, "sql"=>"change_log", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeText("fallback", array("allowed_values"=>null, "sql"=>"fallback", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); @@ -86,7 +87,13 @@ abstract class Change extends Ticket array( "attribute_inherit" => null, "attribute_list" => array( + 'start_date' => OPT_ATT_HIDDEN, + 'ticket_log' => OPT_ATT_HIDDEN, + 'impact' => OPT_ATT_HIDDEN, + 'outage' => OPT_ATT_HIDDEN, + 'fallback' => OPT_ATT_HIDDEN, 'ref' => OPT_ATT_READONLY, + 'requestor_id' => OPT_ATT_MANDATORY, 'title' => OPT_ATT_MANDATORY, 'reason' => OPT_ATT_MANDATORY, 'workgroup_id' => OPT_ATT_HIDDEN, @@ -109,7 +116,9 @@ abstract class Change extends Ticket "attribute_list" => array( 'title' => OPT_ATT_READONLY, 'reason' => OPT_ATT_READONLY, - 'workgroup_id' => OPT_ATT_MUSTCHANGE, + 'workgroup_id' => OPT_ATT_MANDATORY, + 'supervisor_group_id' => OPT_ATT_MANDATORY, + 'manager_group_id' => OPT_ATT_MANDATORY, 'change_request' => OPT_ATT_READONLY, ), ) @@ -129,9 +138,7 @@ abstract class Change extends Ticket "attribute_list" => array( 'workgroup_id' => OPT_ATT_MANDATORY, 'agent_id' => OPT_ATT_MUSTCHANGE, - 'supervisor_group_id' => OPT_ATT_MUSTCHANGE, 'supervisor_id' => OPT_ATT_MUSTCHANGE, - 'manager_group_id' => OPT_ATT_MUSTCHANGE, 'manager_id' => OPT_ATT_MUSTCHANGE, ), ) @@ -141,6 +148,7 @@ abstract class Change extends Ticket array( "attribute_inherit" => 'assigned', "attribute_list" => array( + 'ticket_log' => OPT_ATT_MANDATORY, 'requestor_id' => OPT_ATT_READONLY, 'customer_id' => OPT_ATT_READONLY, 'workgroup_id' => OPT_ATT_READONLY, @@ -208,8 +216,9 @@ abstract class Change extends Ticket MetaModel::Init_DefineState( "closed", array( - "attribute_inherit" => 'implemented', + "attribute_inherit" => 'monitored', "attribute_list" => array( + 'ticket_log' => OPT_ATT_READONLY, 'close_date' => OPT_ATT_READONLY, ), ) @@ -319,11 +328,15 @@ abstract class ApprovedChange extends Change MetaModel::Init_OverloadStateAttribute('new', 'approval_date', OPT_ATT_HIDDEN); MetaModel::Init_OverloadStateAttribute('new', 'approval_comment', OPT_ATT_HIDDEN); - MetaModel::Init_OverloadStateAttribute('approved', 'approval_date', OPT_ATT_MUSTCHANGE); - MetaModel::Init_OverloadStateAttribute('approved', 'approval_comment', OPT_ATT_MUSTCHANGE); + MetaModel::Init_OverloadStateAttribute('approved', 'approval_date', OPT_ATT_MANDATORY); + MetaModel::Init_OverloadStateAttribute('approved', 'approval_comment', OPT_ATT_MANDATORY); MetaModel::Init_OverloadStateAttribute('implemented', 'approval_date', OPT_ATT_READONLY); MetaModel::Init_OverloadStateAttribute('implemented', 'approval_comment', OPT_ATT_READONLY); + MetaModel::Init_OverloadStateAttribute('monitored', 'approval_date', OPT_ATT_READONLY); + MetaModel::Init_OverloadStateAttribute('monitored', 'approval_comment', OPT_ATT_READONLY); + MetaModel::Init_OverloadStateAttribute('closed', 'approval_date', OPT_ATT_READONLY); + MetaModel::Init_OverloadStateAttribute('closed', 'approval_comment', OPT_ATT_READONLY); } } @@ -358,11 +371,19 @@ class NormalChange extends ApprovedChange MetaModel::Init_OverloadStateAttribute('new', 'acceptance_date', OPT_ATT_HIDDEN); MetaModel::Init_OverloadStateAttribute('new', 'acceptance_comment', OPT_ATT_HIDDEN); - MetaModel::Init_OverloadStateAttribute('validated', 'acceptance_date', OPT_ATT_MUSTCHANGE); - MetaModel::Init_OverloadStateAttribute('validated', 'acceptance_comment', OPT_ATT_MUSTCHANGE); + MetaModel::Init_OverloadStateAttribute('validated', 'acceptance_date', OPT_ATT_MANDATORY); + MetaModel::Init_OverloadStateAttribute('validated', 'acceptance_comment', OPT_ATT_MANDATORY); MetaModel::Init_OverloadStateAttribute('plannedschedule', 'acceptance_date', OPT_ATT_READONLY); MetaModel::Init_OverloadStateAttribute('plannedschedule', 'acceptance_comment', OPT_ATT_READONLY); + MetaModel::Init_OverloadStateAttribute('approved', 'acceptance_date', OPT_ATT_READONLY); + MetaModel::Init_OverloadStateAttribute('approved', 'acceptance_comment', OPT_ATT_READONLY); + MetaModel::Init_OverloadStateAttribute('implemented', 'acceptance_date', OPT_ATT_READONLY); + MetaModel::Init_OverloadStateAttribute('implemented', 'acceptance_comment', OPT_ATT_READONLY); + MetaModel::Init_OverloadStateAttribute('monitored', 'acceptance_date', OPT_ATT_READONLY); + MetaModel::Init_OverloadStateAttribute('monitored', 'acceptance_comment', OPT_ATT_READONLY); + MetaModel::Init_OverloadStateAttribute('closed', 'acceptance_date', OPT_ATT_READONLY); + MetaModel::Init_OverloadStateAttribute('closed', 'acceptance_comment', OPT_ATT_READONLY); MetaModel::Init_DefineTransition("new", "ev_validate", array("target_state"=>"validated", "actions"=>array('SetLastUpDate'), "user_restriction"=>null)); MetaModel::Init_DefineTransition("new", "ev_reject", array("target_state"=>"rejected", "actions"=>array('SetLastUpDate'), "user_restriction"=>null)); diff --git a/modules/itop-config-mgmt-1.0.0/data.sample.application.xml b/modules/itop-config-mgmt-1.0.0/data.sample.application.xml index cec29c78b..41448ab28 100644 --- a/modules/itop-config-mgmt-1.0.0/data.sample.application.xml +++ b/modules/itop-config-mgmt-1.0.0/data.sample.application.xml @@ -11,39 +11,37 @@ Apache Web Server production -2 +2 medium 4 0 -2 +2 2.2 Apache 2.2 with PHP 5.3.4 MySQL 5 prod production -2 +2 medium 1 0 -1 +1 5.0.27 itop_beta implementation -2 +2 medium 2 -root - iTop beta test instance iTop demo production -2 +2 high Demo instance of iTop @@ -57,4 +55,4 @@ 3 itop beta instance - \ No newline at end of file + diff --git a/modules/itop-config-mgmt-1.0.0/data.sample.business.xml b/modules/itop-config-mgmt-1.0.0/data.sample.business.xml index c9ed59031..208c1332f 100644 --- a/modules/itop-config-mgmt-1.0.0/data.sample.business.xml +++ b/modules/itop-config-mgmt-1.0.0/data.sample.business.xml @@ -3,7 +3,7 @@ iTop demonstration production -2 +2 medium Demonstrating iTop on line @@ -22,4 +22,4 @@ 4 Support Specialist - \ No newline at end of file + diff --git a/modules/itop-config-mgmt-1.0.0/data.sample.server.xml b/modules/itop-config-mgmt-1.0.0/data.sample.server.xml index 22b948e5b..617085252 100644 --- a/modules/itop-config-mgmt-1.0.0/data.sample.server.xml +++ b/modules/itop-config-mgmt-1.0.0/data.sample.server.xml @@ -3,7 +3,7 @@ dbserver1.demo.net implementation -2 +2 medium Hewlett-Packard Proliant DL380 G5 @@ -23,7 +23,7 @@ itop.demo.net production -2 +2 high Hewlet-Packard Proliant DL380 G5 @@ -40,4 +40,4 @@ Linux Debian 5 (Lenny) - \ No newline at end of file + diff --git a/modules/itop-config-mgmt-1.0.0/en.dict.itop-config-mgmt.php b/modules/itop-config-mgmt-1.0.0/en.dict.itop-config-mgmt.php index 4b33d0da4..915a10407 100644 --- a/modules/itop-config-mgmt-1.0.0/en.dict.itop-config-mgmt.php +++ b/modules/itop-config-mgmt-1.0.0/en.dict.itop-config-mgmt.php @@ -123,6 +123,10 @@ Dict::Add('EN US', 'English', 'English', array( 'Class:Location/Attribute:parent_id+' => '', 'Class:Location/Attribute:parent_name' => 'Parent name', 'Class:Location/Attribute:parent_name+' => '', + 'Class:Location/Attribute:contact_list' => 'Contacts', + 'Class:Location/Attribute:contact_list+' => 'Contacts located on this site', + 'Class:Location/Attribute:infra_list' => 'Infrastructure', + 'Class:Location/Attribute:infra_list+' => 'CIs located on this site', )); // @@ -199,10 +203,12 @@ Dict::Add('EN US', 'English', 'English', array( 'Class:lnkTeamToContact/Attribute:contact_id+' => '', 'Class:lnkTeamToContact/Attribute:contact_location_id' => 'Location', 'Class:lnkTeamToContact/Attribute:contact_location_id+' => '', - 'Class:lnkTeamToContact/Attribute:contact_email' => 'eMail', + 'Class:lnkTeamToContact/Attribute:contact_email' => 'Email', 'Class:lnkTeamToContact/Attribute:contact_email+' => '', 'Class:lnkTeamToContact/Attribute:contact_phone' => 'Phone', 'Class:lnkTeamToContact/Attribute:contact_phone+' => '', + 'Class:lnkTeamToContact/Attribute:role' => 'Role', + 'Class:lnkTeamToContact/Attribute:role+' => '', )); // @@ -297,10 +303,14 @@ Dict::Add('EN US', 'English', 'English', array( 'Class:Licence/Attribute:start+' => '', 'Class:Licence/Attribute:end' => 'End date', 'Class:Licence/Attribute:end+' => '', - 'Class:Licence/Attribute:key' => 'Key', - 'Class:Licence/Attribute:key+' => '', + 'Class:Licence/Attribute:licence_key' => 'Key', + 'Class:Licence/Attribute:licence_key+' => '', 'Class:Licence/Attribute:scope' => 'Scope', 'Class:Licence/Attribute:scope+' => '', + 'Class:Licence/Attribute:usage_limit' => 'Usage limit', + 'Class:Licence/Attribute:usage_limit+' => '', + 'Class:Licence/Attribute:usage_list' => 'Usage', + 'Class:Licence/Attribute:usage_list+' => 'Application instances using this licence', )); // @@ -310,8 +320,10 @@ Dict::Add('EN US', 'English', 'English', array( Dict::Add('EN US', 'English', 'English', array( 'Class:Subnet' => 'Subnet', 'Class:Subnet+' => '', - 'Class:Subnet/Attribute:name' => 'Name', - 'Class:Subnet/Attribute:name+' => '', + //'Class:Subnet/Attribute:name' => 'Name', + //'Class:Subnet/Attribute:name+' => '', + 'Class:Subnet/Attribute:org_id' => 'Owner organization', + 'Class:Subnet/Attribute:org_id+' => '', 'Class:Subnet/Attribute:description' => 'Description', 'Class:Subnet/Attribute:description+' => '', 'Class:Subnet/Attribute:ip' => 'IP', @@ -329,14 +341,18 @@ Dict::Add('EN US', 'English', 'English', array( 'Class:Patch+' => '', 'Class:Patch/Attribute:name' => 'Name', 'Class:Patch/Attribute:name+' => '', + 'Class:Patch/Attribute:description' => 'Description', + 'Class:Patch/Attribute:description+' => '', 'Class:Patch/Attribute:target_sw' => 'Application scope', 'Class:Patch/Attribute:target_sw+' => 'Target software (OS or application)', 'Class:Patch/Attribute:version' => 'Version', 'Class:Patch/Attribute:version+' => '', 'Class:Patch/Attribute:type' => 'Type', 'Class:Patch/Attribute:type+' => '', - 'Class:Patch/Attribute:type/Value:fix' => 'Fix', - 'Class:Patch/Attribute:type/Value:fix+' => '', + 'Class:Patch/Attribute:type/Value:application' => 'Application', + 'Class:Patch/Attribute:type/Value:application+' => '', + 'Class:Patch/Attribute:type/Value:os' => 'OS', + 'Class:Patch/Attribute:type/Value:os+' => '', 'Class:Patch/Attribute:type/Value:security' => 'Security', 'Class:Patch/Attribute:type/Value:security+' => '', 'Class:Patch/Attribute:type/Value:servicepack' => 'Service Pack', @@ -383,7 +399,7 @@ Dict::Add('EN US', 'English', 'English', array( // Dict::Add('EN US', 'English', 'English', array( - 'Class:lnkPatchToCI' => 'lnkPatchToCI', + 'Class:lnkPatchToCI' => 'Patch usage', 'Class:lnkPatchToCI+' => '', 'Class:lnkPatchToCI/Attribute:patch_id' => 'Patch', 'Class:lnkPatchToCI/Attribute:patch_id+' => '', @@ -414,11 +430,11 @@ Dict::Add('EN US', 'English', 'English', array( 'Class:FunctionalCI/Attribute:status/Value:obsolete+' => '', 'Class:FunctionalCI/Attribute:status/Value:production' => 'Production', 'Class:FunctionalCI/Attribute:status/Value:production+' => '', - 'Class:FunctionalCI/Attribute:owner_id' => 'Owner organization', - 'Class:FunctionalCI/Attribute:owner_id+' => '', + 'Class:FunctionalCI/Attribute:org_id' => 'Owner organization', + 'Class:FunctionalCI/Attribute:org_id+' => '', 'Class:FunctionalCI/Attribute:owner_name' => 'Owner organization', 'Class:FunctionalCI/Attribute:owner_name+' => '', - 'Class:FunctionalCI/Attribute:importance' => 'Importance', + 'Class:FunctionalCI/Attribute:importance' => 'Business criticity', 'Class:FunctionalCI/Attribute:importance+' => '', 'Class:FunctionalCI/Attribute:importance/Value:high' => 'High', 'Class:FunctionalCI/Attribute:importance/Value:high+' => '', @@ -430,35 +446,57 @@ Dict::Add('EN US', 'English', 'English', array( 'Class:FunctionalCI/Attribute:contact_list+' => 'Contacts for this CI', 'Class:FunctionalCI/Attribute:document_list' => 'Documents', 'Class:FunctionalCI/Attribute:document_list+' => 'Documentation for this CI', - 'Class:FunctionalCI/Attribute:solution_list' => 'Solutions', - 'Class:FunctionalCI/Attribute:solution_list+' => 'Solutions using this CI', + 'Class:FunctionalCI/Attribute:solution_list' => 'Application solutions', + 'Class:FunctionalCI/Attribute:solution_list+' => 'Application solutions using this CI', + 'Class:FunctionalCI/Attribute:contract_list' => 'Contracts', + 'Class:FunctionalCI/Attribute:contract_list+' => 'Contracts supporting this CI', + 'Class:FunctionalCI/Attribute:ticket_list' => 'Tickets', + 'Class:FunctionalCI/Attribute:ticket_list+' => 'Tickets related to the CI', 'Class:FunctionalCI/Attribute:finalclass' => 'finalclass', 'Class:FunctionalCI/Attribute:finalclass+' => '', )); +// +// Class: SoftwareInstance +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:SoftwareInstance' => 'Software Instance', + 'Class:SoftwareInstance+' => '', + 'Class:SoftwareInstance/Attribute:device_id' => 'Device', + 'Class:SoftwareInstance/Attribute:device_id+' => '', + 'Class:SoftwareInstance/Attribute:device_name' => 'Device', + 'Class:SoftwareInstance/Attribute:device_name+' => '', + 'Class:SoftwareInstance/Attribute:licence_id' => 'Licence', + 'Class:SoftwareInstance/Attribute:licence_id+' => '', + 'Class:SoftwareInstance/Attribute:licence_name' => 'Licence', + 'Class:SoftwareInstance/Attribute:licence_name+' => '', + 'Class:SoftwareInstance/Attribute:software_id' => 'Software', + 'Class:SoftwareInstance/Attribute:software_id+' => '', + 'Class:SoftwareInstance/Attribute:software_name' => 'Software', + 'Class:SoftwareInstance/Attribute:software_name+' => '', + 'Class:SoftwareInstance/Attribute:version' => 'Version', + 'Class:SoftwareInstance/Attribute:version+' => '', + 'Class:SoftwareInstance/Attribute:description' => 'Description', + 'Class:SoftwareInstance/Attribute:description+' => '', +)); + // // Class: ApplicationInstance // Dict::Add('EN US', 'English', 'English', array( - 'Class:ApplicationInstance' => 'Application Instance', + 'Class:ApplicationInstance' => 'Application instance', 'Class:ApplicationInstance+' => '', - 'Class:ApplicationInstance/Attribute:device_id' => 'Device', - 'Class:ApplicationInstance/Attribute:device_id+' => '', - 'Class:ApplicationInstance/Attribute:device_name' => 'Device', - 'Class:ApplicationInstance/Attribute:device_name+' => '', - 'Class:ApplicationInstance/Attribute:licence_id' => 'Licence', - 'Class:ApplicationInstance/Attribute:licence_id+' => '', - 'Class:ApplicationInstance/Attribute:licence_name' => 'Licence', - 'Class:ApplicationInstance/Attribute:licence_name+' => '', - 'Class:ApplicationInstance/Attribute:application_id' => 'Application', - 'Class:ApplicationInstance/Attribute:application_id+' => '', - 'Class:ApplicationInstance/Attribute:application_name' => 'Application', - 'Class:ApplicationInstance/Attribute:application_name+' => '', - 'Class:ApplicationInstance/Attribute:version' => 'Version', - 'Class:ApplicationInstance/Attribute:version+' => '', - 'Class:ApplicationInstance/Attribute:description' => 'Description', - 'Class:ApplicationInstance/Attribute:description+' => '', +)); + +// +// Class: DBServerInstance +// + +Dict::Add('EN US', 'English', 'English', array( + 'Class:DBServerInstance' => 'DB Server instance', + 'Class:DBServerInstance+' => '', )); // @@ -472,12 +510,6 @@ Dict::Add('EN US', 'English', 'English', array( 'Class:DatabaseInstance/Attribute:db_server_instance_id+' => '', 'Class:DatabaseInstance/Attribute:db_server_instance_version' => 'Database version', 'Class:DatabaseInstance/Attribute:db_server_instance_version+' => '', - 'Class:DatabaseInstance/Attribute:application_name' => 'Database software', - 'Class:DatabaseInstance/Attribute:application_name+' => '', - 'Class:DatabaseInstance/Attribute:admin_login' => 'Admin login', - 'Class:DatabaseInstance/Attribute:admin_login+' => '', - 'Class:DatabaseInstance/Attribute:admin_password' => 'Admin password', - 'Class:DatabaseInstance/Attribute:admin_password+' => '', 'Class:DatabaseInstance/Attribute:description' => 'Description', 'Class:DatabaseInstance/Attribute:description+' => '', )); @@ -493,7 +525,7 @@ Dict::Add('EN US', 'English', 'English', array( 'Class:ApplicationSolution/Attribute:description+' => '', 'Class:ApplicationSolution/Attribute:ci_list' => 'CIs', 'Class:ApplicationSolution/Attribute:ci_list+' => 'CIs composing the solution', - 'Class:ApplicationSolution/Attribute:process_list' => 'Processes', + 'Class:ApplicationSolution/Attribute:process_list' => 'Business processes', 'Class:ApplicationSolution/Attribute:process_list+' => 'Business processes relying on the solution', )); @@ -504,8 +536,8 @@ Dict::Add('EN US', 'English', 'English', array( Dict::Add('EN US', 'English', 'English', array( 'Class:BusinessProcess' => 'Business Process', 'Class:BusinessProcess+' => '', - 'Class:BusinessProcess/Attribute:solution_list' => 'Solutions', - 'Class:BusinessProcess/Attribute:solution_list+' => 'Solutions the process is relying on', + 'Class:BusinessProcess/Attribute:solution_list' => 'Application solutions', + 'Class:BusinessProcess/Attribute:solution_list+' => 'Application solutions the process is relying on', 'Class:BusinessProcess/Attribute:description' => 'Description', 'Class:BusinessProcess/Attribute:description+' => '', )); @@ -591,6 +623,8 @@ Dict::Add('EN US', 'English', 'English', array( Dict::Add('EN US', 'English', 'English', array( 'Class:Device' => 'Device', 'Class:Device+' => '', + 'Class:Device/Attribute:nwinterface_list' => 'Network interfaces', + 'Class:Device/Attribute:nwinterface_list+' => '', )); // @@ -743,7 +777,7 @@ Dict::Add('EN US', 'English', 'English', array( // Dict::Add('EN US', 'English', 'English', array( - 'Class:lnkCIToDoc' => 'lnkCItoDoc', + 'Class:lnkCIToDoc' => 'Doc/CI', 'Class:lnkCIToDoc+' => '', 'Class:lnkCIToDoc/Attribute:ci_id' => 'CI', 'Class:lnkCIToDoc/Attribute:ci_id+' => '', @@ -766,7 +800,7 @@ Dict::Add('EN US', 'English', 'English', array( // Dict::Add('EN US', 'English', 'English', array( - 'Class:lnkCIToContact' => 'lnkCIToContact', + 'Class:lnkCIToContact' => 'CI/Contact', 'Class:lnkCIToContact+' => '', 'Class:lnkCIToContact/Attribute:ci_id' => 'CI', 'Class:lnkCIToContact/Attribute:ci_id+' => '', @@ -789,11 +823,11 @@ Dict::Add('EN US', 'English', 'English', array( // Dict::Add('EN US', 'English', 'English', array( - 'Class:lnkSolutionToCI' => 'lnkSolutionToCI', + 'Class:lnkSolutionToCI' => 'CI/Solution', 'Class:lnkSolutionToCI+' => '', - 'Class:lnkSolutionToCI/Attribute:solution_id' => 'Solution', + 'Class:lnkSolutionToCI/Attribute:solution_id' => 'Application solution', 'Class:lnkSolutionToCI/Attribute:solution_id+' => '', - 'Class:lnkSolutionToCI/Attribute:solution_name' => 'Solution', + 'Class:lnkSolutionToCI/Attribute:solution_name' => 'Application solution', 'Class:lnkSolutionToCI/Attribute:solution_name+' => '', 'Class:lnkSolutionToCI/Attribute:ci_id' => 'CI', 'Class:lnkSolutionToCI/Attribute:ci_id+' => '', @@ -810,11 +844,11 @@ Dict::Add('EN US', 'English', 'English', array( // Dict::Add('EN US', 'English', 'English', array( - 'Class:lnkProcessToSolution' => 'lnkProcessToSolution', + 'Class:lnkProcessToSolution' => 'Business process/Solution', 'Class:lnkProcessToSolution+' => '', - 'Class:lnkProcessToSolution/Attribute:solution_id' => 'Solution', + 'Class:lnkProcessToSolution/Attribute:solution_id' => 'Application solution', 'Class:lnkProcessToSolution/Attribute:solution_id+' => '', - 'Class:lnkProcessToSolution/Attribute:solution_name' => 'Solution', + 'Class:lnkProcessToSolution/Attribute:solution_name' => 'Application solution', 'Class:lnkProcessToSolution/Attribute:solution_name+' => '', 'Class:lnkProcessToSolution/Attribute:process_id' => 'Process', 'Class:lnkProcessToSolution/Attribute:process_id+' => '', @@ -876,16 +910,14 @@ Dict::Add('EN US', 'English', 'English', array( 'Menu:BusinessProcess+' => 'All Business Processes', 'Menu:ApplicationSolution' => 'Application Solutions', 'Menu:ApplicationSolution+' => 'All Application Solutions', -'Menu:ConfigManagementSoftware' => 'Software', +'Menu:ConfigManagementSoftware' => 'Application Management', 'Menu:Licence' => 'Licences', 'Menu:Licence+' => 'All Licences', 'Menu:Patch' => 'Patches', -'Menu:Patch+' => 'ALl Patches', +'Menu:Patch+' => 'All Patches', 'Menu:ApplicationInstance' => 'Installed Applications', 'Menu:ApplicationInstance+' => 'All Installed Applications', -'Menu:DatabaseInstance' => 'Database Instances', -'Menu:DatabaseInstance+' => 'All Database Instances', -'Menu:ConfigManagementHardware' => 'Hardware', +'Menu:ConfigManagementHardware' => 'Infrastructure Management', 'Menu:Subnet' => 'Subnets', 'Menu:Subnet+' => 'All Subnets', 'Menu:NetworkDevice' => 'Network Devices', 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 007e61816..efcef85eb 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 @@ -91,7 +91,10 @@ class Location extends cmdbAbstractObject MetaModel::Init_AddAttribute(new AttributeExternalKey("parent_id", array("targetclass"=>"Location", "jointype"=>null, "allowed_values"=>null, "sql"=>"parent_id", "is_null_allowed"=>true, "on_target_delete"=>DEL_MANUAL, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeExternalField("parent_name", array("allowed_values"=>null, "extkey_attcode"=>"parent_id", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array()))); - MetaModel::Init_SetZListItems('details', array('name', 'status', 'org_id', 'address', 'postal_code', 'city', 'country', 'parent_id')); + MetaModel::Init_AddAttribute(new AttributeLinkedSet("contact_list", array("linked_class"=>"Contact", "ext_key_to_me"=>"location_id", "allowed_values"=>null, "count_min"=>0, "count_max"=>0, "depends_on"=>array()))); + MetaModel::Init_AddAttribute(new AttributeLinkedSet("infra_list", array("linked_class"=>"InfrastructureCI", "ext_key_to_me"=>"location_id", "allowed_values"=>null, "count_min"=>0, "count_max"=>0, "depends_on"=>array()))); + + MetaModel::Init_SetZListItems('details', array('name', 'status', 'org_id', 'address', 'postal_code', 'city', 'country', 'parent_id', 'contact_list', 'infra_list')); MetaModel::Init_SetZListItems('advanced_search', array('name', 'status', 'org_id', 'country')); MetaModel::Init_SetZListItems('standard_search', array('name', 'status', 'org_id', 'city', 'country')); MetaModel::Init_SetZListItems('list', array('status', 'org_id', 'city', 'country')); @@ -162,7 +165,7 @@ class Person extends Contact MetaModel::Init_SetZListItems('details', array('first_name', 'name', 'org_id', 'status', 'location_id', 'email', 'phone', 'employee_id', 'contract_list', 'ticket_list', 'ci_list')); MetaModel::Init_SetZListItems('advanced_search', array('name', 'status', 'org_id', 'email', 'phone', 'location_id', 'first_name', 'employee_id')); MetaModel::Init_SetZListItems('standard_search', array('name', 'status', 'org_id', 'email', 'phone', 'location_id', 'first_name', 'employee_id')); - MetaModel::Init_SetZListItems('list', array('status', 'org_id', 'email', 'phone', 'location_id', 'employee_id')); + MetaModel::Init_SetZListItems('list', array('status', 'org_id', 'email', 'phone', 'location_id')); } public function GetName() @@ -210,7 +213,7 @@ class lnkTeamToContact extends cmdbAbstractObject "name_attcode" => "team_id", "state_attcode" => "", "reconc_keys" => array("name"), - "db_table" => "lnk", + "db_table" => "lnkteamtocontact", "db_key_field" => "id", "db_finalclass_field" => "", "display_template" => "", @@ -226,11 +229,12 @@ class lnkTeamToContact extends cmdbAbstractObject MetaModel::Init_AddAttribute(new AttributeExternalField("contact_location_name", array("allowed_values"=>null, "extkey_attcode"=>"contact_id", "target_attcode"=>"location_name", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeExternalField("contact_email", array("allowed_values"=>null, "extkey_attcode"=>"contact_id", "target_attcode"=>"email", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeExternalField("contact_phone", array("allowed_values"=>null, "extkey_attcode"=>"contact_id", "target_attcode"=>"phone", "is_null_allowed"=>true, "depends_on"=>array()))); + MetaModel::Init_AddAttribute(new AttributeString("role", array("allowed_values"=>null, "sql"=>"role", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); - MetaModel::Init_SetZListItems('details', array('team_id', 'contact_id')); - MetaModel::Init_SetZListItems('advanced_search', array('team_id', 'contact_id')); - MetaModel::Init_SetZListItems('standard_search', array('team_id', 'contact_id')); - MetaModel::Init_SetZListItems('list', array('team_id', 'contact_id', 'contact_location_id', 'contact_email', 'contact_phone')); + MetaModel::Init_SetZListItems('details', array('team_id', 'contact_id', 'role')); + MetaModel::Init_SetZListItems('advanced_search', array('team_id', 'contact_id', 'role')); + MetaModel::Init_SetZListItems('standard_search', array('team_id', 'contact_id', 'role')); + MetaModel::Init_SetZListItems('list', array('team_id', 'contact_id', 'contact_location_id', 'contact_email', 'contact_phone', 'role')); } } abstract class Document extends cmdbAbstractObject @@ -376,7 +380,7 @@ class Licence extends cmdbAbstractObject ( "category" => "bizmodel,searchable,configmgmt", "key_type" => "autoincrement", - "name_attcode" => "provider", + "name_attcode" => "name", "state_attcode" => "", "reconc_keys" => array("name"), "db_table" => "licence", @@ -392,13 +396,15 @@ class Licence extends cmdbAbstractObject MetaModel::Init_AddAttribute(new AttributeString("name", array("allowed_values"=>null, "sql"=>"name", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeDate("start", array("allowed_values"=>null, "sql"=>"start", "default_value"=>null, "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeDate("end", array("allowed_values"=>null, "sql"=>"end", "default_value"=>null, "is_null_allowed"=>true, "depends_on"=>array()))); - MetaModel::Init_AddAttribute(new AttributeString("key", array("allowed_values"=>null, "sql"=>"key", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); + MetaModel::Init_AddAttribute(new AttributeString("licence_key", array("allowed_values"=>null, "sql"=>"licence_key", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeText("scope", array("allowed_values"=>null, "sql"=>"scope", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); + MetaModel::Init_AddAttribute(new AttributeInteger("usage_limit", array("allowed_values"=>null, "sql"=>"usage_limit", "default_value"=>null, "is_null_allowed"=>true, "depends_on"=>array()))); + MetaModel::Init_AddAttribute(new AttributeLinkedSet("usage_list", array("linked_class"=>"SoftwareInstance", "ext_key_to_me"=>"licence_id", "allowed_values"=>null, "count_min"=>0, "count_max"=>0, "depends_on"=>array()))); - MetaModel::Init_SetZListItems('details', array('provider', 'product', 'name', 'start', 'end', 'key', 'scope')); - MetaModel::Init_SetZListItems('advanced_search', array('provider', 'product', 'name', 'start', 'end', 'key', 'scope')); - MetaModel::Init_SetZListItems('standard_search', array('provider', 'product', 'name', 'start', 'end', 'key', 'scope')); - MetaModel::Init_SetZListItems('list', array('provider', 'product', 'name', 'start', 'end', 'key', 'scope')); + MetaModel::Init_SetZListItems('details', array('provider', 'product', 'name', 'start', 'end', 'licence_key', 'scope', 'usage_limit')); + MetaModel::Init_SetZListItems('advanced_search', array('provider', 'product', 'name', 'start', 'end', 'licence_key', 'scope')); + MetaModel::Init_SetZListItems('standard_search', array('provider', 'product', 'name', 'start', 'end', 'licence_key', 'scope')); + MetaModel::Init_SetZListItems('list', array('provider', 'product', 'name', 'start', 'end')); } } class Subnet extends cmdbAbstractObject @@ -410,9 +416,9 @@ class Subnet extends cmdbAbstractObject ( "category" => "bizmodel,searchable,configmgmt", "key_type" => "autoincrement", - "name_attcode" => "name", + "name_attcode" => "ip", "state_attcode" => "", - "reconc_keys" => array("name"), + "reconc_keys" => array("ip", "ip_mask"), "db_table" => "subnet", "db_key_field" => "id", "db_finalclass_field" => "", @@ -421,21 +427,22 @@ class Subnet extends cmdbAbstractObject MetaModel::Init_Params($aParams); MetaModel::Init_InheritAttributes(); - MetaModel::Init_AddAttribute(new AttributeString("name", array("allowed_values"=>null, "sql"=>"name", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); + //MetaModel::Init_AddAttribute(new AttributeString("name", array("allowed_values"=>null, "sql"=>"name", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); 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 AttributeExternalKey("org_id", array("targetclass"=>"Organization", "jointype"=>null, "allowed_values"=>null, "sql"=>"org_id", "is_null_allowed"=>false, "on_target_delete"=>DEL_MANUAL, "depends_on"=>array()))); + MetaModel::Init_AddAttribute(new AttributeExternalField("org_name", array("allowed_values"=>null, "extkey_attcode"=>"org_id", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeIPAddress("ip", array("allowed_values"=>null, "sql"=>"ip", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeIPAddress("ip_mask", array("allowed_values"=>null, "sql"=>"ip_mask", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); - MetaModel::Init_SetZListItems('details', array('name', 'description', 'ip', 'ip_mask')); - MetaModel::Init_SetZListItems('advanced_search', array('name', 'description', 'ip', 'ip_mask')); - MetaModel::Init_SetZListItems('standard_search', array('name', 'description', 'ip', 'ip_mask')); - MetaModel::Init_SetZListItems('list', array('description', 'ip', 'ip_mask')); + MetaModel::Init_SetZListItems('details', array('description', 'org_id', 'ip', 'ip_mask')); + MetaModel::Init_SetZListItems('advanced_search', array('description', 'org_id', 'ip', 'ip_mask')); + MetaModel::Init_SetZListItems('standard_search', array('description', 'org_id', 'ip', 'ip_mask')); + MetaModel::Init_SetZListItems('list', array('description', 'org_id', 'ip', 'ip_mask')); } - public function ComputeValues() + public function GetName() { - $sName = $this->Get('ip').'/'.$this->Get('ip_mask'); - $this->Set('name', $sName); + return $this->Get('ip').' / '.$this->Get('ip_mask'); } function DisplayBareRelations(WebPage $oPage, $bEditMode = false) @@ -508,20 +515,20 @@ class Patch extends cmdbAbstractObject MetaModel::Init_InheritAttributes(); MetaModel::Init_AddAttribute(new AttributeString("name", array("allowed_values"=>null, "sql"=>"name", "default_value"=>"", "is_null_allowed"=>false, "depends_on"=>array()))); + 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 AttributeString("target_sw", array("allowed_values"=>null, "sql"=>"target_sw", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeString("version", array("allowed_values"=>null, "sql"=>"version", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); - MetaModel::Init_AddAttribute(new AttributeEnum("type", array("allowed_values"=>new ValueSetEnum('security,servicepack,fix'), "sql"=>"type", "default_value"=>"fix", "is_null_allowed"=>true, "depends_on"=>array()))); + MetaModel::Init_AddAttribute(new AttributeEnum("type", array("allowed_values"=>new ValueSetEnum('application,os,security,servicepack'), "sql"=>"type", "default_value"=>"security", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeLinkedSetIndirect("ci_list", array("linked_class"=>"lnkPatchToCI", "ext_key_to_me"=>"patch_id", "ext_key_to_remote"=>"ci_id", "allowed_values"=>null, "count_min"=>0, "count_max"=>0, "depends_on"=>array()))); - MetaModel::Init_SetZListItems('details', array('name', 'target_sw', 'version', 'type', 'ci_list')); + MetaModel::Init_SetZListItems('details', array('name', 'description', 'target_sw', 'version', 'type', 'ci_list')); MetaModel::Init_SetZListItems('advanced_search', array('name', 'target_sw', 'version', 'type')); MetaModel::Init_SetZListItems('standard_search', array('name', 'target_sw', 'version', 'type')); MetaModel::Init_SetZListItems('list', array('target_sw', 'version', 'type')); } } -class Application extends cmdbAbstractObject +abstract class Software extends cmdbAbstractObject { - public static function Init() { $aParams = array @@ -531,7 +538,7 @@ class Application extends cmdbAbstractObject "name_attcode" => "name", "state_attcode" => "", "reconc_keys" => array("name"), - "db_table" => "application", + "db_table" => "software", "db_key_field" => "id", "db_finalclass_field" => "", "icon" => "../business/templates/software.png", @@ -541,17 +548,15 @@ class Application extends cmdbAbstractObject MetaModel::Init_AddAttribute(new AttributeString("name", array("allowed_values"=>null, "sql"=>"name", "default_value"=>"", "is_null_allowed"=>false, "depends_on"=>array()))); 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 AttributeLinkedSet("instance_list", array("linked_class"=>"ApplicationInstance", "ext_key_to_me"=>"application_id", "allowed_values"=>null, "count_min"=>0, "count_max"=>0, "depends_on"=>array()))); - MetaModel::Init_SetZListItems('details', array('name', 'description', 'instance_list')); + MetaModel::Init_SetZListItems('details', array('name', 'description')); MetaModel::Init_SetZListItems('advanced_search', array('name', 'description')); MetaModel::Init_SetZListItems('standard_search', array('name', 'description')); MetaModel::Init_SetZListItems('list', array('description')); } } -class DBServer extends Application +class Application extends Software { - public static function Init() { $aParams = array @@ -561,7 +566,7 @@ class DBServer extends Application "name_attcode" => "name", "state_attcode" => "", "reconc_keys" => array("name"), - "db_table" => "application_db", + "db_table" => "software_app", "db_key_field" => "id", "db_finalclass_field" => "", "icon" => "../business/templates/software.png", @@ -569,13 +574,42 @@ class DBServer extends Application MetaModel::Init_Params($aParams); MetaModel::Init_InheritAttributes(); + MetaModel::Init_AddAttribute(new AttributeLinkedSet("instance_list", array("linked_class"=>"ApplicationInstance", "ext_key_to_me"=>"software_id", "allowed_values"=>null, "count_min"=>0, "count_max"=>0, "depends_on"=>array()))); + MetaModel::Init_SetZListItems('details', array('name', 'description', 'instance_list')); MetaModel::Init_SetZListItems('advanced_search', array('name', 'description')); MetaModel::Init_SetZListItems('standard_search', array('name', 'description')); MetaModel::Init_SetZListItems('list', array('description')); } } -class OperatingSystem extends Application +class DBServer extends Software +{ + public static function Init() + { + $aParams = array + ( + "category" => "bizmodel,searchable,configmgmt", + "key_type" => "autoincrement", + "name_attcode" => "name", + "state_attcode" => "", + "reconc_keys" => array("name"), + "db_table" => "software_db", + "db_key_field" => "id", + "db_finalclass_field" => "", + "icon" => "../business/templates/software.png", + ); + MetaModel::Init_Params($aParams); + MetaModel::Init_InheritAttributes(); + + MetaModel::Init_AddAttribute(new AttributeLinkedSet("instance_list", array("linked_class"=>"DBServerInstance", "ext_key_to_me"=>"software_id", "allowed_values"=>null, "count_min"=>0, "count_max"=>0, "depends_on"=>array()))); + + MetaModel::Init_SetZListItems('details', array('name', 'description', 'instance_list')); + MetaModel::Init_SetZListItems('advanced_search', array('name', 'description')); + MetaModel::Init_SetZListItems('standard_search', array('name', 'description')); + MetaModel::Init_SetZListItems('list', array('description')); + } +} +class OperatingSystem extends Software { public static function Init() @@ -587,7 +621,7 @@ class OperatingSystem extends Application "name_attcode" => "name", "state_attcode" => "", "reconc_keys" => array("name"), - "db_table" => "application_os", + "db_table" => "software_os", "db_key_field" => "id", "db_finalclass_field" => "", "icon" => "../business/templates/software.png", @@ -603,7 +637,6 @@ class OperatingSystem extends Application } class lnkPatchToCI extends cmdbAbstractObject { - public static function Init() { $aParams = array @@ -655,18 +688,20 @@ abstract class FunctionalCI extends cmdbAbstractObject MetaModel::Init_AddAttribute(new AttributeString("name", array("allowed_values"=>null, "sql"=>"name", "default_value"=>"", "is_null_allowed"=>false, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeEnum("status", array("allowed_values"=>new ValueSetEnum('implementation,production,obsolete'), "sql"=>"status", "default_value"=>"implementation", "is_null_allowed"=>true, "depends_on"=>array()))); - MetaModel::Init_AddAttribute(new AttributeExternalKey("owner_id", array("targetclass"=>"Organization", "jointype"=>null, "allowed_values"=>null, "sql"=>"owner_id", "is_null_allowed"=>false, "on_target_delete"=>DEL_MANUAL, "depends_on"=>array()))); - MetaModel::Init_AddAttribute(new AttributeExternalField("owner_name", array("allowed_values"=>null, "extkey_attcode"=>"owner_id", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array()))); + MetaModel::Init_AddAttribute(new AttributeExternalKey("org_id", array("targetclass"=>"Organization", "jointype"=>null, "allowed_values"=>null, "sql"=>"org_id", "is_null_allowed"=>false, "on_target_delete"=>DEL_MANUAL, "depends_on"=>array()))); + MetaModel::Init_AddAttribute(new AttributeExternalField("owner_name", array("allowed_values"=>null, "extkey_attcode"=>"org_id", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeEnum("importance", array("allowed_values"=>new ValueSetEnum('low,medium,high'), "sql"=>"importance", "default_value"=>"medium", "is_null_allowed"=>false, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeLinkedSetIndirect("contact_list", array("linked_class"=>"lnkCIToContact", "ext_key_to_me"=>"ci_id", "ext_key_to_remote"=>"contact_id", "allowed_values"=>null, "count_min"=>0, "count_max"=>0, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeLinkedSetIndirect("document_list", array("linked_class"=>"lnkCIToDoc", "ext_key_to_me"=>"ci_id", "ext_key_to_remote"=>"document_id", "allowed_values"=>null, "count_min"=>0, "count_max"=>0, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeLinkedSetIndirect("solution_list", array("linked_class"=>"lnkSolutionToCI", "ext_key_to_me"=>"ci_id", "ext_key_to_remote"=>"solution_id", "allowed_values"=>null, "count_min"=>0, "count_max"=>0, "depends_on"=>array()))); + MetaModel::Init_AddAttribute(new AttributeLinkedSetIndirect("contract_list", array("linked_class"=>"lnkContractToCI", "ext_key_to_me"=>"ci_id", "ext_key_to_remote"=>"contract_id", "allowed_values"=>null, "count_min"=>0, "count_max"=>0, "depends_on"=>array()))); + MetaModel::Init_AddAttribute(new AttributeLinkedSetIndirect("ticket_list", array("linked_class"=>"lnkTicketToCI", "ext_key_to_me"=>"ci_id", "ext_key_to_remote"=>"ticket_id", "allowed_values"=>null, "count_min"=>0, "count_max"=>0, "depends_on"=>array()))); - MetaModel::Init_SetZListItems('details', array('name', 'status', 'owner_id', 'importance', 'contact_list', 'document_list', 'solution_list')); - MetaModel::Init_SetZListItems('advanced_search', array('name', 'status', 'owner_id', 'importance')); - MetaModel::Init_SetZListItems('standard_search', array('name', 'status', 'owner_id', 'importance')); - MetaModel::Init_SetZListItems('list', array('status', 'owner_id', 'importance')); + MetaModel::Init_SetZListItems('details', array('name', 'status', 'org_id', 'importance', 'contact_list', 'document_list', 'solution_list', 'contract_list', 'ticket_list')); + MetaModel::Init_SetZListItems('advanced_search', array('name', 'status', 'org_id', 'importance')); + MetaModel::Init_SetZListItems('standard_search', array('name', 'status', 'org_id', 'importance')); + MetaModel::Init_SetZListItems('list', array('status', 'org_id', 'importance')); } public static function GetRelationQueries($sRelCode) @@ -683,19 +718,18 @@ abstract class FunctionalCI extends cmdbAbstractObject } } -class ApplicationInstance extends FunctionalCI +abstract class SoftwareInstance extends FunctionalCI { - public static function Init() { $aParams = array ( "category" => "bizmodel,searchable,configmgmt", "key_type" => "autoincrement", - "name_attcode" => "name", + "name_attcode" => "software_name", "state_attcode" => "", - "reconc_keys" => array("name"), - "db_table" => "applicationinstance", + "reconc_keys" => array("software_id", "device_id"), + "db_table" => "softwareinstance", "db_key_field" => "id", "db_finalclass_field" => "", "icon" => "../business/templates/application.png", @@ -707,15 +741,25 @@ class ApplicationInstance extends FunctionalCI MetaModel::Init_AddAttribute(new AttributeExternalField("device_name", array("allowed_values"=>null, "extkey_attcode"=>"device_id", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeExternalKey("licence_id", array("targetclass"=>"Licence", "jointype"=>null, "allowed_values"=>null, "sql"=>"licence_id", "is_null_allowed"=>true, "on_target_delete"=>DEL_MANUAL, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeExternalField("licence_name", array("allowed_values"=>null, "extkey_attcode"=>"licence_id", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array()))); - MetaModel::Init_AddAttribute(new AttributeExternalKey("application_id", array("targetclass"=>"Application", "jointype"=>null, "allowed_values"=>null, "sql"=>"application_id", "is_null_allowed"=>true, "on_target_delete"=>DEL_MANUAL, "depends_on"=>array()))); - MetaModel::Init_AddAttribute(new AttributeExternalField("application_name", array("allowed_values"=>null, "extkey_attcode"=>"application_id", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array()))); + MetaModel::Init_AddAttribute(new AttributeExternalKey("software_id", array("targetclass"=>"Software", "jointype"=>null, "allowed_values"=>null, "sql"=>"software_id", "is_null_allowed"=>false, "on_target_delete"=>DEL_MANUAL, "depends_on"=>array()))); + MetaModel::Init_AddAttribute(new AttributeExternalField("software_name", array("allowed_values"=>null, "extkey_attcode"=>"software_id", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeString("version", array("allowed_values"=>null, "sql"=>"version", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeWikiText("description", array("allowed_values"=>null, "sql"=>"description", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); - MetaModel::Init_SetZListItems('details', array('name', 'status', 'owner_id', 'importance', 'device_id', 'licence_id', 'application_id', 'version', 'description')); - MetaModel::Init_SetZListItems('advanced_search', array('name', 'status', 'owner_id', 'importance', 'device_id', 'licence_id', 'application_id', 'version', 'description')); - MetaModel::Init_SetZListItems('standard_search', array('name', 'status', 'owner_id', 'importance', 'device_id', 'licence_id', 'application_id', 'version', 'description')); - MetaModel::Init_SetZListItems('list', array('status', 'owner_id', 'importance', 'device_id', 'licence_id', 'application_id', 'version', 'description')); + MetaModel::Init_SetZListItems('details', array('status', 'org_id', 'importance', 'device_id', 'licence_id', 'software_id', 'version', 'description')); + MetaModel::Init_SetZListItems('advanced_search', array('status', 'org_id', 'importance', 'device_id', 'licence_id', 'software_id', 'version')); + MetaModel::Init_SetZListItems('standard_search', array('status', 'org_id', 'importance', 'device_id', 'licence_id', 'software_id', 'version')); + MetaModel::Init_SetZListItems('list', array('status', 'org_id', 'importance', 'device_id', 'software_id', 'version')); + } + + public function GetName() + { + return $this->Get('software_name').' - '.$this->Get('device_name'); + } + + public function ComputeValues() + { + return $this->Set('name', $this->GetName()); } public static function GetRelationQueries($sRelCode) @@ -724,13 +768,65 @@ class ApplicationInstance extends FunctionalCI { case "impacts": $aRels = array( - // Actually this should be limited to the ApplicationInstances based on a DBServer Application type... + // 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)); } } } +class DBServerInstance extends SoftwareInstance +{ + public static function Init() + { + $aParams = array + ( + "category" => "bizmodel,searchable,configmgmt", + "key_type" => "autoincrement", + "name_attcode" => "software_name", + "state_attcode" => "", + "reconc_keys" => array("software_id", "device_id"), + "db_table" => "softwareinstance_dbserver", + "db_key_field" => "id", + "db_finalclass_field" => "", + "icon" => "../business/templates/application.png", + ); + MetaModel::Init_Params($aParams); + MetaModel::Init_InheritAttributes(); + + MetaModel::Init_AddAttribute(new AttributeLinkedSet("dbinstance_list", array("linked_class"=>"DatabaseInstance", "ext_key_to_me"=>"db_server_instance_id", "allowed_values"=>null, "count_min"=>0, "count_max"=>0, "depends_on"=>array()))); + + MetaModel::Init_SetZListItems('details', array('status', 'org_id', 'importance', 'device_id', 'licence_id', 'software_id', 'version', 'description', 'dbinstance_list')); + MetaModel::Init_SetZListItems('advanced_search', array('status', 'org_id', 'importance', 'device_id', 'licence_id', 'software_id', 'version')); + MetaModel::Init_SetZListItems('standard_search', array('status', 'org_id', 'importance', 'device_id', 'licence_id', 'software_id', 'version')); + MetaModel::Init_SetZListItems('list', array('status', 'org_id', 'importance', 'device_id', 'software_id', 'version')); + } +} +class ApplicationInstance extends SoftwareInstance +{ + public static function Init() + { + $aParams = array + ( + "category" => "bizmodel,searchable,configmgmt", + "key_type" => "autoincrement", + "name_attcode" => "software_name", + "state_attcode" => "", + "reconc_keys" => array("software_id", "device_id"), + "db_table" => "softwareinstance_application", + "db_key_field" => "id", + "db_finalclass_field" => "", + "icon" => "../business/templates/application.png", + ); + MetaModel::Init_Params($aParams); + MetaModel::Init_InheritAttributes(); + + MetaModel::Init_SetZListItems('details', array('status', 'org_id', 'importance', 'device_id', 'licence_id', 'software_id', 'version', 'description')); + MetaModel::Init_SetZListItems('advanced_search', array('status', 'org_id', 'importance', 'device_id', 'licence_id', 'software_id', 'version')); + MetaModel::Init_SetZListItems('standard_search', array('status', 'org_id', 'importance', 'device_id', 'licence_id', 'software_id', 'version')); + MetaModel::Init_SetZListItems('list', array('status', 'org_id', 'importance', 'device_id', 'software_id', 'version')); + } +} class DatabaseInstance extends FunctionalCI { @@ -752,17 +848,20 @@ class DatabaseInstance extends FunctionalCI MetaModel::Init_Params($aParams); MetaModel::Init_InheritAttributes(); - MetaModel::Init_AddAttribute(new AttributeExternalKey("db_server_instance_id", array("targetclass"=>"ApplicationInstance", "jointype"=>null, "allowed_values"=>new ValueSetObjects('SELECT ApplicationInstance AS DBSrvInstance JOIN DBServer AS DBServerSW ON DBSrvInstance.application_id = DBServerSW.id WHERE DBServerSW.finalclass=\'DBServer\''), "sql"=>"db_server_instance_id", "is_null_allowed"=>true, "on_target_delete"=>DEL_MANUAL, "depends_on"=>array()))); + MetaModel::Init_AddAttribute(new AttributeExternalKey("db_server_instance_id", array("targetclass"=>"DBServerInstance", "jointype"=>null, "allowed_values"=>null, "sql"=>"db_server_instance_id", "is_null_allowed"=>true, "on_target_delete"=>DEL_MANUAL, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeExternalField("db_server_instance_name", array("allowed_values"=>null, "extkey_attcode"=>"db_server_instance_id", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeExternalField("db_server_instance_version", array("allowed_values"=>null, "extkey_attcode"=>"db_server_instance_id", "target_attcode"=>"version", "is_null_allowed"=>true, "depends_on"=>array()))); - MetaModel::Init_AddAttribute(new AttributePassword("admin_login", array("allowed_values"=>null, "sql"=>"admin_login", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); - MetaModel::Init_AddAttribute(new AttributePassword("admin_password", array("allowed_values"=>null, "sql"=>"admin_password", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeWikiText("description", array("allowed_values"=>null, "sql"=>"description", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); - MetaModel::Init_SetZListItems('details', array('name', 'status', 'owner_id', 'importance', 'db_server_instance_id', 'db_server_instance_version', 'admin_login', 'admin_password', 'description')); - MetaModel::Init_SetZListItems('advanced_search', array('name', 'status', 'owner_id', 'importance', 'db_server_instance_id', 'db_server_instance_version', 'description')); - MetaModel::Init_SetZListItems('standard_search', array('name', 'status', 'owner_id', 'importance', 'db_server_instance_id', 'db_server_instance_version', 'description')); - MetaModel::Init_SetZListItems('list', array('status', 'owner_id', 'importance', 'db_server_instance_id', 'db_server_instance_version')); + MetaModel::Init_SetZListItems('details', array('name', 'status', 'org_id', 'importance', 'db_server_instance_id', 'db_server_instance_version', 'description')); + MetaModel::Init_SetZListItems('advanced_search', array('name', 'status', 'org_id', 'importance', 'db_server_instance_id', 'db_server_instance_version')); + MetaModel::Init_SetZListItems('standard_search', array('name', 'status', 'org_id', 'importance', 'db_server_instance_id', 'db_server_instance_version')); + MetaModel::Init_SetZListItems('list', array('status', 'org_id', 'importance', 'db_server_instance_id', 'db_server_instance_version')); + } + + public function GetName() + { + return $this->Get('name').' - '.$this->Get('db_server_instance_name'); } } class ApplicationSolution extends FunctionalCI @@ -789,10 +888,10 @@ class ApplicationSolution extends FunctionalCI MetaModel::Init_AddAttribute(new AttributeLinkedSetIndirect("ci_list", array("linked_class"=>"lnkSolutionToCI", "ext_key_to_me"=>"solution_id", "ext_key_to_remote"=>"ci_id", "allowed_values"=>null, "count_min"=>0, "count_max"=>0, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeLinkedSetIndirect("process_list", array("linked_class"=>"lnkProcessToSolution", "ext_key_to_me"=>"solution_id", "ext_key_to_remote"=>"process_id", "allowed_values"=>null, "count_min"=>0, "count_max"=>0, "depends_on"=>array()))); - MetaModel::Init_SetZListItems('details', array('name', 'status', 'owner_id', 'importance', 'description', 'ci_list', 'process_list')); - MetaModel::Init_SetZListItems('advanced_search', array('name', 'status', 'owner_id', 'importance', 'description')); - MetaModel::Init_SetZListItems('standard_search', array('name', 'status', 'owner_id', 'importance', 'description')); - MetaModel::Init_SetZListItems('list', array('status', 'owner_id', 'importance', 'description')); + MetaModel::Init_SetZListItems('details', array('name', 'status', 'org_id', 'importance', 'description', 'ci_list', 'process_list')); + MetaModel::Init_SetZListItems('advanced_search', array('name', 'status', 'org_id', 'importance')); + MetaModel::Init_SetZListItems('standard_search', array('name', 'status', 'org_id', 'importance')); + MetaModel::Init_SetZListItems('list', array('status', 'org_id', 'importance')); } public static function GetRelationQueries($sRelCode) @@ -828,12 +927,12 @@ class BusinessProcess extends FunctionalCI MetaModel::Init_InheritAttributes(); 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("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_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', 'owner_id', 'importance', 'description', 'solution_list')); - MetaModel::Init_SetZListItems('advanced_search', array('name', 'status', 'owner_id', 'importance', 'description')); - MetaModel::Init_SetZListItems('standard_search', array('name', 'status', 'owner_id', 'importance', 'description')); - MetaModel::Init_SetZListItems('list', array('status', 'owner_id', 'importance', 'description')); + MetaModel::Init_SetZListItems('details', array('name', 'status', 'org_id', 'importance', 'description', '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')); } } abstract class ConnectableCI extends FunctionalCI @@ -861,10 +960,10 @@ abstract class ConnectableCI extends FunctionalCI MetaModel::Init_AddAttribute(new AttributeString("serial_number", array("allowed_values"=>null, "sql"=>"serial_number", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeString("asset_ref", array("allowed_values"=>null, "sql"=>"asset_ref", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); - MetaModel::Init_SetZListItems('details', array('name', 'status', 'owner_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref')); - MetaModel::Init_SetZListItems('advanced_search', array('name', 'status', 'owner_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref')); - MetaModel::Init_SetZListItems('standard_search', array('name', 'status', 'owner_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref')); - MetaModel::Init_SetZListItems('list', array('status', 'owner_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref')); + MetaModel::Init_SetZListItems('details', array('name', 'status', 'org_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref')); + MetaModel::Init_SetZListItems('advanced_search', array('name', 'status', 'org_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref')); + MetaModel::Init_SetZListItems('standard_search', array('name', 'status', 'org_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref')); + MetaModel::Init_SetZListItems('list', array('status', 'org_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref')); } } class NetworkInterface extends ConnectableCI @@ -899,11 +998,17 @@ class NetworkInterface extends ConnectableCI MetaModel::Init_AddAttribute(new AttributeExternalKey("connected_if", array("targetclass"=>"NetworkInterface", "jointype"=>null, "allowed_values"=>null, "sql"=>"connected_if", "is_null_allowed"=>true, "on_target_delete"=>DEL_AUTO, "depends_on"=>array()))); 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_SetZListItems('details', array('name', 'status', 'owner_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('advanced_search', array('name', 'status', 'owner_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', 'owner_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', 'owner_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('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')); + 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')); + } + + public function GetName() + { + return $this->Get('device_name').' - '.$this->Get('name'); } } abstract class Device extends ConnectableCI @@ -926,10 +1031,12 @@ abstract class Device extends ConnectableCI MetaModel::Init_Params($aParams); MetaModel::Init_InheritAttributes(); - MetaModel::Init_SetZListItems('details', array('name', 'status', 'owner_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref', 'application_list')); - MetaModel::Init_SetZListItems('advanced_search', array('name', 'status', 'owner_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref')); - MetaModel::Init_SetZListItems('standard_search', array('name', 'status', 'owner_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref')); - MetaModel::Init_SetZListItems('list', array('status', 'owner_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref')); + MetaModel::Init_AddAttribute(new AttributeLinkedSet("nwinterface_list", array("linked_class"=>"NetworkInterface", "ext_key_to_me"=>"device_id", "allowed_values"=>null, "count_min"=>0, "count_max"=>0, "depends_on"=>array()))); + + MetaModel::Init_SetZListItems('details', array('name', 'status', 'org_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref', 'application_list', 'nwinterface_list')); + MetaModel::Init_SetZListItems('advanced_search', array('name', 'status', 'org_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref')); + MetaModel::Init_SetZListItems('standard_search', array('name', 'status', 'org_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref')); + MetaModel::Init_SetZListItems('list', array('status', 'org_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref')); } public static function GetRelationQueries($sRelCode) @@ -938,7 +1045,7 @@ abstract class Device extends ConnectableCI { case "impacts": $aRels = array( - "applications" => array("sQuery"=>"SELECT ApplicationInstance AS app WHERE app.device_id = :this->id", "bPropagate"=>true, "iDistance"=>5), + "applications" => array("sQuery"=>"SELECT SoftwareInstance AS app WHERE app.device_id = :this->id", "bPropagate"=>true, "iDistance"=>5), ); return array_merge($aRels, parent::GetRelationQueries($sRelCode)); } @@ -969,13 +1076,13 @@ class PC extends Device MetaModel::Init_AddAttribute(new AttributeString("hdd", array("allowed_values"=>null, "sql"=>"hdd", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeString("os_family", array("allowed_values"=>null, "sql"=>"os_family", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeString("os_version", array("allowed_values"=>null, "sql"=>"os_version", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); - MetaModel::Init_AddAttribute(new AttributeLinkedSet("application_list", array("linked_class"=>"ApplicationInstance", "ext_key_to_me"=>"device_id", "allowed_values"=>null, "count_min"=>0, "count_max"=>0, "depends_on"=>array()))); + MetaModel::Init_AddAttribute(new AttributeLinkedSet("application_list", array("linked_class"=>"SoftwareInstance", "ext_key_to_me"=>"device_id", "allowed_values"=>null, "count_min"=>0, "count_max"=>0, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeLinkedSetIndirect("patch_list", array("linked_class"=>"lnkPatchToCI", "ext_key_to_me"=>"ci_id", "ext_key_to_remote"=>"patch_id", "allowed_values"=>null, "count_min"=>0, "count_max"=>0, "depends_on"=>array()))); - MetaModel::Init_SetZListItems('details', array('name', 'status', 'owner_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref', 'cpu', 'ram', 'hdd', 'os_family', 'os_version', 'application_list', 'patch_list')); - MetaModel::Init_SetZListItems('advanced_search', array('name', 'status', 'owner_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref', 'cpu', 'ram', 'hdd', 'os_family', 'os_version')); - MetaModel::Init_SetZListItems('standard_search', array('name', 'status', 'owner_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref', 'cpu', 'ram', 'hdd', 'os_family', 'os_version')); - MetaModel::Init_SetZListItems('list', array('status', 'owner_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref', 'cpu', 'ram', 'hdd', 'os_family', 'os_version')); + MetaModel::Init_SetZListItems('details', array('name', 'status', 'org_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref', 'cpu', 'ram', 'hdd', 'os_family', 'os_version', 'application_list', 'patch_list')); + MetaModel::Init_SetZListItems('advanced_search', array('name', 'status', 'org_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref', 'cpu', 'ram', 'hdd', 'os_family', 'os_version')); + MetaModel::Init_SetZListItems('standard_search', array('name', 'status', 'org_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref', 'cpu', 'ram', 'hdd', 'os_family', 'os_version')); + MetaModel::Init_SetZListItems('list', array('status', 'org_id', 'importance', 'brand', 'model', 'os_family')); } } abstract class MobileCI extends Device @@ -999,10 +1106,10 @@ abstract class MobileCI extends Device MetaModel::Init_InheritAttributes(); - MetaModel::Init_SetZListItems('details', array('name', 'status', 'owner_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref')); - MetaModel::Init_SetZListItems('advanced_search', array('name', 'status', 'owner_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref')); - MetaModel::Init_SetZListItems('standard_search', array('name', 'status', 'owner_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref')); - MetaModel::Init_SetZListItems('list', array('status', 'owner_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref')); + MetaModel::Init_SetZListItems('details', array('name', 'status', 'org_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref')); + MetaModel::Init_SetZListItems('advanced_search', array('name', 'status', 'org_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref')); + MetaModel::Init_SetZListItems('standard_search', array('name', 'status', 'org_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref')); + MetaModel::Init_SetZListItems('list', array('status', 'org_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref')); } } class MobilePhone extends MobileCI @@ -1027,12 +1134,12 @@ class MobilePhone extends MobileCI MetaModel::Init_AddAttribute(new AttributeString("number", array("allowed_values"=>null, "sql"=>"number", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeString("imei", array("allowed_values"=>null, "sql"=>"IMIE", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); - MetaModel::Init_AddAttribute(new AttributePassword("hw_pin", array("allowed_values"=>null, "sql"=>"hw_pin", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); + MetaModel::Init_AddAttribute(new AttributeString("hw_pin", array("allowed_values"=>null, "sql"=>"hw_pin", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); - MetaModel::Init_SetZListItems('details', array('name', 'status', 'owner_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref', 'number', 'imei', 'hw_pin')); - MetaModel::Init_SetZListItems('advanced_search', array('name', 'status', 'owner_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref', 'number', 'imei')); - MetaModel::Init_SetZListItems('standard_search', array('name', 'status', 'owner_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref', 'number', 'imei')); - MetaModel::Init_SetZListItems('list', array('status', 'owner_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref', 'number', 'imei', 'hw_pin')); + MetaModel::Init_SetZListItems('details', array('name', 'status', 'org_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref', 'number', 'imei', 'hw_pin')); + MetaModel::Init_SetZListItems('advanced_search', array('name', 'status', 'org_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref', 'number', 'imei')); + MetaModel::Init_SetZListItems('standard_search', array('name', 'status', 'org_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref', 'number', 'imei')); + MetaModel::Init_SetZListItems('list', array('status', 'org_id', 'importance', 'brand', 'model')); } } abstract class InfrastructureCI extends Device @@ -1056,16 +1163,16 @@ abstract class InfrastructureCI extends Device MetaModel::Init_InheritAttributes(); 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 AttributeExternalKey("location_id", array("targetclass"=>"Location", "jointype"=>null, "allowed_values"=>null, "sql"=>"location_id", "is_null_allowed"=>true, "on_target_delete"=>DEL_MANUAL, "depends_on"=>array()))); + MetaModel::Init_AddAttribute(new AttributeExternalKey("location_id", array("targetclass"=>"Location", "jointype"=>null, "allowed_values"=>new ValueSetObjects('SELECT Location AS l WHERE l.org_id = :this->org_id'), "sql"=>"location_id", "is_null_allowed"=>true, "on_target_delete"=>DEL_MANUAL, "depends_on"=>array("org_id")))); MetaModel::Init_AddAttribute(new AttributeExternalField("location_name", array("allowed_values"=>null, "extkey_attcode"=>"location_id", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeText("location_details", array("allowed_values"=>null, "sql"=>"location_details", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeIPAddress("management_ip", array("allowed_values"=>null, "sql"=>"management_ip", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeString("default_gateway", array("allowed_values"=>null, "sql"=>"default_gateway", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); - MetaModel::Init_SetZListItems('details', array('name', 'status', 'owner_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref', 'description', 'location_id', 'location_details', 'management_ip', 'default_gateway')); - MetaModel::Init_SetZListItems('advanced_search', array('name', 'status', 'owner_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref', 'description', 'location_id', 'location_details', 'management_ip', 'default_gateway')); - MetaModel::Init_SetZListItems('standard_search', array('name', 'status', 'owner_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref', 'description', 'location_id', 'location_details', 'management_ip', 'default_gateway')); - MetaModel::Init_SetZListItems('list', array('status', 'owner_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref', 'description', 'location_id', 'location_details', 'management_ip', 'default_gateway')); + MetaModel::Init_SetZListItems('details', array('name', 'status', 'org_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref', 'description', 'location_id', 'location_details', 'management_ip', 'default_gateway')); + MetaModel::Init_SetZListItems('advanced_search', array('name', 'status', 'org_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref', 'description', 'location_id', 'location_details', 'management_ip', 'default_gateway')); + MetaModel::Init_SetZListItems('standard_search', array('name', 'status', 'org_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref', 'description', 'location_id', 'location_details', 'management_ip', 'default_gateway')); + MetaModel::Init_SetZListItems('list', array('name', 'status', 'org_id', 'importance', 'brand', 'model', 'location_id')); } } class NetworkDevice extends InfrastructureCI @@ -1091,13 +1198,13 @@ class NetworkDevice extends InfrastructureCI MetaModel::Init_AddAttribute(new AttributeEnum("type", array("allowed_values"=>new ValueSetEnum('wanaccelerator,firewall,hub,loadbalancer,router,switch'), "sql"=>"type", "default_value"=>"switch", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeString("ios_version", array("allowed_values"=>null, "sql"=>"ios_version", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeString("ram", array("allowed_values"=>null, "sql"=>"ram", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); - MetaModel::Init_AddAttribute(new AttributePassword("snmp_read", array("allowed_values"=>null, "sql"=>"snmp_read", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); - MetaModel::Init_AddAttribute(new AttributePassword("snmp_write", array("allowed_values"=>null, "sql"=>"snmp_write", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); + MetaModel::Init_AddAttribute(new AttributeString("snmp_read", array("allowed_values"=>null, "sql"=>"snmp_read", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); + MetaModel::Init_AddAttribute(new AttributeString("snmp_write", array("allowed_values"=>null, "sql"=>"snmp_write", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); - MetaModel::Init_SetZListItems('details', array('name', 'status', 'owner_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref', 'description', 'location_id', 'location_details', 'management_ip', 'default_gateway', 'type', 'ios_version', 'ram', 'snmp_read', 'snmp_write')); - MetaModel::Init_SetZListItems('advanced_search', array('name', 'status', 'owner_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref', 'description', 'location_id', 'location_details', 'management_ip', 'default_gateway', 'type', 'ios_version', 'ram')); - MetaModel::Init_SetZListItems('standard_search', array('name', 'status', 'owner_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref', 'description', 'location_id', 'location_details', 'management_ip', 'default_gateway', 'type', 'ios_version', 'ram')); - MetaModel::Init_SetZListItems('list', array('status', 'owner_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref', 'description', 'location_id', 'location_details', 'management_ip', 'default_gateway', 'type', 'ios_version', 'ram', 'snmp_read', 'snmp_write')); + MetaModel::Init_SetZListItems('details', array('name', 'status', 'org_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref', 'description', 'location_id', 'location_details', 'management_ip', 'default_gateway', 'type', 'ios_version', 'ram', 'snmp_read', 'snmp_write')); + MetaModel::Init_SetZListItems('advanced_search', array('name', 'status', 'org_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref', 'description', 'location_id', 'location_details', 'management_ip', 'default_gateway', 'type', 'ios_version', 'ram')); + MetaModel::Init_SetZListItems('standard_search', array('name', 'status', 'org_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref', 'description', 'location_id', 'location_details', 'management_ip', 'default_gateway', 'type', 'ios_version', 'ram')); + MetaModel::Init_SetZListItems('list', array('status', 'org_id', 'importance', 'brand', 'model', 'location_id', 'type')); } } class Server extends InfrastructureCI @@ -1125,13 +1232,13 @@ class Server extends InfrastructureCI MetaModel::Init_AddAttribute(new AttributeString("hdd", array("allowed_values"=>null, "sql"=>"hdd", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeString("os_family", array("allowed_values"=>null, "sql"=>"os_family", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeString("os_version", array("allowed_values"=>null, "sql"=>"os_version", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); - MetaModel::Init_AddAttribute(new AttributeLinkedSet("application_list", array("linked_class"=>"ApplicationInstance", "ext_key_to_me"=>"device_id", "allowed_values"=>null, "count_min"=>0, "count_max"=>0, "depends_on"=>array()))); + MetaModel::Init_AddAttribute(new AttributeLinkedSet("application_list", array("linked_class"=>"SoftwareInstance", "ext_key_to_me"=>"device_id", "allowed_values"=>null, "count_min"=>0, "count_max"=>0, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeLinkedSetIndirect("patch_list", array("linked_class"=>"lnkPatchToCI", "ext_key_to_me"=>"ci_id", "ext_key_to_remote"=>"patch_id", "allowed_values"=>null, "count_min"=>0, "count_max"=>0, "depends_on"=>array()))); - MetaModel::Init_SetZListItems('details', array('name', 'status', 'owner_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref', 'description', 'location_id', 'location_details', 'management_ip', 'default_gateway', 'cpu', 'ram', 'hdd', 'os_family', 'os_version', 'application_list', 'patch_list')); - MetaModel::Init_SetZListItems('advanced_search', array('name', 'status', 'owner_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref', 'description', 'location_id', 'location_details', 'management_ip', 'default_gateway', 'cpu', 'ram', 'hdd', 'os_family', 'os_version')); - MetaModel::Init_SetZListItems('standard_search', array('name', 'status', 'owner_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref', 'description', 'location_id', 'location_details', 'management_ip', 'default_gateway', 'cpu', 'ram', 'hdd', 'os_family', 'os_version')); - MetaModel::Init_SetZListItems('list', array('status', 'owner_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref', 'description', 'location_id', 'location_details', 'management_ip', 'default_gateway', 'cpu', 'ram', 'hdd', 'os_family', 'os_version')); + MetaModel::Init_SetZListItems('details', array('name', 'status', 'org_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref', 'description', 'location_id', 'location_details', 'management_ip', 'default_gateway', 'cpu', 'ram', 'hdd', 'os_family', 'os_version', 'application_list', 'patch_list')); + MetaModel::Init_SetZListItems('advanced_search', array('name', 'status', 'org_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref', 'description', 'location_id', 'location_details', 'management_ip', 'default_gateway', 'cpu', 'ram', 'hdd', 'os_family', 'os_version')); + MetaModel::Init_SetZListItems('standard_search', array('name', 'status', 'org_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref', 'description', 'location_id', 'location_details', 'management_ip', 'default_gateway', 'cpu', 'ram', 'hdd', 'os_family', 'os_version')); + MetaModel::Init_SetZListItems('list', array('status', 'org_id', 'importance', 'brand', 'model', 'location_id', 'os_family')); } } class Printer extends InfrastructureCI @@ -1157,10 +1264,10 @@ class Printer extends InfrastructureCI MetaModel::Init_AddAttribute(new AttributeEnum("type", array("allowed_values"=>new ValueSetEnum('mopier,printer'), "sql"=>"type", "default_value"=>"printer", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeEnum("technology", array("allowed_values"=>new ValueSetEnum('laser,inkjet,tracer'), "sql"=>"technology", "default_value"=>"laser", "is_null_allowed"=>true, "depends_on"=>array()))); - MetaModel::Init_SetZListItems('details', array('name', 'status', 'owner_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref', 'description', 'location_id', 'location_details', 'management_ip', 'default_gateway', 'type', 'technology')); - MetaModel::Init_SetZListItems('advanced_search', array('name', 'status', 'owner_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref', 'description', 'location_id', 'location_details', 'management_ip', 'default_gateway', 'type', 'technology')); - MetaModel::Init_SetZListItems('standard_search', array('name', 'status', 'owner_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref', 'description', 'location_id', 'location_details', 'management_ip', 'default_gateway', 'type', 'technology')); - MetaModel::Init_SetZListItems('list', array('status', 'owner_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref', 'description', 'location_id', 'location_details', 'management_ip', 'default_gateway', 'type', 'technology')); + MetaModel::Init_SetZListItems('details', array('name', 'status', 'org_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref', 'description', 'location_id', 'location_details', 'management_ip', 'default_gateway', 'type', 'technology')); + MetaModel::Init_SetZListItems('advanced_search', array('name', 'status', 'org_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref', 'description', 'location_id', 'location_details', 'management_ip', 'default_gateway', 'type', 'technology')); + MetaModel::Init_SetZListItems('standard_search', array('name', 'status', 'org_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref', 'description', 'location_id', 'location_details', 'management_ip', 'default_gateway', 'type', 'technology')); + MetaModel::Init_SetZListItems('list', array('status', 'org_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref', 'description', 'location_id', 'location_details', 'management_ip', 'default_gateway', 'type', 'technology')); } } class lnkCIToDoc extends cmdbAbstractObject @@ -1345,8 +1452,9 @@ new OQLMenuNode('ApplicationSolution', 'SELECT ApplicationSolution', $oCINode->G $oSWNode = new TemplateMenuNode('ConfigManagementSoftware', '', $oCINode->GetIndex(), 2 /* fRank */); new OQLMenuNode('Licence', 'SELECT Licence', $oSWNode->GetIndex(), 0 /* fRank */); new OQLMenuNode('Patch', 'SELECT Patch', $oSWNode->GetIndex(), 1 /* fRank */); -new OQLMenuNode('ApplicationInstance', 'SELECT ApplicationInstance', $oSWNode->GetIndex(), 2 /* fRank */); -new OQLMenuNode('DatabaseInstance', 'SELECT DatabaseInstance', $oSWNode->GetIndex(), 3 /* fRank */); +new OQLMenuNode('ApplicationInstance', 'SELECT SoftwareInstance', $oSWNode->GetIndex(), 2 /* fRank */); +new OQLMenuNode('vraieappliinstance', 'SELECT ApplicationInstance', $oSWNode->GetIndex(), 3 /* fRank */); +new OQLMenuNode('DBServerInstance', 'SELECT DBServerInstance', $oSWNode->GetIndex(), 3 /* fRank */); $oHWNode = new TemplateMenuNode('ConfigManagementHardware', '', $oCINode->GetIndex(), 3 /* fRank */); new OQLMenuNode('Subnet', 'SELECT Subnet', $oHWNode->GetIndex(), 0 /* fRank */); @@ -1356,5 +1464,4 @@ new OQLMenuNode('Printer', 'SELECT Printer', $oHWNode->GetIndex(), 3 /* fRank */ new OQLMenuNode('MobilePhone', 'SELECT MobilePhone', $oHWNode->GetIndex(), 4 /* fRank */); new OQLMenuNode('PC', 'SELECT PC', $oHWNode->GetIndex(), 5 /* fRank */); - ?> 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 88b97683e..311944b35 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 @@ -42,15 +42,25 @@ class Incident extends ResponseTicket MetaModel::Init_Params($aParams); MetaModel::Init_InheritAttributes(); MetaModel::Init_InheritLifecycle(); + + MetaModel::Init_SetZListItems('details', array('ref', 'title', 'ticket_log', 'start_date', 'escalation_deadline', 'closure_deadline', 'document_list', 'ci_list', 'contact_list', 'status', 'caller_id', 'customer_id', 'service_id', 'servicesubcategory_id', 'product', 'impact', 'urgency', 'priority', 'workgroup_id', 'agent_id', 'agent_email', 'related_problem_id', 'related_change_id', 'closure_date', 'last_update', 'assignment_date', 'closure_deadline', 'resolution_code', 'solution', 'user_satisfaction', 'user_commment')); + MetaModel::Init_SetZListItems('advanced_search', array('ref', 'title', 'ticket_log', 'start_date', 'status', 'caller_id', 'customer_id', 'service_id', 'servicesubcategory_id', 'product', 'impact', 'urgency', 'priority', 'workgroup_id', 'agent_id', 'agent_email', 'related_problem_id', 'related_change_id', 'closure_date', 'last_update', 'assignment_date', 'escalation_deadline', 'closure_deadline', 'resolution_code', 'solution', 'user_satisfaction', 'user_commment')); + MetaModel::Init_SetZListItems('standard_search', array('ref', 'title', 'ticket_log', 'start_date', 'status', 'caller_id', 'customer_id', 'service_id', 'servicesubcategory_id', 'product', 'impact', 'urgency', 'priority', 'workgroup_id', 'agent_id', 'agent_email', 'related_problem_id', 'related_change_id', 'closure_date', 'last_update', 'assignment_date', 'escalation_deadline', 'closure_deadline', 'resolution_code', 'solution', 'user_satisfaction', 'user_commment')); + MetaModel::Init_SetZListItems('list', array('ref', 'title', 'ticket_log', 'start_date', 'status', 'caller_id', 'customer_id', 'service_id', 'servicesubcategory_id', 'product', 'impact', 'urgency', 'priority', 'workgroup_id', 'agent_id', 'agent_email', 'related_problem_id', 'related_change_id', 'closure_date', 'last_update', 'assignment_date', 'escalation_deadline', 'closure_deadline', 'resolution_code', 'solution', 'user_satisfaction', 'user_commment')); } } $oMyMenuGroup = new MenuGroup('IncidentManagement', 1 /* fRank */); // By default, one entry per class -new OQLMenuNode('Incidents', 'SELECT Incident', $oMyMenuGroup->GetIndex(), 0 /* fRank */); +//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('ClosedIncidents', 'SELECT Incident WHERE status IN ("resolved", "closed")', $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 */); 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 82d297023..f392fd322 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 @@ -91,7 +91,7 @@ class ProviderContract extends Contract MetaModel::Init_SetZListItems('details', array('name', 'description', 'start_date', 'end_date', 'cost', 'cost_currency', 'cost_unit', 'billing_frequency', 'contact_list', 'document_list', 'ci_list', 'provider_id', 'ola', 'coverage', 'customer_list')); MetaModel::Init_SetZListItems('advanced_search', array('name', 'description', 'start_date', 'end_date', 'cost', 'cost_currency', 'cost_unit', 'billing_frequency', 'provider_id', 'ola', 'coverage')); MetaModel::Init_SetZListItems('standard_search', array('name', 'description', 'start_date', 'end_date', 'cost', 'cost_currency', 'cost_unit', 'billing_frequency', 'provider_id', 'ola', 'coverage')); - MetaModel::Init_SetZListItems('list', array('name', 'description', 'start_date', 'end_date', 'cost', 'cost_currency', 'cost_unit', 'billing_frequency', 'provider_id', 'ola', 'coverage')); + MetaModel::Init_SetZListItems('list', array('name', 'start_date', 'end_date', 'provider_id', 'ola', 'coverage')); } } class CustomerContract extends Contract @@ -124,7 +124,7 @@ class CustomerContract extends Contract MetaModel::Init_SetZListItems('details', array('name', 'description', 'start_date', 'end_date', 'cost', 'cost_currency', 'cost_unit', 'billing_frequency', 'contact_list', 'document_list', 'ci_list', 'customer_id', 'support_team_id', 'provider_list', 'sla_list')); MetaModel::Init_SetZListItems('advanced_search', array('name', 'description', 'start_date', 'end_date', 'cost', 'cost_currency', 'cost_unit', 'billing_frequency', 'customer_id', 'support_team_id')); MetaModel::Init_SetZListItems('standard_search', array('name', 'description', 'start_date', 'end_date', 'cost', 'cost_currency', 'cost_unit', 'billing_frequency', 'customer_id', 'support_team_id')); - MetaModel::Init_SetZListItems('list', array('name', 'description', 'start_date', 'end_date', 'cost', 'cost_currency', 'cost_unit', 'billing_frequency', 'customer_id', 'support_team_id')); + MetaModel::Init_SetZListItems('list', array('name', 'start_date', 'end_date', 'customer_id', 'support_team_id')); } } class lnkProviderToCustomer extends cmdbAbstractObject diff --git a/modules/itop-tickets-1.0.0/en.dict.itop-tickets.php b/modules/itop-tickets-1.0.0/en.dict.itop-tickets.php index 9c571dd08..84c796ab2 100644 --- a/modules/itop-tickets-1.0.0/en.dict.itop-tickets.php +++ b/modules/itop-tickets-1.0.0/en.dict.itop-tickets.php @@ -64,7 +64,7 @@ Dict::Add('EN US', 'English', 'English', array( // Dict::Add('EN US', 'English', 'English', array( - 'Class:lnkTicketToDoc' => 'lnkTicketToDoc', + 'Class:lnkTicketToDoc' => 'Ticket/Document', 'Class:lnkTicketToDoc+' => '', 'Class:lnkTicketToDoc/Attribute:ticket_id' => 'ticket_id', 'Class:lnkTicketToDoc/Attribute:ticket_id+' => '', @@ -81,9 +81,9 @@ Dict::Add('EN US', 'English', 'English', array( // Dict::Add('EN US', 'English', 'English', array( - 'Class:lnkTicketToContact' => 'lnkTicketToContact', + 'Class:lnkTicketToContact' => 'Ticket/Contact', 'Class:lnkTicketToContact+' => '', - 'Class:lnkTicketToContact/Attribute:ticket_id' => 'ticket_id', + 'Class:lnkTicketToContact/Attribute:ticket_id' => 'Ticket', 'Class:lnkTicketToContact/Attribute:ticket_id+' => '', 'Class:lnkTicketToContact/Attribute:ticket_ref' => 'Ticket #', 'Class:lnkTicketToContact/Attribute:ticket_ref+' => '', @@ -93,6 +93,8 @@ Dict::Add('EN US', 'English', 'English', array( 'Class:lnkTicketToContact/Attribute:contact_name+' => '', 'Class:lnkTicketToContact/Attribute:contact_email' => 'Email', 'Class:lnkTicketToContact/Attribute:contact_email+' => '', + 'Class:lnkTicketToContact/Attribute:role' => 'Role', + 'Class:lnkTicketToContact/Attribute:role+' => '', )); // @@ -100,9 +102,9 @@ Dict::Add('EN US', 'English', 'English', array( // Dict::Add('EN US', 'English', 'English', array( - 'Class:lnkTicketToCI' => 'lnkTicketToCI', + 'Class:lnkTicketToCI' => 'Ticket/CI', 'Class:lnkTicketToCI+' => '', - 'Class:lnkTicketToCI/Attribute:ticket_id' => 'ticket_id', + 'Class:lnkTicketToCI/Attribute:ticket_id' => 'Ticket', 'Class:lnkTicketToCI/Attribute:ticket_id+' => '', 'Class:lnkTicketToCI/Attribute:ticket_ref' => 'Ticket #', 'Class:lnkTicketToCI/Attribute:ticket_ref+' => '', @@ -167,11 +169,11 @@ Dict::Add('EN US', 'English', 'English', array( 'Class:ResponseTicket/Attribute:urgency/Value:3+' => '', 'Class:ResponseTicket/Attribute:priority' => 'priority', 'Class:ResponseTicket/Attribute:priority+' => '', - 'Class:ResponseTicket/Attribute:priority/Value:1' => 'Lowest', + 'Class:ResponseTicket/Attribute:priority/Value:1' => 'Low', 'Class:ResponseTicket/Attribute:priority/Value:1+' => '', - 'Class:ResponseTicket/Attribute:priority/Value:2' => 'To be done', + 'Class:ResponseTicket/Attribute:priority/Value:2' => 'Medium', 'Class:ResponseTicket/Attribute:priority/Value:2+' => '', - 'Class:ResponseTicket/Attribute:priority/Value:3' => 'Top priority', + 'Class:ResponseTicket/Attribute:priority/Value:3' => 'High', 'Class:ResponseTicket/Attribute:priority/Value:3+' => '', 'Class:ResponseTicket/Attribute:workgroup_id' => 'Workgroup', 'Class:ResponseTicket/Attribute:workgroup_id+' => '', @@ -195,7 +197,7 @@ Dict::Add('EN US', 'English', 'English', array( 'Class:ResponseTicket/Attribute:escalation_deadline+' => '', 'Class:ResponseTicket/Attribute:closure_deadline' => 'Closure deadline', 'Class:ResponseTicket/Attribute:closure_deadline+' => '', - 'Class:ResponseTicket/Attribute:resolution_code' => 'Resoluion code', + 'Class:ResponseTicket/Attribute:resolution_code' => 'Resolution code', 'Class:ResponseTicket/Attribute:resolution_code+' => '', 'Class:ResponseTicket/Attribute:resolution_code/Value:couldnotreproduce' => 'Could not be reproduced', 'Class:ResponseTicket/Attribute:resolution_code/Value:couldnotreproduce+' => '', diff --git a/modules/itop-tickets-1.0.0/model.itop-tickets.php b/modules/itop-tickets-1.0.0/model.itop-tickets.php index 65120f2f2..a9e8d0151 100644 --- a/modules/itop-tickets-1.0.0/model.itop-tickets.php +++ b/modules/itop-tickets-1.0.0/model.itop-tickets.php @@ -45,6 +45,7 @@ abstract class Ticket extends cmdbAbstractObject MetaModel::Init_AddAttribute(new AttributeString("ref", array("allowed_values"=>null, "sql"=>"ref", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeString("title", array("allowed_values"=>null, "sql"=>"title", "default_value"=>"", "is_null_allowed"=>false, "depends_on"=>array()))); +// MetaModel::Init_AddAttribute(new AttributeText("description", array("allowed_values"=>null, "sql"=>"description", "default_value"=>"", "is_null_allowed"=>false, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeText("ticket_log", array("allowed_values"=>null, "sql"=>"ticket_log", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeDateTime("start_date", array("allowed_values"=>null, "sql"=>"start_date", "default_value"=>null, "is_null_allowed"=>false, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeLinkedSetIndirect("document_list", array("linked_class"=>"lnkTicketToDoc", "ext_key_to_me"=>"ticket_id", "ext_key_to_remote"=>"document_id", "allowed_values"=>null, "count_min"=>0, "count_max"=>0, "depends_on"=>array()))); @@ -113,11 +114,12 @@ class lnkTicketToContact extends cmdbAbstractObject MetaModel::Init_AddAttribute(new AttributeExternalKey("contact_id", array("targetclass"=>"Contact", "jointype"=>null, "allowed_values"=>null, "sql"=>"contact_id", "is_null_allowed"=>false, "on_target_delete"=>DEL_AUTO, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeExternalField("contact_name", array("allowed_values"=>null, "extkey_attcode"=>"contact_id", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeExternalField("contact_email", array("allowed_values"=>null, "extkey_attcode"=>"contact_id", "target_attcode"=>"email", "is_null_allowed"=>true, "depends_on"=>array()))); + MetaModel::Init_AddAttribute(new AttributeString("role", array("allowed_values"=>null, "sql"=>"role", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); - MetaModel::Init_SetZListItems('details', array('ticket_id', 'contact_id', 'contact_email')); - MetaModel::Init_SetZListItems('advanced_search', array('ticket_id', 'contact_id', 'contact_email')); - MetaModel::Init_SetZListItems('standard_search', array('ticket_id', 'contact_id', 'contact_email')); - MetaModel::Init_SetZListItems('list', array('ticket_id', 'contact_id', 'contact_email')); + MetaModel::Init_SetZListItems('details', array('ticket_id', 'contact_id', 'contact_email', 'role')); + MetaModel::Init_SetZListItems('advanced_search', array('ticket_id', 'contact_id', 'contact_email', 'role')); + MetaModel::Init_SetZListItems('standard_search', array('ticket_id', 'contact_id', 'contact_email', 'role')); + MetaModel::Init_SetZListItems('list', array('ticket_id', 'contact_id', 'contact_email', 'role')); } } class lnkTicketToCI extends cmdbAbstractObject @@ -218,6 +220,8 @@ abstract class ResponseTicket extends Ticket "attribute_inherit" => null, "attribute_list" => array( 'ref' => OPT_ATT_READONLY, + 'ticket_log' => OPT_ATT_HIDDEN, + 'description' => OPT_ATT_MUSTCHANGE, 'contact_list' => OPT_ATT_READONLY, 'start_date' => OPT_ATT_READONLY, 'last_update' => OPT_ATT_READONLY, @@ -234,8 +238,6 @@ abstract class ResponseTicket extends Ticket 'priority' => OPT_ATT_READONLY, 'workgroup_id' => OPT_ATT_MUSTCHANGE, 'agent_id' => OPT_ATT_HIDDEN, - 'related_problem_id' => OPT_ATT_HIDDEN, - 'related_change_id' => OPT_ATT_HIDDEN, 'resolution_code' => OPT_ATT_HIDDEN, 'solution' => OPT_ATT_HIDDEN, 'user_satisfaction' => OPT_ATT_HIDDEN, @@ -256,9 +258,9 @@ abstract class ResponseTicket extends Ticket array( "attribute_inherit" => 'new', "attribute_list" => array( + 'ticket_log' => OPT_ATT_NORMAL, + 'description' => OPT_ATT_READONLY, 'agent_id' => OPT_ATT_MANDATORY, - 'related_problem_id' => OPT_ATT_NORMAL, - 'related_change_id' => OPT_ATT_NORMAL, 'closure_deadline' => OPT_ATT_READONLY, 'escalation_deadline' => OPT_ATT_HIDDEN, ), @@ -287,6 +289,7 @@ abstract class ResponseTicket extends Ticket array( "attribute_inherit" => 'resolved', "attribute_list" => array( + 'ticket_log' => OPT_ATT_READONLY, 'user_satisfaction' => OPT_ATT_MUSTCHANGE, 'user_commment' => OPT_ATT_MUSTPROMPT, ),