add object group of CI

SVN:trunk[837]
This commit is contained in:
Erwan Taloc
2010-09-13 10:29:00 +00:00
parent 4997c2148b
commit 4f45baae9d
5 changed files with 269 additions and 10 deletions

View File

@@ -131,6 +131,60 @@ Dict::Add('EN US', 'English', 'English', array(
'Class:Location/Attribute:infra_list' => 'Infrastructure',
'Class:Location/Attribute:infra_list+' => 'CIs located on this site',
));
//
// Class: Group
//
Dict::Add('EN US', 'English', 'English', array(
'Class:Group' => 'Group',
'Class:Group+' => '',
'Class:Group/Attribute:name' => 'Name',
'Class:Group/Attribute:name+' => '',
'Class:Group/Attribute:status' => 'Status',
'Class:Group/Attribute:status+' => '',
'Class:Group/Attribute:status/Value:implementation' => 'Implementation',
'Class:Group/Attribute:status/Value:implementation+' => 'Implementation',
'Class:Group/Attribute:status/Value:obsolete' => 'Obsolete',
'Class:Group/Attribute:status/Value:obsolete+' => 'Obsolete',
'Class:Group/Attribute:status/Value:production' => 'Production',
'Class:Group/Attribute:status/Value:production+' => 'Production',
'Class:Group/Attribute:org_id' => 'Organization',
'Class:Group/Attribute:org_id+' => '',
'Class:Group/Attribute:owner_name' => 'Name',
'Class:Group/Attribute:owner_name+' => 'Common name',
'Class:Group/Attribute:description' => 'Description',
'Class:Group/Attribute:description+' => '',
'Class:Group/Attribute:type' => 'Type',
'Class:Group/Attribute:type+' => '',
'Class:Group/Attribute:parent_id' => 'Parent Group',
'Class:Group/Attribute:parent_id+' => '',
'Class:Group/Attribute:parent_name' => 'Name',
'Class:Group/Attribute:parent_name+' => '',
'Class:Group/Attribute:ci_list' => 'Linked CIs',
'Class:Group/Attribute:ci_list+' => '',
));
//
// Class: lnkGroupToCI
//
Dict::Add('EN US', 'English', 'English', array(
'Class:lnkGroupToCI' => 'Group / CI',
'Class:lnkGroupToCI+' => '',
'Class:lnkGroupToCI/Attribute:group_id' => 'Group',
'Class:lnkGroupToCI/Attribute:group_id+' => '',
'Class:lnkGroupToCI/Attribute:group_name' => 'Name',
'Class:lnkGroupToCI/Attribute:group_name+' => '',
'Class:lnkGroupToCI/Attribute:ci_id' => 'CI',
'Class:lnkGroupToCI/Attribute:ci_id+' => '',
'Class:lnkGroupToCI/Attribute:ci_name' => 'Name',
'Class:lnkGroupToCI/Attribute:ci_name+' => '',
'Class:lnkGroupToCI/Attribute:ci_status' => 'CI Status',
'Class:lnkGroupToCI/Attribute:ci_status+' => '',
'Class:lnkGroupToCI/Attribute:reason' => 'Reason',
'Class:lnkGroupToCI/Attribute:reason+' => '',
));
//
// Class: Contact
@@ -991,6 +1045,8 @@ Dict::Add('EN US', 'English', 'English', array(
'Menu:ConfigManagement:AllDevices' => 'Number of devices: %1$d',
'Menu:ConfigManagement:SWAndApps' => 'Software and Applications',
'Menu:ConfigManagement:Misc' => 'Miscellaneous',
'Menu:Group' => 'Groups of CIs',
'Menu:Group+' => 'Groups of CIs',
));
?>

View File

@@ -131,6 +131,59 @@ Dict::Add('ES CR', 'Spanish', 'Español, Castellano', array(
'Class:Location/Attribute:infra_list' => 'Infraestructura',
'Class:Location/Attribute:infra_list+' => 'Ítem Configurados (CI) ubicados en este sitio',
));
//
// Class: Group
//
Dict::Add('ES CR', 'Spanish', 'Español, Castellano', array(
'Class:Group' => 'Grupo',
'Class:Group+' => '',
'Class:Group/Attribute:name' => 'Nombre',
'Class:Group/Attribute:name+' => '',
'Class:Group/Attribute:status' => 'Estado',
'Class:Group/Attribute:status+' => '',
'Class:Group/Attribute:status/Value:implementation' => 'Implementación',
'Class:Group/Attribute:status/Value:implementation+' => 'Implementación',
'Class:Group/Attribute:status/Value:obsolete' => 'Obsoleto',
'Class:Group/Attribute:status/Value:obsolete+' => 'Obsoleto',
'Class:Group/Attribute:status/Value:production' => 'Producción',
'Class:Group/Attribute:status/Value:production+' => 'Producción',
'Class:Group/Attribute:org_id' => 'Organización propietaria',
'Class:Group/Attribute:org_id+' => '',
'Class:Group/Attribute:owner_name' => 'Nombre de la Organización propietaria',
'Class:Group/Attribute:owner_name+' => 'Organización propietaria',
'Class:Group/Attribute:description' => 'Descripción',
'Class:Group/Attribute:description+' => '',
'Class:Group/Attribute:type' => 'Tipo',
'Class:Group/Attribute:type+' => '',
'Class:Group/Attribute:parent_id' => 'Padre',
'Class:Group/Attribute:parent_id+' => '',
'Class:Group/Attribute:parent_name' => 'Grupo padre',
'Class:Group/Attribute:parent_name+' => '',
'Class:Group/Attribute:ci_list' => 'I.C.s',
'Class:Group/Attribute:ci_list+' => 'Ítems Configurados relacionados con el grupo',
));
//
// Class: lnkGroupToCI
//
Dict::Add('ES CR', 'Spanish', 'Español, Castellano', array(
'Class:lnkGroupToCI' => 'Grupo I.C',
'Class:lnkGroupToCI+' => '',
'Class:lnkGroupToCI/Attribute:group_id' => 'Grupo',
'Class:lnkGroupToCI/Attribute:group_id+' => '',
'Class:lnkGroupToCI/Attribute:group_name' => 'Nombre',
'Class:lnkGroupToCI/Attribute:group_name+' => '',
'Class:lnkGroupToCI/Attribute:ci_id' => 'I.C',
'Class:lnkGroupToCI/Attribute:ci_id+' => '',
'Class:lnkGroupToCI/Attribute:ci_name' => 'Nombre',
'Class:lnkGroupToCI/Attribute:ci_name+' => '',
'Class:lnkGroupToCI/Attribute:ci_status' => 'Estato',
'Class:lnkGroupToCI/Attribute:ci_status+' => '',
'Class:lnkGroupToCI/Attribute:reason' => 'Razón',
'Class:lnkGroupToCI/Attribute:reason+' => '',
));
//
// Class: Contact
@@ -960,5 +1013,7 @@ Dict::Add('ES CR', 'Spanish', 'Español, Castellano', array(
'Menu:MobilePhone+' => 'Todos los Teléfonos Celulares',
'Menu:PC' => 'PCs (Computadores de Personales',
'Menu:PC+' => 'Todos los PCs (Computadores de Personales',
'Menu:Group' => 'Grupos de ICs',
'Menu:Group+' => 'Grupos de ICs',
));
?>

View File

@@ -130,6 +130,59 @@ Dict::Add('FR FR', 'French', 'Français', array(
'Class:Location/Attribute:infra_list' => 'Infrastructure',
'Class:Location/Attribute:infra_list+' => 'Eléments d\'infrastructure situés sur ce lieu',
));
//
// Class: Group
//
Dict::Add('FR FR', 'French', 'Français', array(
'Class:Group' => 'Groupe',
'Class:Group+' => '',
'Class:Group/Attribute:name' => 'Nom',
'Class:Group/Attribute:name+' => '',
'Class:Group/Attribute:status' => 'Etat',
'Class:Group/Attribute:status+' => '',
'Class:Group/Attribute:status/Value:implementation' => 'Implémentation',
'Class:Group/Attribute:status/Value:implementation+' => 'Implémentation',
'Class:Group/Attribute:status/Value:obsolete' => 'Obsolète',
'Class:Group/Attribute:status/Value:obsolete+' => 'Obsolète',
'Class:Group/Attribute:status/Value:production' => 'Production',
'Class:Group/Attribute:status/Value:production+' => 'Production',
'Class:Group/Attribute:org_id' => 'Organization',
'Class:Group/Attribute:org_id+' => '',
'Class:Group/Attribute:owner_name' => 'Nom',
'Class:Group/Attribute:owner_name+' => 'Nom commun',
'Class:Group/Attribute:description' => 'Description',
'Class:Group/Attribute:description+' => '',
'Class:Group/Attribute:type' => 'Type',
'Class:Group/Attribute:type+' => '',
'Class:Group/Attribute:parent_id' => 'Group parent',
'Class:Group/Attribute:parent_id+' => '',
'Class:Group/Attribute:parent_name' => 'Nom',
'Class:Group/Attribute:parent_name+' => '',
'Class:Group/Attribute:ci_list' => 'CIs lié',
'Class:Group/Attribute:ci_list+' => '',
));
//
// Class: lnkGroupToCI
//
Dict::Add('FR FR', 'French', 'Français', array(
'Class:lnkGroupToCI' => 'Groupe / CI',
'Class:lnkGroupToCI+' => '',
'Class:lnkGroupToCI/Attribute:group_id' => 'Groupe',
'Class:lnkGroupToCI/Attribute:group_id+' => '',
'Class:lnkGroupToCI/Attribute:group_name' => 'Nom',
'Class:lnkGroupToCI/Attribute:group_name+' => '',
'Class:lnkGroupToCI/Attribute:ci_id' => 'CI',
'Class:lnkGroupToCI/Attribute:ci_id+' => '',
'Class:lnkGroupToCI/Attribute:ci_name' => 'Nom',
'Class:lnkGroupToCI/Attribute:ci_name+' => '',
'Class:lnkGroupToCI/Attribute:ci_status' => 'Etat du CI',
'Class:lnkGroupToCI/Attribute:ci_status+' => '',
'Class:lnkGroupToCI/Attribute:reason' => 'Raison',
'Class:lnkGroupToCI/Attribute:reason+' => '',
));
//
// Class: Contact
@@ -964,5 +1017,7 @@ Dict::Add('FR FR', 'French', 'Français', array(
'Menu:ConfigManagement:AllDevices' => 'Nombre d\'équipements: %1$d',
'Menu:ConfigManagement:SWAndApps' => 'Logiciels et Applications',
'Menu:ConfigManagement:Misc' => 'Divers',
'Menu:Group' => 'Groupes de CIs',
'Menu:Group+' => 'Groupes de CIs',
));
?>

View File

@@ -273,7 +273,7 @@ abstract class Document extends cmdbAbstractObject
MetaModel::Init_SetZListItems('details', array('name', 'org_id', 'description', 'type', 'status', 'contract_list', 'service_list', 'ticket_list', 'ci_list'));
MetaModel::Init_SetZListItems('advanced_search', array('name', 'org_id', 'description', 'type', 'status'));
MetaModel::Init_SetZListItems('standard_search', array('name', 'org_id', 'description', 'type', 'status'));
MetaModel::Init_SetZListItems('list', array('name', 'org_id', 'type', 'status'));
MetaModel::Init_SetZListItems('list', array('org_id', 'type', 'status'));
}
}
class WebDoc extends Document
@@ -301,7 +301,7 @@ class WebDoc extends Document
MetaModel::Init_SetZListItems('details', array('name', 'org_id', 'description', 'type', 'status', 'contract_list', 'service_list', 'ticket_list', 'ci_list', 'url'));
MetaModel::Init_SetZListItems('advanced_search', array('name', 'org_id', 'description', 'type', 'status', 'url'));
MetaModel::Init_SetZListItems('standard_search', array('name', 'org_id', 'description', 'type', 'status', 'url'));
MetaModel::Init_SetZListItems('list', array('name', 'org_id', 'type', 'status', 'url'));
MetaModel::Init_SetZListItems('list', array('org_id', 'type', 'status', 'url'));
}
}
class Note extends Document
@@ -329,7 +329,7 @@ class Note extends Document
MetaModel::Init_SetZListItems('details', array('name', 'org_id', 'description', 'type', 'status', 'contract_list', 'service_list', 'ticket_list', 'ci_list', 'note'));
MetaModel::Init_SetZListItems('advanced_search', array('name', 'org_id', 'description', 'type', 'status', 'note'));
MetaModel::Init_SetZListItems('standard_search', array('name', 'org_id', 'description', 'type', 'status', 'note'));
MetaModel::Init_SetZListItems('list', array('name', 'org_id', 'type', 'status', 'note'));
MetaModel::Init_SetZListItems('list', array('org_id', 'type', 'status', 'note'));
}
}
class FileDoc extends Document
@@ -357,7 +357,7 @@ class FileDoc extends Document
MetaModel::Init_SetZListItems('details', array('name', 'org_id', 'description', 'type', 'status', 'contract_list', 'service_list', 'ticket_list', 'ci_list', 'contents'));
MetaModel::Init_SetZListItems('advanced_search', array('name', 'org_id', 'description', 'type', 'status'));
MetaModel::Init_SetZListItems('standard_search', array('name', 'org_id', 'description', 'type', 'status'));
MetaModel::Init_SetZListItems('list', array('name', 'org_id', 'type', 'status', 'contents'));
MetaModel::Init_SetZListItems('list', array('org_id', 'type', 'status', 'contents'));
}
/**
@@ -876,6 +876,75 @@ class DatabaseInstance extends FunctionalCI
}
}
}
class Group extends cmdbAbstractObject
{
public static function Init()
{
$aParams = array
(
"category" => "bizmodel,searchable,configmgmt",
"key_type" => "autoincrement",
"name_attcode" => "name",
"state_attcode" => "",
"reconc_keys" => array("name","org_id","owner_name"),
"db_table" => "group",
"db_key_field" => "id",
"db_finalclass_field" => "",
"icon" => "../modules/itop-config-mgmt-1.0.0/images/solution.png",
);
MetaModel::Init_Params($aParams);
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 AttributeEnum("status", array("allowed_values"=>new ValueSetEnum('production,implementation,obsolete'), "sql"=>"status", "default_value"=>"implementation", "is_null_allowed"=>false, "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 AttributeWikiText("description", array("allowed_values"=>null, "sql"=>"description", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeString("type", array("allowed_values"=>null, "sql"=>"type", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeExternalKey("parent_id", array("targetclass"=>"Group", "jointype"=>null, "allowed_values"=>null, "sql"=>"parent_id", "is_null_allowed"=>true, "on_target_delete"=>DEL_MANUAL, "depends_on"=>array("org_id"))));
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_AddAttribute(new AttributeLinkedSetIndirect("ci_list", array("linked_class"=>"lnkGroupToCI", "ext_key_to_me"=>"group_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', 'status', 'org_id', 'type','description', 'parent_id', 'ci_list'));
MetaModel::Init_SetZListItems('advanced_search', array('name', 'status', 'org_id', 'type'));
MetaModel::Init_SetZListItems('standard_search', array('name', 'status', 'org_id', 'type'));
MetaModel::Init_SetZListItems('list', array('status', 'org_id', 'type','parent_id'));
}
}
class lnkGroupToCI extends cmdbAbstractObject
{
public static function Init()
{
$aParams = array
(
"category" => "bizmodel,configmgmt",
"key_type" => "autoincrement",
"name_attcode" => "group_id",
"state_attcode" => "",
"reconc_keys" => array("group_id","ci_id"),
"db_table" => "lnkgrouptoci",
"db_key_field" => "id",
"db_finalclass_field" => "",
"display_template" => "",
);
MetaModel::Init_Params($aParams);
MetaModel::Init_InheritAttributes();
MetaModel::Init_AddAttribute(new AttributeExternalKey("group_id", array("targetclass"=>"Group", "jointype"=>null, "allowed_values"=>null, "sql"=>"group_id", "is_null_allowed"=>false, "on_target_delete"=>DEL_MANUAL, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeExternalField("group_name", array("allowed_values"=>null, "extkey_attcode"=>"group_id", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeExternalKey("ci_id", array("targetclass"=>"FunctionalCI", "jointype"=>null, "allowed_values"=>null, "sql"=>"ci_id", "is_null_allowed"=>false, "on_target_delete"=>DEL_MANUAL, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeExternalField("ci_name", array("allowed_values"=>null, "extkey_attcode"=>"ci_id", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeExternalField("ci_status", array("allowed_values"=>null, "extkey_attcode"=>"ci_id", "target_attcode"=>"status", "is_null_allowed"=>true, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeString("reason", array("allowed_values"=>null, "sql"=>"reason", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array())));
MetaModel::Init_SetZListItems('details', array('group_id', 'ci_id', 'ci_status', 'reason'));
MetaModel::Init_SetZListItems('advanced_search', array('group_id', 'ci_id', 'reason'));
MetaModel::Init_SetZListItems('standard_search', array('group_id', 'ci_id', 'reason'));
MetaModel::Init_SetZListItems('list', array('group_id', 'ci_id', 'ci_status', 'reason'));
}
}
class ApplicationSolution extends FunctionalCI
{
@@ -1291,7 +1360,7 @@ abstract class InfrastructureCI extends Device
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', 'contact_list', 'document_list', 'solution_list', 'contract_list', 'ticket_list', 'nwinterface_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'));
MetaModel::Init_SetZListItems('standard_search', array('name', 'status', 'org_id', 'importance', 'brand', 'model', 'serial_number', 'asset_ref','location_id','management_ip', 'default_gateway'));
MetaModel::Init_SetZListItems('list', array('name', 'status', 'org_id', 'importance', 'brand', 'model', 'location_id'));
MetaModel::Init_SetZListItems('list', array('status', 'org_id', 'importance', 'brand', 'model', 'location_id'));
}
}
class NetworkDevice extends InfrastructureCI
@@ -1563,9 +1632,10 @@ new OQLMenuNode('Team', 'SELECT Team', $oContactNode->GetIndex(), 4 /* fRank */)
new OQLMenuNode('Document', 'SELECT Document', $oConfigManagementGroup->GetIndex(), 2 /* fRank */, true /* bSearch */);
new OQLMenuNode('Location', 'SELECT Location', $oConfigManagementGroup->GetIndex(), 3 /* fRank */, true /* bSearch */);
new OQLMenuNode('Group', 'SELECT Group', $oConfigManagementGroup->GetIndex(), 4 /* fRank */, true /* bSearch */);
$oCINode = new TemplateMenuNode('ConfigManagementCI', '../modules/itop-config-mgmt-1.0.0/cis_menu.html', $oConfigManagementGroup->GetIndex(), 4 /* fRank */);
$oCINode = new TemplateMenuNode('ConfigManagementCI', '../modules/itop-config-mgmt-1.0.0/cis_menu.html', $oConfigManagementGroup->GetIndex(), 5 /* fRank */);
new NewObjectMenuNode('NewCI', 'FunctionalCI', $oCINode->GetIndex(), 0 /* fRank */);
new SearchMenuNode('SearchCIs', 'FunctionalCI', $oCINode->GetIndex(), 1 /* fRank */);

View File

@@ -8,18 +8,41 @@ $sStyle = "
padding:1.5em;
";
echo "<div style=\"$sStyle\">\n";
echo "<h2>Shortcuts</h2>\n";
echo "<a href=\"./pages/UI.php\">Main page</a></br>\n";
echo "<a href=\"./pages/csvimport.php\">CSV import (shortcut)</a></br>\n";
echo "<a href=\"./pages/UniversalSearch.php\">Universal search (shortcut)</a></br>\n";
echo "<h2>Itop customization</h2>\n";
echo "Please contact the iTop support team</br>\n";
echo "<h2>Itop consultant</h2>\n";
echo "<a href=\"./pages/ITopConsultant.php?config=..%2Fconfig-itop.php\">Check model, Create DB, Update DB (new class, new attribute)</a></br>\n";
echo "<a href=\"./pages/db_importer.php\">Backup and restore (shortcut)</a></br>\n";
echo "<a href=\"./pages/schema.php\">Objects schema (shortcut)</a></br>\n";
echo "<a href=\"./setup/email.test.php\">Setup the email</a></br>\n";
echo "<a href=\"./setup/benchmark.php\">Generate data for benchmarking purposes</a></br>\n";
echo "<h2>Web services</h2>\n";
echo "<a href=\"./webservices/soapserver.php\">Available functions</a></br>\n";
echo "<a href=\"./webservices/itop.wsdl.php\">WSDL (dynamically generated)</a></br>\n";
echo "<a href=\"./webservices/check_sla_for_tickets.php\">Check SLA for tickets</a></br>\n";
echo "<h2>Not working or deprecated</h2>\n";
echo "<a href=\"./pages/data_generator.php\">Data generator</a></br>\n";
echo "<a href=\"./pages/advanced_search.php\">ITop finder</a></br>\n";
echo "<a href=\"./pages/index.php\">navITop</a></br>\n";
echo "<a href=\"./pages/ajax.php\">@ITop</a></br>\n";
echo "</div>\n";
echo "<h1>phpMyORM</h1>";
$sStyle = "
border: 1px dashed #CCC;
background: #CFC;
padding:1.5em;
";
echo "<div style=\"$sStyle\">\n";
echo "<a href=\"./pages/ITopConsultant.php\">Manage configurations</a></br>\n";
echo "<a href=\"./pages/test.php\">Core unit tests</a></br>\n";
echo "</div>\n";
echo "<h1>phpinfo()</h1>";