public static function Init()
 {
     $aParams = array('category' => 'bizmodel,configmgmt', 'key_type' => 'autoincrement', 'is_link' => true, 'name_attcode' => 'volume_id', 'state_attcode' => '', 'reconc_keys' => array(''), 'db_table' => 'lnkvirtualdevicetovolume', 'db_key_field' => 'id', 'db_finalclass_field' => '');
     MetaModel::Init_Params($aParams);
     MetaModel::Init_InheritAttributes();
     MetaModel::Init_AddAttribute(new AttributeExternalKey("volume_id", array("targetclass" => 'LogicalVolume', "allowed_values" => null, "sql" => 'volume_id', "is_null_allowed" => false, "on_target_delete" => DEL_AUTO, "depends_on" => array(), "display_style" => 'select', "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeExternalField("volume_name", array("allowed_values" => null, "extkey_attcode" => 'volume_id', "target_attcode" => 'name', "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeExternalKey("virtualdevice_id", array("targetclass" => 'VirtualDevice', "allowed_values" => null, "sql" => 'virtualdevice_id', "is_null_allowed" => false, "on_target_delete" => DEL_AUTO, "depends_on" => array(), "display_style" => 'select', "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeExternalField("virtualdevice_name", array("allowed_values" => null, "extkey_attcode" => 'virtualdevice_id', "target_attcode" => 'name', "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeString("size_used", array("allowed_values" => null, "sql" => 'size_used', "default_value" => '', "is_null_allowed" => true, "depends_on" => array(), "always_load_in_tables" => false)));
     MetaModel::Init_SetZListItems('details', array(0 => 'volume_id', 1 => 'virtualdevice_id', 2 => 'size_used'));
     MetaModel::Init_SetZListItems('standard_search', array(0 => 'volume_id', 1 => 'virtualdevice_id'));
     MetaModel::Init_SetZListItems('list', array(0 => 'volume_id', 1 => 'virtualdevice_id', 2 => 'size_used'));
 }
 public static function Init()
 {
     $aParams = array('category' => 'addon,bizmodel', 'key_type' => 'autoincrement', 'name_attcode' => array('item_class', 'temp_id'), 'state_attcode' => '', 'reconc_keys' => array(''), 'db_table' => 'attachment', 'db_key_field' => 'id', 'db_finalclass_field' => '', 'indexes' => array(1 => array(0 => 'temp_id'), 2 => array(0 => 'item_class', 1 => 'item_id'), 3 => array(0 => 'item_org_id')));
     MetaModel::Init_Params($aParams);
     MetaModel::Init_InheritAttributes();
     MetaModel::Init_AddAttribute(new AttributeDateTime("expire", array("allowed_values" => null, "sql" => 'expire', "default_value" => '', "is_null_allowed" => false, "depends_on" => array(), "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeString("temp_id", array("allowed_values" => null, "sql" => 'temp_id', "default_value" => '', "is_null_allowed" => true, "depends_on" => array(), "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeString("item_class", array("allowed_values" => null, "sql" => 'item_class', "default_value" => '', "is_null_allowed" => false, "depends_on" => array(), "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeObjectKey("item_id", array("class_attcode" => 'item_class', "allowed_values" => null, "sql" => 'item_id', "is_null_allowed" => true, "depends_on" => array(), "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeInteger("item_org_id", array("allowed_values" => null, "sql" => 'item_org_id', "default_value" => '0', "is_null_allowed" => true, "depends_on" => array(), "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeBlob("contents", array("is_null_allowed" => false, "depends_on" => array(), "always_load_in_tables" => false)));
     MetaModel::Init_SetZListItems('details', array(0 => 'temp_id', 1 => 'item_class', 2 => 'item_id', 3 => 'item_org_id'));
     MetaModel::Init_SetZListItems('standard_search', array(0 => 'temp_id', 1 => 'item_class', 2 => 'item_id'));
     MetaModel::Init_SetZListItems('list', array(0 => 'temp_id', 1 => 'item_class', 2 => 'item_id'));
 }
 public static function Init()
 {
     $aParams = array('category' => 'application', 'key_type' => 'autoincrement', 'name_attcode' => array('obj_class', 'obj_key'), 'state_attcode' => '', 'reconc_keys' => array(''), 'db_table' => 'priv_ownership_token', 'db_key_field' => 'id', 'db_finalclass_field' => '');
     MetaModel::Init_Params($aParams);
     MetaModel::Init_InheritAttributes();
     MetaModel::Init_AddAttribute(new AttributeDateTime("acquired", array("allowed_values" => null, "sql" => 'acquired', "default_value" => '', "is_null_allowed" => false, "depends_on" => array())));
     MetaModel::Init_AddAttribute(new AttributeDateTime("last_seen", array("allowed_values" => null, "sql" => 'last_seen', "default_value" => '', "is_null_allowed" => false, "depends_on" => array())));
     MetaModel::Init_AddAttribute(new AttributeString("obj_class", array("allowed_values" => null, "sql" => 'obj_class', "default_value" => '', "is_null_allowed" => false, "depends_on" => array())));
     MetaModel::Init_AddAttribute(new AttributeInteger("obj_key", array("allowed_values" => null, "sql" => 'obj_key', "default_value" => '', "is_null_allowed" => true, "depends_on" => array())));
     MetaModel::Init_AddAttribute(new AttributeString("token", array("allowed_values" => null, "sql" => 'token', "default_value" => '', "is_null_allowed" => true, "depends_on" => array())));
     MetaModel::Init_AddAttribute(new AttributeExternalKey("user_id", array("targetclass" => "User", "jointype" => '', "allowed_values" => null, "sql" => "user_id", "is_null_allowed" => true, "on_target_delete" => DEL_SILENT, "depends_on" => array())));
     MetaModel::Init_SetZListItems('details', array('obj_class', 'obj_key', 'last_seen', 'token'));
     MetaModel::Init_SetZListItems('standard_search', array('obj_class', 'obj_key', 'last_seen', 'token'));
     MetaModel::Init_SetZListItems('list', array('obj_class', 'obj_key', 'last_seen', 'token'));
 }
 public static function Init()
 {
     $aParams = array("category" => "addon/authentication", "key_type" => "autoincrement", "name_attcode" => "login", "state_attcode" => "", "reconc_keys" => array('login'), "db_table" => "", "db_key_field" => "id", "db_finalclass_field" => "", "display_template" => "");
     MetaModel::Init_Params($aParams);
     MetaModel::Init_InheritAttributes();
     // Display lists
     MetaModel::Init_SetZListItems('details', array('contactid', 'first_name', 'email', 'login', 'language', 'profile_list', 'allowed_org_list'));
     // Attributes to be displayed for the complete details
     MetaModel::Init_SetZListItems('list', array('first_name', 'last_name', 'login'));
     // Attributes to be displayed for a list
     // Search criteria
     MetaModel::Init_SetZListItems('standard_search', array('login', 'contactid'));
     // Criteria of the std search form
     MetaModel::Init_SetZListItems('advanced_search', array('login', 'contactid'));
     // Criteria of the advanced search form
 }
 public static function Init()
 {
     $aParams = array("category" => "core/cmdb,view_in_gui,application", "key_type" => "autoincrement", "name_attcode" => "name", "state_attcode" => "", "reconc_keys" => array(), "db_table" => "priv_query_oql", "db_key_field" => "id", "db_finalclass_field" => "", "display_template" => "");
     MetaModel::Init_Params($aParams);
     MetaModel::Init_InheritAttributes();
     MetaModel::Init_AddAttribute(new AttributeOQL("oql", array("allowed_values" => null, "sql" => "oql", "default_value" => null, "is_null_allowed" => false, "depends_on" => array())));
     // Display lists
     MetaModel::Init_SetZListItems('details', array('name', 'description', 'oql', 'fields'));
     // Attributes to be displayed for the complete details
     MetaModel::Init_SetZListItems('list', array('description'));
     // Attributes to be displayed for a list
     // Search criteria
     MetaModel::Init_SetZListItems('standard_search', array('name', 'description', 'fields', 'oql'));
     // Criteria of the std search form
     //		MetaModel::Init_SetZListItems('advanced_search', array('name')); // Criteria of the advanced search form
 }
 public static function Init()
 {
     $aParams = array('category' => 'bizmodel,searchable,changemgmt', 'key_type' => 'autoincrement', 'name_attcode' => 'ref', 'state_attcode' => 'status', 'reconc_keys' => array('ref'), 'db_table' => 'ticket_change', 'db_key_field' => 'id', 'db_finalclass_field' => '', 'icon' => utils::GetAbsoluteUrlModulesRoot() . 'itop-change-mgmt/images/change.png', 'order_by_default' => array('ref' => false));
     MetaModel::Init_Params($aParams);
     MetaModel::Init_InheritAttributes();
     MetaModel::Init_AddAttribute(new AttributeEnum("status", array("allowed_values" => new ValueSetEnum("new,assigned,planned,approved,closed,rejected"), "display_style" => 'list', "sql" => 'status', "default_value" => 'new', "is_null_allowed" => true, "depends_on" => array(), "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeEnum("category", array("allowed_values" => new ValueSetEnum("hardware,software,system,network,application,other"), "display_style" => 'list', "sql" => 'category', "default_value" => 'hardware', "is_null_allowed" => true, "depends_on" => array(), "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeText("reject_reason", array("allowed_values" => null, "sql" => 'reject_reason', "default_value" => '', "is_null_allowed" => true, "depends_on" => array(), "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeExternalKey("changemanager_id", array("targetclass" => 'Person', "allowed_values" => null, "sql" => 'changemanager_id', "is_null_allowed" => true, "on_target_delete" => DEL_MANUAL, "depends_on" => array(), "display_style" => 'select', "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeExternalField("changemanager_email", array("allowed_values" => null, "extkey_attcode" => 'changemanager_id', "target_attcode" => 'email', "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeExternalKey("parent_id", array("targetclass" => 'Change', "allowed_values" => new ValueSetObjects("SELECT Change WHERE id != :this->id"), "sql" => 'parent_id', "is_null_allowed" => true, "on_target_delete" => DEL_MANUAL, "depends_on" => array(), "display_style" => 'select', "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeExternalField("parent_name", array("allowed_values" => null, "extkey_attcode" => 'parent_id', "target_attcode" => 'ref', "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeDateTime("creation_date", array("allowed_values" => null, "sql" => 'creation_date', "default_value" => '', "is_null_allowed" => true, "depends_on" => array(), "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeDateTime("approval_date", array("allowed_values" => null, "sql" => 'approval_date', "default_value" => '', "is_null_allowed" => true, "depends_on" => array(), "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeText("fallback_plan", array("allowed_values" => null, "sql" => 'fallback_plan', "default_value" => '', "is_null_allowed" => true, "depends_on" => array(), "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeEnum("outage", array("allowed_values" => new ValueSetEnum("yes,no"), "display_style" => 'list', "sql" => 'outage', "default_value" => 'no', "is_null_allowed" => false, "depends_on" => array(), "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeLinkedSet("related_request_list", array("linked_class" => 'UserRequest', "ext_key_to_me" => 'parent_change_id', "count_min" => 0, "count_max" => 0, "edit_mode" => LINKSET_EDITMODE_ADDREMOVE, "allowed_values" => null, "depends_on" => array(), "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeLinkedSet("related_incident_list", array("linked_class" => 'Incident', "ext_key_to_me" => 'parent_change_id', "count_min" => 0, "count_max" => 0, "edit_mode" => LINKSET_EDITMODE_ADDREMOVE, "allowed_values" => null, "depends_on" => array(), "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeLinkedSet("related_problems_list", array("linked_class" => 'Problem', "ext_key_to_me" => 'related_change_id', "count_min" => 0, "count_max" => 0, "edit_mode" => LINKSET_EDITMODE_ADDREMOVE, "allowed_values" => null, "depends_on" => array(), "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeLinkedSet("child_changes_list", array("linked_class" => 'Change', "ext_key_to_me" => 'parent_id', "count_min" => 0, "count_max" => 0, "edit_mode" => LINKSET_EDITMODE_ADDREMOVE, "allowed_values" => new ValueSetObjects("SELECT Change WHERE id != :this->id"), "depends_on" => array(), "always_load_in_tables" => false)));
     // Lifecycle (status attribute: status)
     //
     MetaModel::Init_DefineStimulus(new StimulusUserAction("ev_assign", array()));
     MetaModel::Init_DefineStimulus(new StimulusUserAction("ev_plan", array()));
     MetaModel::Init_DefineStimulus(new StimulusUserAction("ev_reject", array()));
     MetaModel::Init_DefineStimulus(new StimulusUserAction("ev_reopen", array()));
     MetaModel::Init_DefineStimulus(new StimulusUserAction("ev_approve", array()));
     MetaModel::Init_DefineStimulus(new StimulusUserAction("ev_finish", array()));
     MetaModel::Init_DefineState("new", array("attribute_inherit" => '', "attribute_list" => array('ref' => OPT_ATT_READONLY, 'org_id' => OPT_ATT_MANDATORY, 'title' => OPT_ATT_MANDATORY, 'description' => OPT_ATT_MANDATORY, 'last_update' => OPT_ATT_READONLY, 'close_date' => OPT_ATT_HIDDEN, 'reject_reason' => OPT_ATT_HIDDEN, 'creation_date' => OPT_ATT_READONLY, 'approval_date' => OPT_ATT_HIDDEN, 'caller_id' => OPT_ATT_MANDATORY, 'team_id' => OPT_ATT_HIDDEN, 'agent_id' => OPT_ATT_HIDDEN, 'changemanager_id' => OPT_ATT_HIDDEN, 'outage' => OPT_ATT_HIDDEN)));
     MetaModel::Init_DefineTransition("new", "ev_assign", array("target_state" => "assigned", "actions" => array(), "user_restriction" => null));
     MetaModel::Init_DefineState("assigned", array("attribute_inherit" => 'new', "attribute_list" => array('team_id' => OPT_ATT_MANDATORY | OPT_ATT_MUSTPROMPT, 'agent_id' => OPT_ATT_MANDATORY | OPT_ATT_MUSTPROMPT, 'changemanager_id' => OPT_ATT_MANDATORY | OPT_ATT_MUSTPROMPT, 'caller_id' => OPT_ATT_NORMAL)));
     MetaModel::Init_DefineTransition("assigned", "ev_plan", array("target_state" => "planned", "actions" => array(), "user_restriction" => null));
     MetaModel::Init_DefineState("planned", array("attribute_inherit" => 'assigned', "attribute_list" => array('start_date' => OPT_ATT_MANDATORY | OPT_ATT_MUSTPROMPT, 'end_date' => OPT_ATT_MANDATORY | OPT_ATT_MUSTPROMPT, 'fallback_plan' => OPT_ATT_MANDATORY | OPT_ATT_MUSTPROMPT, 'caller_id' => OPT_ATT_MANDATORY, 'outage' => OPT_ATT_MANDATORY | OPT_ATT_MUSTPROMPT)));
     MetaModel::Init_DefineTransition("planned", "ev_reject", array("target_state" => "rejected", "actions" => array(), "user_restriction" => null));
     MetaModel::Init_DefineTransition("planned", "ev_approve", array("target_state" => "approved", "actions" => array(array('verb' => 'SetCurrentDate', 'params' => array(array('type' => 'attcode', 'value' => "approval_date"))), array('verb' => 'Reset', 'params' => array(array('type' => 'attcode', 'value' => "reject_reason")))), "user_restriction" => null));
     MetaModel::Init_DefineState("rejected", array("attribute_inherit" => 'assigned', 'highlight' => array('code' => 'rejected'), "attribute_list" => array('start_date' => OPT_ATT_READONLY, 'end_date' => OPT_ATT_READONLY, 'private_log' => OPT_ATT_READONLY, 'caller_id' => OPT_ATT_READONLY, 'fallback_plan' => OPT_ATT_READONLY, 'category' => OPT_ATT_READONLY, 'parent_id' => OPT_ATT_READONLY, 'org_id' => OPT_ATT_READONLY, 'title' => OPT_ATT_READONLY, 'description' => OPT_ATT_READONLY, 'reject_reason' => OPT_ATT_MANDATORY | OPT_ATT_MUSTPROMPT, 'approval_date' => OPT_ATT_READONLY, 'team_id' => OPT_ATT_READONLY, 'agent_id' => OPT_ATT_READONLY, 'changemanager_id' => OPT_ATT_READONLY, 'outage' => OPT_ATT_READONLY)));
     MetaModel::Init_DefineTransition("rejected", "ev_reopen", array("target_state" => "assigned", "actions" => array(), "user_restriction" => null));
     MetaModel::Init_DefineState("approved", array("attribute_inherit" => 'planned', 'highlight' => array('code' => 'approved'), "attribute_list" => array('private_log' => OPT_ATT_NORMAL, 'category' => OPT_ATT_NORMAL, 'parent_id' => OPT_ATT_NORMAL, 'org_id' => OPT_ATT_READONLY, 'title' => OPT_ATT_READONLY, 'description' => OPT_ATT_READONLY, 'start_date' => OPT_ATT_READONLY, 'end_date' => OPT_ATT_READONLY, 'reject_reason' => OPT_ATT_READONLY, 'creation_date' => OPT_ATT_HIDDEN, 'approval_date' => OPT_ATT_READONLY, 'caller_id' => OPT_ATT_READONLY, 'team_id' => OPT_ATT_READONLY, 'agent_id' => OPT_ATT_READONLY, 'changemanager_id' => OPT_ATT_READONLY, 'fallback_plan' => OPT_ATT_NORMAL, 'outage' => OPT_ATT_READONLY)));
     MetaModel::Init_DefineTransition("approved", "ev_finish", array("target_state" => "closed", "actions" => array(array('verb' => 'SetCurrentDate', 'params' => array(array('type' => 'attcode', 'value' => "close_date")))), "user_restriction" => null));
     MetaModel::Init_DefineState("closed", array("attribute_inherit" => 'approved', 'highlight' => array('code' => 'closed'), "attribute_list" => array('close_date' => OPT_ATT_READONLY, 'creation_date' => OPT_ATT_READONLY, 'private_log' => OPT_ATT_READONLY, 'fallback_plan' => OPT_ATT_READONLY, 'category' => OPT_ATT_READONLY, 'parent_id' => OPT_ATT_READONLY)));
     // Higlight Scale
     MetaModel::Init_DefineHighlightScale(array('approved' => array('rank' => 1, 'color' => HILIGHT_CLASS_NONE, 'icon' => utils::GetAbsoluteUrlModulesRoot() . 'itop-change-mgmt/images/change-approved.png'), 'rejected' => array('rank' => 2, 'color' => HILIGHT_CLASS_NONE, 'icon' => utils::GetAbsoluteUrlModulesRoot() . 'itop-change-mgmt/images/change-rejected.png'), 'closed' => array('rank' => 3, 'color' => HILIGHT_CLASS_NONE, 'icon' => utils::GetAbsoluteUrlModulesRoot() . 'itop-change-mgmt/images/change-closed.png')));
     MetaModel::Init_SetZListItems('details', array(0 => 'functionalcis_list', 1 => 'contacts_list', 2 => 'workorders_list', 3 => 'related_request_list', 4 => 'related_incident_list', 5 => 'related_problems_list', 6 => 'child_changes_list', 'col:col1' => array('fieldset:Ticket:baseinfo' => array(0 => 'ref', 1 => 'org_id', 2 => 'status', 3 => 'title', 4 => 'description'), 'fieldset:Ticket:contact' => array(0 => 'caller_id', 1 => 'team_id', 2 => 'agent_id', 3 => 'changemanager_id')), 'col:col2' => array('fieldset:Ticket:resolution' => array(0 => 'category', 1 => 'outage', 2 => 'reject_reason', 3 => 'fallback_plan'), 'fieldset:Ticket:relation' => array(0 => 'parent_id')), 'col:col3' => array('fieldset:Ticket:date' => array(0 => 'creation_date', 1 => 'start_date', 2 => 'end_date', 3 => 'last_update', 4 => 'approval_date', 5 => 'close_date'))));
     MetaModel::Init_SetZListItems('standard_search', array(0 => 'ref', 1 => 'title', 2 => 'org_id', 3 => 'status', 4 => 'start_date', 5 => 'end_date', 6 => 'creation_date', 7 => 'last_update', 8 => 'close_date', 9 => 'team_id', 10 => 'agent_id', 11 => 'changemanager_id'));
     MetaModel::Init_SetZListItems('list', array(0 => 'title', 1 => 'org_id', 2 => 'start_date', 3 => 'end_date', 4 => 'status', 5 => 'category', 6 => 'agent_id'));
 }
 public static function Init()
 {
     $aParams = array("category" => "addon/authentication", "key_type" => "autoincrement", "name_attcode" => "login", "state_attcode" => "", "reconc_keys" => array('login'), "db_table" => "priv_user_local", "db_key_field" => "id", "db_finalclass_field" => "", "display_template" => "");
     MetaModel::Init_Params($aParams);
     MetaModel::Init_InheritAttributes();
     MetaModel::Init_AddAttribute(new AttributeOneWayPassword("password", array("allowed_values" => null, "sql" => "pwd", "default_value" => null, "is_null_allowed" => false, "depends_on" => array())));
     // Display lists
     MetaModel::Init_SetZListItems('details', array('contactid', 'first_name', 'email', 'login', 'password', 'language', 'profile_list', 'allowed_org_list'));
     // Attributes to be displayed for the complete details
     MetaModel::Init_SetZListItems('list', array('first_name', 'last_name', 'login'));
     // Attributes to be displayed for a list
     // Search criteria
     MetaModel::Init_SetZListItems('standard_search', array('login', 'contactid'));
     // Criteria of the std search form
     MetaModel::Init_SetZListItems('advanced_search', array('login', 'contactid'));
     // Criteria of the advanced search form
 }
 public static function Init()
 {
     $aParams = array('category' => 'bizmodel,searchable,problemmgmt', 'key_type' => 'autoincrement', 'name_attcode' => 'ref', 'state_attcode' => 'status', 'reconc_keys' => array('ref'), 'db_table' => 'ticket_problem', 'db_key_field' => 'id', 'db_finalclass_field' => '', 'icon' => utils::GetAbsoluteUrlModulesRoot() . 'itop-problem-mgmt/images/problem.png', 'order_by_default' => array('ref' => false));
     MetaModel::Init_Params($aParams);
     MetaModel::Init_InheritAttributes();
     MetaModel::Init_AddAttribute(new AttributeEnum("status", array("allowed_values" => new ValueSetEnum("new,assigned,resolved,closed"), "display_style" => 'list', "sql" => 'status', "default_value" => 'new', "is_null_allowed" => false, "depends_on" => array(), "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeExternalKey("service_id", array("targetclass" => 'Service', "allowed_values" => new ValueSetObjects("SELECT Service"), "sql" => 'service_id', "is_null_allowed" => true, "on_target_delete" => DEL_MANUAL, "depends_on" => array('org_id'), "allow_target_creation" => false, "display_style" => 'select', "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeExternalField("service_name", array("allowed_values" => null, "extkey_attcode" => 'service_id', "target_attcode" => 'name', "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeExternalKey("servicesubcategory_id", array("targetclass" => 'ServiceSubcategory', "allowed_values" => new ValueSetObjects("SELECT ServiceSubcategory WHERE service_id = :this->service_id"), "sql" => 'servicesubcategory_id', "is_null_allowed" => true, "on_target_delete" => DEL_MANUAL, "depends_on" => array('service_id'), "allow_target_creation" => false, "display_style" => 'select', "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeExternalField("servicesubcategory_name", array("allowed_values" => null, "extkey_attcode" => 'servicesubcategory_id', "target_attcode" => 'name', "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeString("product", array("allowed_values" => null, "sql" => 'product', "default_value" => '', "is_null_allowed" => true, "depends_on" => array(), "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeEnum("impact", array("allowed_values" => new ValueSetEnum("1,2,3"), "display_style" => 'list', "sql" => 'impact', "default_value" => '1', "is_null_allowed" => false, "depends_on" => array(), "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeEnum("urgency", array("allowed_values" => new ValueSetEnum("1,2,3,4"), "display_style" => 'list', "sql" => 'urgency', "default_value" => '1', "is_null_allowed" => false, "depends_on" => array(), "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeEnum("priority", array("allowed_values" => new ValueSetEnum("1,2,3,4"), "display_style" => 'list', "sql" => 'priority', "default_value" => '1', "is_null_allowed" => false, "depends_on" => array(), "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeExternalKey("related_change_id", array("targetclass" => 'Change', "allowed_values" => new ValueSetObjects("SELECT Change WHERE status != \"closed\""), "sql" => 'related_change_id', "is_null_allowed" => true, "on_target_delete" => DEL_MANUAL, "depends_on" => array(), "display_style" => 'select', "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeExternalField("related_change_ref", array("allowed_values" => null, "extkey_attcode" => 'related_change_id', "target_attcode" => 'ref', "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeDateTime("assignment_date", array("allowed_values" => null, "sql" => 'assignment_date', "default_value" => '', "is_null_allowed" => true, "depends_on" => array(), "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeDateTime("resolution_date", array("allowed_values" => null, "sql" => 'resolution_date', "default_value" => '', "is_null_allowed" => true, "depends_on" => array(), "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeLinkedSet("knownerrors_list", array("linked_class" => 'KnownError', "ext_key_to_me" => 'problem_id', "count_min" => 0, "count_max" => 0, "edit_mode" => LINKSET_EDITMODE_ADDONLY, "allowed_values" => null, "depends_on" => array(), "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeLinkedSet("related_request_list", array("linked_class" => 'UserRequest', "ext_key_to_me" => 'parent_problem_id', "count_min" => 0, "count_max" => 0, "edit_mode" => LINKSET_EDITMODE_ADDREMOVE, "allowed_values" => null, "depends_on" => array(), "always_load_in_tables" => false)));
     // Lifecycle (status attribute: status)
     //
     MetaModel::Init_DefineStimulus(new StimulusUserAction("ev_assign", array()));
     MetaModel::Init_DefineStimulus(new StimulusUserAction("ev_reassign", array()));
     MetaModel::Init_DefineStimulus(new StimulusUserAction("ev_resolve", array()));
     MetaModel::Init_DefineStimulus(new StimulusUserAction("ev_close", array()));
     MetaModel::Init_DefineState("new", array("attribute_inherit" => '', "attribute_list" => array('ref' => OPT_ATT_READONLY, 'org_id' => OPT_ATT_MUSTCHANGE, 'team_id' => OPT_ATT_HIDDEN, 'agent_id' => OPT_ATT_HIDDEN, 'description' => OPT_ATT_MUSTCHANGE, 'start_date' => OPT_ATT_READONLY, 'last_update' => OPT_ATT_READONLY, 'close_date' => OPT_ATT_HIDDEN, 'impact' => OPT_ATT_MUSTCHANGE, 'urgency' => OPT_ATT_MUSTCHANGE, 'priority' => OPT_ATT_READONLY, 'assignment_date' => OPT_ATT_HIDDEN, 'resolution_date' => OPT_ATT_HIDDEN)));
     MetaModel::Init_DefineTransition("new", "ev_assign", array("target_state" => "assigned", "actions" => array('SetAssignedDate'), "user_restriction" => null));
     MetaModel::Init_DefineState("assigned", array("attribute_inherit" => '', "attribute_list" => array('ref' => OPT_ATT_READONLY, 'team_id' => OPT_ATT_MANDATORY | OPT_ATT_MUSTPROMPT, 'agent_id' => OPT_ATT_MANDATORY | OPT_ATT_MUSTPROMPT, 'start_date' => OPT_ATT_READONLY, 'last_update' => OPT_ATT_READONLY, 'close_date' => OPT_ATT_HIDDEN, 'priority' => OPT_ATT_READONLY, 'assignment_date' => OPT_ATT_READONLY, 'resolution_date' => OPT_ATT_HIDDEN)));
     MetaModel::Init_DefineTransition("assigned", "ev_reassign", array("target_state" => "assigned", "actions" => array(), "user_restriction" => null));
     MetaModel::Init_DefineTransition("assigned", "ev_resolve", array("target_state" => "resolved", "actions" => array('SetResolveDate'), "user_restriction" => null));
     MetaModel::Init_DefineState("resolved", array("attribute_inherit" => '', "attribute_list" => array('ref' => OPT_ATT_READONLY, 'org_id' => OPT_ATT_READONLY, 'team_id' => OPT_ATT_READONLY, 'agent_id' => OPT_ATT_READONLY, 'caller_id' => OPT_ATT_READONLY, 'title' => OPT_ATT_READONLY, 'description' => OPT_ATT_READONLY, 'start_date' => OPT_ATT_READONLY, 'last_update' => OPT_ATT_READONLY, 'close_date' => OPT_ATT_HIDDEN, 'service_id' => OPT_ATT_MANDATORY, 'servicesubcategory_id' => OPT_ATT_MUSTPROMPT, 'product' => OPT_ATT_MUSTPROMPT, 'impact' => OPT_ATT_READONLY, 'urgency' => OPT_ATT_READONLY, 'priority' => OPT_ATT_READONLY, 'assignment_date' => OPT_ATT_READONLY, 'resolution_date' => OPT_ATT_HIDDEN)));
     MetaModel::Init_DefineTransition("resolved", "ev_reassign", array("target_state" => "assigned", "actions" => array(), "user_restriction" => null));
     MetaModel::Init_DefineTransition("resolved", "ev_close", array("target_state" => "closed", "actions" => array('SetClosureDate'), "user_restriction" => null));
     MetaModel::Init_DefineState("closed", array("attribute_inherit" => '', "attribute_list" => array('ref' => OPT_ATT_READONLY, 'org_id' => OPT_ATT_READONLY, 'team_id' => OPT_ATT_READONLY, 'agent_id' => OPT_ATT_READONLY, 'caller_id' => OPT_ATT_READONLY, 'title' => OPT_ATT_READONLY, 'description' => OPT_ATT_READONLY, 'start_date' => OPT_ATT_READONLY, 'last_update' => OPT_ATT_READONLY, 'close_date' => OPT_ATT_READONLY, 'private_log' => OPT_ATT_READONLY, 'service_id' => OPT_ATT_READONLY, 'servicesubcategory_id' => OPT_ATT_READONLY, 'product' => OPT_ATT_READONLY, 'impact' => OPT_ATT_READONLY, 'urgency' => OPT_ATT_READONLY, 'priority' => OPT_ATT_READONLY, 'assignment_date' => OPT_ATT_READONLY, 'resolution_date' => OPT_ATT_HIDDEN, 'related_change_id' => OPT_ATT_READONLY)));
     MetaModel::Init_SetZListItems('details', array(0 => 'functionalcis_list', 1 => 'contacts_list', 2 => 'knownerrors_list', 3 => 'workorders_list', 4 => 'related_request_list', 'col:col1' => array('fieldset:Ticket:baseinfo' => array(0 => 'ref', 1 => 'title', 2 => 'org_id', 3 => 'status', 4 => 'priority', 5 => 'service_id', 6 => 'servicesubcategory_id', 7 => 'product'), 'fieldset:Ticket:moreinfo' => array(0 => 'impact', 1 => 'urgency', 2 => 'description')), 'col:col2' => array('fieldset:Ticket:date' => array(0 => 'start_date', 1 => 'last_update', 2 => 'assignment_date', 3 => 'resolution_date', 4 => 'close_date'), 'fieldset:Ticket:contact' => array(0 => 'caller_id', 1 => 'team_id', 2 => 'agent_id'), 'fieldset:Ticket:relation' => array(0 => 'related_change_id'))));
     MetaModel::Init_SetZListItems('standard_search', array(0 => 'ref', 1 => 'title', 2 => 'org_id', 3 => 'start_date', 4 => 'status', 5 => 'service_id', 6 => 'servicesubcategory_id', 7 => 'product', 8 => 'impact', 9 => 'urgency', 10 => 'priority', 11 => 'caller_id', 12 => 'team_id', 13 => 'agent_id', 14 => 'close_date'));
     MetaModel::Init_SetZListItems('list', array(0 => 'title', 1 => 'org_id', 2 => 'start_date', 3 => 'status', 4 => 'service_id', 5 => 'priority'));
 }
 public static function Init()
 {
     $aParams = array("category" => "core/cmdb", "key_type" => "autoincrement", "name_attcode" => "created", "state_attcode" => "", "reconc_keys" => array(), "db_table" => "priv_async_send_email", "db_key_field" => "id", "db_finalclass_field" => "", "display_template" => "");
     MetaModel::Init_Params($aParams);
     MetaModel::Init_InheritAttributes();
     MetaModel::Init_AddAttribute(new AttributeInteger("version", array("allowed_values" => null, "sql" => "version", "default_value" => Email::ORIGINAL_FORMAT, "is_null_allowed" => false, "depends_on" => array())));
     MetaModel::Init_AddAttribute(new AttributeText("to", array("allowed_values" => null, "sql" => "to", "default_value" => null, "is_null_allowed" => true, "depends_on" => array())));
     MetaModel::Init_AddAttribute(new AttributeText("subject", array("allowed_values" => null, "sql" => "subject", "default_value" => null, "is_null_allowed" => false, "depends_on" => array())));
     MetaModel::Init_AddAttribute(new AttributeLongText("message", array("allowed_values" => null, "sql" => "message", "default_value" => null, "is_null_allowed" => false, "depends_on" => array())));
     // Display lists
     //		MetaModel::Init_SetZListItems('details', array('name', 'description', 'status', 'test_recipient', 'from', 'reply_to', 'to', 'cc', 'bcc', 'subject', 'body', 'importance', 'trigger_list')); // Attributes to be displayed for the complete details
     //		MetaModel::Init_SetZListItems('list', array('name', 'status', 'to', 'subject')); // Attributes to be displayed for a list
     // Search criteria
     //		MetaModel::Init_SetZListItems('standard_search', array('name')); // Criteria of the std search form
     //		MetaModel::Init_SetZListItems('advanced_search', array('name')); // Criteria of the advanced search form
 }
 public static function Init()
 {
     $aParams = array('category' => 'bizmodel,searchable', 'key_type' => 'autoincrement', 'name_attcode' => array('name', 'virtualmachine_name'), 'state_attcode' => '', 'reconc_keys' => array('name', 'virtualmachine_id', 'virtualmachine_name'), 'db_table' => 'logicalinterface', 'db_key_field' => 'id', 'db_finalclass_field' => '', 'icon' => utils::GetAbsoluteUrlModulesRoot() . 'itop-virtualization-mgmt/images/interface.png');
     MetaModel::Init_Params($aParams);
     MetaModel::Init_InheritAttributes();
     MetaModel::Init_AddAttribute(new AttributeExternalKey("virtualmachine_id", array("targetclass" => 'VirtualMachine', "allowed_values" => null, "sql" => 'virtualmachine_id', "is_null_allowed" => false, "on_target_delete" => DEL_AUTO, "depends_on" => array(), "display_style" => 'select', "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeExternalField("virtualmachine_name", array("allowed_values" => null, "extkey_attcode" => 'virtualmachine_id', "target_attcode" => 'name', "always_load_in_tables" => false)));
     MetaModel::Init_SetZListItems('details', array(0 => 'name', 1 => 'ipaddress', 2 => 'macaddress', 3 => 'comment', 4 => 'ipgateway', 5 => 'ipmask', 6 => 'speed', 7 => 'virtualmachine_id'));
     MetaModel::Init_SetZListItems('standard_search', array(0 => 'name', 1 => 'ipaddress', 2 => 'macaddress', 3 => 'ipgateway', 4 => 'ipmask'));
     MetaModel::Init_SetZListItems('list', array(0 => 'ipaddress', 1 => 'macaddress', 2 => 'comment', 3 => 'ipgateway', 4 => 'ipmask', 5 => 'speed'));
 }
 public static function Init()
 {
     $aParams = array("category" => "core/cmdb,view_in_gui", "key_type" => "autoincrement", "name_attcode" => "", "state_attcode" => "", "reconc_keys" => array(), "db_table" => "priv_sync_replica", "db_key_field" => "id", "db_finalclass_field" => "", "display_template" => "");
     MetaModel::Init_Params($aParams);
     MetaModel::Init_InheritAttributes();
     MetaModel::Init_AddAttribute(new AttributeExternalKey("sync_source_id", array("targetclass" => "SynchroDataSource", "jointype" => "", "allowed_values" => null, "sql" => "sync_source_id", "is_null_allowed" => false, "on_target_delete" => DEL_SILENT, "depends_on" => array())));
     MetaModel::Init_AddAttribute(new AttributeExternalField("base_class", array("allowed_values" => null, "extkey_attcode" => 'sync_source_id', "target_attcode" => "scope_class")));
     MetaModel::Init_AddAttribute(new AttributeInteger("dest_id", array("allowed_values" => null, "sql" => "dest_id", "default_value" => 0, "is_null_allowed" => true, "depends_on" => array())));
     MetaModel::Init_AddAttribute(new AttributeClass("dest_class", array("class_category" => "", "more_values" => "", "sql" => "dest_class", "default_value" => 'Organization', "is_null_allowed" => true, "depends_on" => array())));
     MetaModel::Init_AddAttribute(new AttributeDateTime("status_last_seen", array("allowed_values" => null, "sql" => "status_last_seen", "default_value" => "", "is_null_allowed" => false, "depends_on" => array())));
     MetaModel::Init_AddAttribute(new AttributeEnum("status", array("allowed_values" => new ValueSetEnum('new,synchronized,modified,orphan,obsolete'), "sql" => "status", "default_value" => "new", "is_null_allowed" => false, "depends_on" => array())));
     MetaModel::Init_AddAttribute(new AttributeBoolean("status_dest_creator", array("allowed_values" => null, "sql" => "status_dest_creator", "default_value" => 0, "is_null_allowed" => true, "depends_on" => array())));
     MetaModel::Init_AddAttribute(new AttributeString("status_last_error", array("allowed_values" => null, "sql" => "status_last_error", "default_value" => '', "is_null_allowed" => true, "depends_on" => array())));
     MetaModel::Init_AddAttribute(new AttributeString("status_last_warning", array("allowed_values" => null, "sql" => "status_last_warning", "default_value" => '', "is_null_allowed" => true, "depends_on" => array())));
     MetaModel::Init_AddAttribute(new AttributeDateTime("info_creation_date", array("allowed_values" => null, "sql" => "info_creation_date", "default_value" => "", "is_null_allowed" => true, "depends_on" => array())));
     MetaModel::Init_AddAttribute(new AttributeDateTime("info_last_modified", array("allowed_values" => null, "sql" => "info_last_modified", "default_value" => "", "is_null_allowed" => true, "depends_on" => array())));
     // Display lists
     MetaModel::Init_SetZListItems('details', array('' . 'col:0' => array('fieldset:SynchroDataSource:Definition' => array('sync_source_id', 'dest_id', 'dest_class'), 'fieldset:SynchroDataSource:Status' => array('status', 'status_last_seen', 'status_dest_creator', 'status_last_error', 'status_last_warning'), 'fieldset:SynchroDataSource:Information' => array('info_creation_date', 'info_last_modified'))));
     MetaModel::Init_SetZListItems('list', array('sync_source_id', 'dest_id', 'dest_class', 'status_last_seen', 'status', 'status_dest_creator', 'status_last_error', 'status_last_warning'));
     // Attributes to be displayed for a list
     // Search criteria
     MetaModel::Init_SetZListItems('standard_search', array('sync_source_id', 'status_last_seen', 'status', 'status_dest_creator', 'dest_class', 'dest_id', 'status_last_error', 'status_last_warning'));
     // Criteria of the std search form
     //		MetaModel::Init_SetZListItems('advanced_search', array('name')); // Criteria of the advanced search form
 }
 public static function Init()
 {
     $aParams = array('category' => 'bizmodel,searchable,changemgmt', 'key_type' => 'autoincrement', 'name_attcode' => 'ref', 'state_attcode' => 'status', 'reconc_keys' => array('ref'), 'db_table' => 'change_emergency', 'db_key_field' => 'id', 'db_finalclass_field' => '', 'icon' => utils::GetAbsoluteUrlModulesRoot() . 'itop-change-mgmt-itil/images/change.png', 'order_by_default' => array('ref' => false));
     MetaModel::Init_Params($aParams);
     MetaModel::Init_InheritAttributes();
     // Lifecycle (status attribute: status)
     //
     MetaModel::Init_DefineStimulus(new StimulusUserAction("ev_assign", array()));
     MetaModel::Init_DefineStimulus(new StimulusUserAction("ev_reopen", array()));
     MetaModel::Init_DefineStimulus(new StimulusUserAction("ev_plan", array()));
     MetaModel::Init_DefineStimulus(new StimulusUserAction("ev_approve", array()));
     MetaModel::Init_DefineStimulus(new StimulusUserAction("ev_replan", array()));
     MetaModel::Init_DefineStimulus(new StimulusUserAction("ev_notapprove", array()));
     MetaModel::Init_DefineStimulus(new StimulusUserAction("ev_implement", array()));
     MetaModel::Init_DefineStimulus(new StimulusUserAction("ev_monitor", array()));
     MetaModel::Init_DefineStimulus(new StimulusUserAction("ev_finish", array()));
     MetaModel::Init_DefineState("new", array("attribute_inherit" => '', "attribute_list" => array('ref' => OPT_ATT_READONLY, 'agent_id' => OPT_ATT_HIDDEN, 'team_id' => OPT_ATT_HIDDEN, 'title' => OPT_ATT_MANDATORY, 'start_date' => OPT_ATT_HIDDEN, 'end_date' => OPT_ATT_HIDDEN, 'last_update' => OPT_ATT_READONLY, 'close_date' => OPT_ATT_HIDDEN, 'reason' => OPT_ATT_HIDDEN, 'requestor_id' => OPT_ATT_MANDATORY, 'creation_date' => OPT_ATT_READONLY, 'impact' => OPT_ATT_HIDDEN, 'supervisor_group_id' => OPT_ATT_HIDDEN, 'supervisor_id' => OPT_ATT_HIDDEN, 'manager_group_id' => OPT_ATT_HIDDEN, 'manager_id' => OPT_ATT_HIDDEN, 'outage' => OPT_ATT_HIDDEN, 'fallback' => OPT_ATT_HIDDEN, 'approval_date' => OPT_ATT_HIDDEN, 'approval_comment' => OPT_ATT_HIDDEN)));
     MetaModel::Init_DefineTransition("new", "ev_assign", array("target_state" => "assigned", "actions" => array(), "user_restriction" => null));
     MetaModel::Init_DefineState("validated", array("attribute_inherit" => '', "attribute_list" => array('ref' => OPT_ATT_READONLY, 'agent_id' => OPT_ATT_HIDDEN, 'title' => OPT_ATT_MANDATORY, 'description' => OPT_ATT_READONLY, 'start_date' => OPT_ATT_HIDDEN, 'end_date' => OPT_ATT_HIDDEN, 'last_update' => OPT_ATT_READONLY, 'close_date' => OPT_ATT_HIDDEN, 'reason' => OPT_ATT_READONLY, 'requestor_id' => OPT_ATT_READONLY, 'creation_date' => OPT_ATT_READONLY, 'impact' => OPT_ATT_HIDDEN, 'team_id' => OPT_ATT_MANDATORY | OPT_ATT_MUSTPROMPT, 'supervisor_group_id' => OPT_ATT_MANDATORY | OPT_ATT_MUSTPROMPT, 'supervisor_id' => OPT_ATT_HIDDEN, 'manager_group_id' => OPT_ATT_MANDATORY | OPT_ATT_MUSTPROMPT, 'manager_id' => OPT_ATT_HIDDEN, 'outage' => OPT_ATT_HIDDEN, 'fallback' => OPT_ATT_HIDDEN, 'approval_date' => OPT_ATT_HIDDEN, 'approval_comment' => OPT_ATT_HIDDEN)));
     MetaModel::Init_DefineState("rejected", array("attribute_inherit" => '', "attribute_list" => array('ref' => OPT_ATT_READONLY, 'agent_id' => OPT_ATT_HIDDEN, 'title' => OPT_ATT_MANDATORY, 'start_date' => OPT_ATT_HIDDEN, 'end_date' => OPT_ATT_HIDDEN, 'last_update' => OPT_ATT_READONLY, 'close_date' => OPT_ATT_HIDDEN, 'reason' => OPT_ATT_MANDATORY | OPT_ATT_MUSTPROMPT, 'requestor_id' => OPT_ATT_MANDATORY, 'creation_date' => OPT_ATT_READONLY, 'impact' => OPT_ATT_HIDDEN, 'supervisor_group_id' => OPT_ATT_HIDDEN, 'supervisor_id' => OPT_ATT_HIDDEN, 'manager_group_id' => OPT_ATT_HIDDEN, 'manager_id' => OPT_ATT_HIDDEN, 'outage' => OPT_ATT_HIDDEN, 'fallback' => OPT_ATT_HIDDEN, 'approval_date' => OPT_ATT_HIDDEN, 'approval_comment' => OPT_ATT_HIDDEN)));
     MetaModel::Init_DefineState("assigned", array("attribute_inherit" => '', "attribute_list" => array('ref' => OPT_ATT_READONLY, 'agent_id' => OPT_ATT_MANDATORY | OPT_ATT_MUSTPROMPT, 'team_id' => OPT_ATT_MANDATORY | OPT_ATT_MUSTPROMPT, 'title' => OPT_ATT_MANDATORY, 'description' => OPT_ATT_READONLY, 'start_date' => OPT_ATT_HIDDEN, 'end_date' => OPT_ATT_HIDDEN, 'last_update' => OPT_ATT_READONLY, 'close_date' => OPT_ATT_HIDDEN, 'reason' => OPT_ATT_READONLY, 'requestor_id' => OPT_ATT_READONLY, 'creation_date' => OPT_ATT_READONLY, 'impact' => OPT_ATT_HIDDEN, 'supervisor_group_id' => OPT_ATT_MANDATORY, 'supervisor_id' => OPT_ATT_MANDATORY | OPT_ATT_MUSTPROMPT, 'manager_group_id' => OPT_ATT_MANDATORY, 'manager_id' => OPT_ATT_MANDATORY | OPT_ATT_MUSTPROMPT, 'outage' => OPT_ATT_HIDDEN, 'fallback' => OPT_ATT_HIDDEN, 'approval_date' => OPT_ATT_HIDDEN, 'approval_comment' => OPT_ATT_HIDDEN)));
     MetaModel::Init_DefineTransition("assigned", "ev_plan", array("target_state" => "plannedscheduled", "actions" => array(), "user_restriction" => null));
     MetaModel::Init_DefineState("plannedscheduled", array("attribute_inherit" => '', "attribute_list" => array('ref' => OPT_ATT_READONLY, 'org_id' => OPT_ATT_READONLY, 'agent_id' => OPT_ATT_MANDATORY, 'team_id' => OPT_ATT_MANDATORY, 'title' => OPT_ATT_MANDATORY, 'description' => OPT_ATT_READONLY, 'start_date' => OPT_ATT_MANDATORY | OPT_ATT_MUSTPROMPT, 'end_date' => OPT_ATT_MANDATORY | OPT_ATT_MUSTPROMPT, 'last_update' => OPT_ATT_READONLY, 'close_date' => OPT_ATT_HIDDEN, 'reason' => OPT_ATT_READONLY, 'requestor_id' => OPT_ATT_READONLY, 'creation_date' => OPT_ATT_READONLY, 'impact' => OPT_ATT_MANDATORY | OPT_ATT_MUSTPROMPT, 'supervisor_group_id' => OPT_ATT_MANDATORY, 'supervisor_id' => OPT_ATT_MANDATORY, 'manager_group_id' => OPT_ATT_MANDATORY, 'manager_id' => OPT_ATT_MANDATORY, 'outage' => OPT_ATT_MANDATORY | OPT_ATT_MUSTPROMPT, 'fallback' => OPT_ATT_MANDATORY | OPT_ATT_MUSTPROMPT, 'approval_date' => OPT_ATT_HIDDEN, 'approval_comment' => OPT_ATT_HIDDEN)));
     MetaModel::Init_DefineTransition("plannedscheduled", "ev_approve", array("target_state" => "approved", "actions" => array('ResetRejectReason'), "user_restriction" => null));
     MetaModel::Init_DefineTransition("plannedscheduled", "ev_notapprove", array("target_state" => "notapproved", "actions" => array(), "user_restriction" => null));
     MetaModel::Init_DefineState("approved", array("attribute_inherit" => '', "attribute_list" => array('ref' => OPT_ATT_READONLY, 'org_id' => OPT_ATT_READONLY, 'agent_id' => OPT_ATT_MANDATORY, 'team_id' => OPT_ATT_MANDATORY, 'title' => OPT_ATT_MANDATORY, 'description' => OPT_ATT_READONLY, 'start_date' => OPT_ATT_MANDATORY, 'end_date' => OPT_ATT_MANDATORY, 'last_update' => OPT_ATT_READONLY, 'close_date' => OPT_ATT_HIDDEN, 'reason' => OPT_ATT_READONLY, 'requestor_id' => OPT_ATT_READONLY, 'creation_date' => OPT_ATT_READONLY, 'impact' => OPT_ATT_READONLY, 'supervisor_group_id' => OPT_ATT_READONLY, 'supervisor_id' => OPT_ATT_READONLY, 'manager_group_id' => OPT_ATT_READONLY, 'manager_id' => OPT_ATT_READONLY, 'outage' => OPT_ATT_READONLY, 'fallback' => OPT_ATT_MANDATORY, 'approval_date' => OPT_ATT_MANDATORY, 'approval_comment' => OPT_ATT_MANDATORY)));
     MetaModel::Init_DefineTransition("approved", "ev_implement", array("target_state" => "implemented", "actions" => array(), "user_restriction" => null));
     MetaModel::Init_DefineState("notapproved", array("attribute_inherit" => '', "attribute_list" => array('ref' => OPT_ATT_READONLY, 'org_id' => OPT_ATT_READONLY, 'agent_id' => OPT_ATT_MANDATORY, 'team_id' => OPT_ATT_MANDATORY, 'title' => OPT_ATT_MANDATORY, 'description' => OPT_ATT_READONLY, 'start_date' => OPT_ATT_MANDATORY, 'end_date' => OPT_ATT_MANDATORY, 'last_update' => OPT_ATT_READONLY, 'close_date' => OPT_ATT_HIDDEN, 'reason' => OPT_ATT_MANDATORY | OPT_ATT_MUSTPROMPT, 'requestor_id' => OPT_ATT_READONLY, 'creation_date' => OPT_ATT_READONLY, 'impact' => OPT_ATT_READONLY, 'supervisor_group_id' => OPT_ATT_READONLY, 'supervisor_id' => OPT_ATT_READONLY, 'manager_group_id' => OPT_ATT_READONLY, 'manager_id' => OPT_ATT_READONLY, 'outage' => OPT_ATT_MANDATORY, 'fallback' => OPT_ATT_MANDATORY, 'approval_date' => OPT_ATT_HIDDEN, 'approval_comment' => OPT_ATT_HIDDEN)));
     MetaModel::Init_DefineTransition("notapproved", "ev_replan", array("target_state" => "plannedscheduled", "actions" => array(), "user_restriction" => null));
     MetaModel::Init_DefineState("implemented", array("attribute_inherit" => '', "attribute_list" => array('ref' => OPT_ATT_READONLY, 'org_id' => OPT_ATT_READONLY, 'agent_id' => OPT_ATT_MANDATORY, 'team_id' => OPT_ATT_MANDATORY, 'title' => OPT_ATT_READONLY, 'description' => OPT_ATT_READONLY, 'start_date' => OPT_ATT_READONLY, 'end_date' => OPT_ATT_MANDATORY, 'last_update' => OPT_ATT_READONLY, 'close_date' => OPT_ATT_HIDDEN, 'reason' => OPT_ATT_READONLY, 'requestor_id' => OPT_ATT_READONLY, 'creation_date' => OPT_ATT_READONLY, 'impact' => OPT_ATT_READONLY, 'supervisor_group_id' => OPT_ATT_READONLY, 'supervisor_id' => OPT_ATT_READONLY, 'manager_group_id' => OPT_ATT_READONLY, 'manager_id' => OPT_ATT_READONLY, 'outage' => OPT_ATT_READONLY, 'fallback' => OPT_ATT_MANDATORY, 'approval_date' => OPT_ATT_READONLY, 'approval_comment' => OPT_ATT_READONLY)));
     MetaModel::Init_DefineTransition("implemented", "ev_monitor", array("target_state" => "monitored", "actions" => array(), "user_restriction" => null));
     MetaModel::Init_DefineTransition("implemented", "ev_finish", array("target_state" => "closed", "actions" => array('SetClosureDate'), "user_restriction" => null));
     MetaModel::Init_DefineState("monitored", array("attribute_inherit" => '', "attribute_list" => array('ref' => OPT_ATT_READONLY, 'org_id' => OPT_ATT_READONLY, 'team_id' => OPT_ATT_READONLY, 'agent_id' => OPT_ATT_READONLY, 'title' => OPT_ATT_READONLY, 'caller_id' => OPT_ATT_READONLY, 'team_id' => OPT_ATT_READONLY, 'parent_id' => OPT_ATT_READONLY, 'description' => OPT_ATT_READONLY, 'start_date' => OPT_ATT_READONLY, 'end_date' => OPT_ATT_READONLY, 'last_update' => OPT_ATT_READONLY, 'close_date' => OPT_ATT_HIDDEN, 'reason' => OPT_ATT_READONLY, 'requestor_id' => OPT_ATT_READONLY, 'creation_date' => OPT_ATT_READONLY, 'impact' => OPT_ATT_READONLY, 'supervisor_group_id' => OPT_ATT_READONLY, 'supervisor_id' => OPT_ATT_READONLY, 'manager_group_id' => OPT_ATT_READONLY, 'manager_id' => OPT_ATT_READONLY, 'outage' => OPT_ATT_READONLY, 'fallback' => OPT_ATT_READONLY, 'approval_date' => OPT_ATT_READONLY, 'approval_comment' => OPT_ATT_READONLY)));
     MetaModel::Init_DefineTransition("monitored", "ev_finish", array("target_state" => "closed", "actions" => array('SetClosureDate'), "user_restriction" => null));
     MetaModel::Init_DefineState("closed", array("attribute_inherit" => '', "attribute_list" => array('ref' => OPT_ATT_READONLY, 'org_id' => OPT_ATT_READONLY, 'agent_id' => OPT_ATT_READONLY, 'team_id' => OPT_ATT_READONLY, 'caller_id' => OPT_ATT_READONLY, 'title' => OPT_ATT_READONLY, 'description' => OPT_ATT_READONLY, 'start_date' => OPT_ATT_READONLY, 'end_date' => OPT_ATT_READONLY, 'last_update' => OPT_ATT_READONLY, 'close_date' => OPT_ATT_READONLY, 'reason' => OPT_ATT_READONLY, 'requestor_id' => OPT_ATT_READONLY, 'creation_date' => OPT_ATT_READONLY, 'impact' => OPT_ATT_READONLY, 'team_id' => OPT_ATT_READONLY, 'supervisor_group_id' => OPT_ATT_READONLY, 'supervisor_id' => OPT_ATT_READONLY, 'manager_group_id' => OPT_ATT_READONLY, 'manager_id' => OPT_ATT_READONLY, 'outage' => OPT_ATT_READONLY, 'fallback' => OPT_ATT_READONLY, 'private_log' => OPT_ATT_READONLY, 'approval_date' => OPT_ATT_READONLY, 'approval_comment' => OPT_ATT_READONLY, 'parent_id' => OPT_ATT_READONLY)));
     MetaModel::Init_SetZListItems('details', array(0 => 'functionalcis_list', 1 => 'contacts_list', 2 => 'workorders_list', 3 => 'related_request_list', 4 => 'related_incident_list', 5 => 'related_problems_list', 6 => 'child_changes_list', 'col:col1' => array('fieldset:Ticket:baseinfo' => array(0 => 'ref', 1 => 'org_id', 2 => 'status', 3 => 'title', 4 => 'description', 5 => 'approval_comment'), 'fieldset:Ticket:contact' => array(0 => 'caller_id', 1 => 'team_id', 2 => 'agent_id', 3 => 'supervisor_group_id', 4 => 'supervisor_id', 5 => 'manager_group_id', 6 => 'manager_id')), 'col:col2' => array('fieldset:Ticket:resolution' => array(0 => 'reason', 1 => 'impact', 2 => 'outage', 3 => 'fallback'), 'fieldset:Ticket:relation' => array(0 => 'parent_id')), 'col:col3' => array('fieldset:Ticket:date' => array(0 => 'creation_date', 1 => 'start_date', 2 => 'end_date', 3 => 'last_update', 4 => 'approval_date', 5 => 'close_date'))));
     MetaModel::Init_SetZListItems('standard_search', array(0 => 'ref', 1 => 'org_id', 2 => 'status', 3 => 'title', 4 => 'description', 5 => 'caller_id', 6 => 'team_id', 7 => 'agent_id', 8 => 'supervisor_group_id', 9 => 'supervisor_id', 10 => 'manager_group_id', 11 => 'manager_id', 12 => 'reason', 13 => 'impact', 14 => 'outage', 15 => 'parent_id', 16 => 'creation_date', 17 => 'start_date', 18 => 'end_date', 19 => 'last_update', 20 => 'approval_date', 21 => 'close_date'));
     MetaModel::Init_SetZListItems('list', array(0 => 'finalclass', 1 => 'title', 2 => 'org_id', 3 => 'start_date', 4 => 'end_date', 5 => 'status', 6 => 'agent_id'));
 }
 public static function Init()
 {
     $aParams = array('category' => 'bizmodel,searchable,knownerrormgmt', 'key_type' => 'autoincrement', 'name_attcode' => 'name', 'state_attcode' => '', 'reconc_keys' => array('name'), 'db_table' => 'faqcategory', 'db_key_field' => 'id', 'db_finalclass_field' => '');
     MetaModel::Init_Params($aParams);
     MetaModel::Init_InheritAttributes();
     MetaModel::Init_AddAttribute(new AttributeString("name", array("allowed_values" => null, "sql" => 'nam', "default_value" => '', "is_null_allowed" => false, "depends_on" => array(), "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeLinkedSet("faq_list", array("linked_class" => 'FAQ', "ext_key_to_me" => 'category_id', "count_min" => 0, "count_max" => 0, "edit_mode" => LINKSET_EDITMODE_ADDONLY, "allowed_values" => null, "depends_on" => array(), "always_load_in_tables" => false)));
     MetaModel::Init_SetZListItems('details', array(0 => 'name', 1 => 'faq_list'));
     MetaModel::Init_SetZListItems('standard_search', array(0 => 'name'));
 }
 public static function Init()
 {
     $aParams = array("category" => "core/cmdb,bizmodel", "key_type" => "autoincrement", "name_attcode" => "name", "state_attcode" => "", "reconc_keys" => array('name'), "db_table" => "priv_action_email", "db_key_field" => "id", "db_finalclass_field" => "", "display_template" => "");
     MetaModel::Init_Params($aParams);
     MetaModel::Init_InheritAttributes();
     MetaModel::Init_AddAttribute(new AttributeEmailAddress("test_recipient", array("allowed_values" => null, "sql" => "test_recipient", "default_value" => "", "is_null_allowed" => true, "depends_on" => array())));
     MetaModel::Init_AddAttribute(new AttributeString("from", array("allowed_values" => null, "sql" => "from", "default_value" => null, "is_null_allowed" => false, "depends_on" => array())));
     MetaModel::Init_AddAttribute(new AttributeString("reply_to", array("allowed_values" => null, "sql" => "reply_to", "default_value" => null, "is_null_allowed" => true, "depends_on" => array())));
     MetaModel::Init_AddAttribute(new AttributeOQL("to", array("allowed_values" => null, "sql" => "to", "default_value" => null, "is_null_allowed" => true, "depends_on" => array())));
     MetaModel::Init_AddAttribute(new AttributeOQL("cc", array("allowed_values" => null, "sql" => "cc", "default_value" => null, "is_null_allowed" => true, "depends_on" => array())));
     MetaModel::Init_AddAttribute(new AttributeOQL("bcc", array("allowed_values" => null, "sql" => "bcc", "default_value" => null, "is_null_allowed" => true, "depends_on" => array())));
     MetaModel::Init_AddAttribute(new AttributeTemplateString("subject", array("allowed_values" => null, "sql" => "subject", "default_value" => null, "is_null_allowed" => false, "depends_on" => array())));
     MetaModel::Init_AddAttribute(new AttributeTemplateText("body", array("allowed_values" => null, "sql" => "body", "default_value" => null, "is_null_allowed" => false, "depends_on" => array())));
     MetaModel::Init_AddAttribute(new AttributeEnum("importance", array("allowed_values" => new ValueSetEnum('low,normal,high'), "sql" => "importance", "default_value" => 'normal', "is_null_allowed" => false, "depends_on" => array())));
     // Display lists
     MetaModel::Init_SetZListItems('details', array('name', 'description', 'status', 'test_recipient', 'from', 'reply_to', 'to', 'cc', 'bcc', 'subject', 'body', 'importance', 'trigger_list'));
     // Attributes to be displayed for the complete details
     MetaModel::Init_SetZListItems('list', array('name', 'status', 'to', 'subject'));
     // Attributes to be displayed for a list
     // Search criteria
     MetaModel::Init_SetZListItems('standard_search', array('name', 'description', 'status', 'subject'));
     // Criteria of the std search form
     //		MetaModel::Init_SetZListItems('advanced_search', array('name')); // Criteria of the advanced search form
 }
 public static function Init()
 {
     $aParams = array("category" => "core/cmdb,view_in_gui", "key_type" => "autoincrement", "name_attcode" => "", "state_attcode" => "", "reconc_keys" => array(), "db_table" => "priv_event_shellexec", "db_key_field" => "id", "db_finalclass_field" => "", "display_template" => "", "order_by_default" => array('date' => false));
     MetaModel::Init_Params($aParams);
     MetaModel::Init_InheritAttributes();
     MetaModel::Init_AddAttribute(new AttributeText("log", array("allowed_values" => null, "sql" => "log", "default_value" => null, "is_null_allowed" => true, "depends_on" => array())));
     MetaModel::Init_SetZListItems('details', array('date', 'message', 'userinfo', 'trigger_id', 'action_id', 'object_id', 'log'));
     MetaModel::Init_SetZListItems('list', array('date', 'message'));
     // Search criteria
     // MetaModel::Init_SetZListItems('standard_search', array('name')); // Criteria of the std search form
     // MetaModel::Init_SetZListItems('advanced_search', array('name')); // Criteria of the advanced search form
 }
Example #16
0
 public static function Init()
 {
     $aParams = array("category" => "core/cmdb,view_in_gui", "key_type" => "autoincrement", "name_attcode" => "", "state_attcode" => "", "reconc_keys" => array(), "db_table" => "priv_event_loginusage", "db_key_field" => "id", "db_finalclass_field" => "", "order_by_default" => array('date' => false));
     MetaModel::Init_Params($aParams);
     MetaModel::Init_InheritAttributes();
     MetaModel::Init_AddAttribute(new AttributeExternalKey("user_id", array("targetclass" => "User", "jointype" => "", "allowed_values" => null, "sql" => "user_id", "is_null_allowed" => false, "on_target_delete" => DEL_MANUAL, "depends_on" => array())));
     $aZList = array('date', 'user_id');
     if (MetaModel::IsValidAttCode('Contact', 'name')) {
         MetaModel::Init_AddAttribute(new AttributeExternalField("contact_name", array("allowed_values" => null, "extkey_attcode" => "user_id", "target_attcode" => "contactid", "is_null_allowed" => true, "depends_on" => array())));
         $aZList[] = 'contact_name';
     }
     if (MetaModel::IsValidAttCode('Contact', 'email')) {
         MetaModel::Init_AddAttribute(new AttributeExternalField("contact_email", array("allowed_values" => null, "extkey_attcode" => "user_id", "target_attcode" => "email", "is_null_allowed" => true, "depends_on" => array())));
         $aZList[] = 'contact_email';
     }
     // Display lists
     MetaModel::Init_SetZListItems('details', array_merge($aZList, array('userinfo', 'message')));
     // Attributes to be displayed for the complete details
     MetaModel::Init_SetZListItems('list', array_merge($aZList, array('userinfo')));
     // Attributes to be displayed for a list
     // Search criteria
     MetaModel::Init_SetZListItems('standard_search', $aZList);
     // Criteria of the std search form
     //		MetaModel::Init_SetZListItems('advanced_search', array('name')); // Criteria of the advanced search form
 }
 public static function Init()
 {
     $aParams = array('category' => 'bizmodel', 'key_type' => 'autoincrement', 'is_link' => true, 'name_attcode' => array('deliverymodel_id', 'contact_id'), 'state_attcode' => '', 'reconc_keys' => array('deliverymodel_id', 'contact_id'), 'db_table' => 'lnkdeliverymodeltocontact', 'db_key_field' => 'id', 'db_finalclass_field' => '');
     MetaModel::Init_Params($aParams);
     MetaModel::Init_InheritAttributes();
     MetaModel::Init_AddAttribute(new AttributeExternalKey("deliverymodel_id", array("targetclass" => 'DeliveryModel', "allowed_values" => null, "sql" => 'deliverymodel_id', "is_null_allowed" => false, "on_target_delete" => DEL_AUTO, "depends_on" => array(), "display_style" => 'select', "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeExternalField("deliverymodel_name", array("allowed_values" => null, "extkey_attcode" => 'deliverymodel_id', "target_attcode" => 'name', "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeExternalKey("contact_id", array("targetclass" => 'Contact', "allowed_values" => null, "sql" => 'contact_id', "is_null_allowed" => false, "on_target_delete" => DEL_AUTO, "depends_on" => array(), "display_style" => 'select', "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeExternalField("contact_name", array("allowed_values" => null, "extkey_attcode" => 'contact_id', "target_attcode" => 'name', "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeExternalKey("role_id", array("targetclass" => 'ContactType', "allowed_values" => null, "sql" => 'role_id', "is_null_allowed" => true, "on_target_delete" => DEL_MANUAL, "depends_on" => array(), "display_style" => 'select', "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeExternalField("role_name", array("allowed_values" => null, "extkey_attcode" => 'role_id', "target_attcode" => 'name', "always_load_in_tables" => false)));
     MetaModel::Init_SetZListItems('details', array(0 => 'deliverymodel_id', 1 => 'contact_id', 2 => 'role_id'));
     MetaModel::Init_SetZListItems('standard_search', array(0 => 'deliverymodel_id', 1 => 'contact_id', 2 => 'role_id'));
     MetaModel::Init_SetZListItems('list', array(0 => 'deliverymodel_id', 1 => 'contact_id', 2 => 'role_id'));
 }
 public static function Init()
 {
     $aParams = array('category' => 'bizmodel,searchable', 'key_type' => 'autoincrement', 'name_attcode' => 'name', 'state_attcode' => '', 'reconc_keys' => array('name', 'org_id', 'organization_name'), 'db_table' => 'pdu', 'db_key_field' => 'id', 'db_finalclass_field' => '', 'icon' => utils::GetAbsoluteUrlModulesRoot() . 'itop-datacenter-mgmt/images/pdu.png');
     MetaModel::Init_Params($aParams);
     MetaModel::Init_InheritAttributes();
     MetaModel::Init_AddAttribute(new AttributeExternalKey("rack_id", array("targetclass" => 'Rack', "allowed_values" => new ValueSetObjects("SELECT Rack WHERE location_id= :this->location_id"), "sql" => 'rack_id', "is_null_allowed" => false, "on_target_delete" => DEL_MANUAL, "depends_on" => array('location_id'), "allow_target_creation" => false, "display_style" => 'select', "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeExternalField("rack_name", array("allowed_values" => null, "extkey_attcode" => 'rack_id', "target_attcode" => 'name', "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeExternalKey("powerstart_id", array("targetclass" => 'PowerConnection', "allowed_values" => new ValueSetObjects("SELECT PowerConnection WHERE id != :this->id AND location_id = :this->location_id"), "sql" => 'powerstart_id', "is_null_allowed" => true, "on_target_delete" => DEL_MANUAL, "depends_on" => array('location_id'), "allow_target_creation" => false, "display_style" => 'select', "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeExternalField("powerstart_name", array("allowed_values" => null, "extkey_attcode" => 'powerstart_id', "target_attcode" => 'name', "always_load_in_tables" => false)));
     MetaModel::Init_SetZListItems('details', array(0 => 'name', 1 => 'org_id', 2 => 'status', 3 => 'business_criticity', 4 => 'location_id', 5 => 'rack_id', 6 => 'powerstart_id', 7 => 'brand_id', 8 => 'model_id', 9 => 'serialnumber', 10 => 'asset_number', 11 => 'move2production', 12 => 'purchase_date', 13 => 'end_of_warranty', 14 => 'description', 15 => 'contacts_list', 16 => 'documents_list', 17 => 'providercontracts_list', 18 => 'services_list'));
     MetaModel::Init_SetZListItems('standard_search', array(0 => 'name', 1 => 'org_id', 2 => 'status', 3 => 'business_criticity', 4 => 'location_id', 5 => 'powerstart_id', 6 => 'brand_id', 7 => 'model_id', 8 => 'serialnumber', 9 => 'asset_number', 10 => 'move2production', 11 => 'purchase_date', 12 => 'end_of_warranty'));
     MetaModel::Init_SetZListItems('list', array(0 => 'org_id', 1 => 'status', 2 => 'business_criticity', 3 => 'location_id', 4 => 'brand_id', 5 => 'model_id', 6 => 'serialnumber'));
 }
 public static function Init()
 {
     $aParams = array('category' => 'bizmodel,searchable', 'key_type' => 'autoincrement', 'name_attcode' => 'name', 'state_attcode' => '', 'reconc_keys' => array('name', 'org_id', 'organization_name'), 'db_table' => 'peripheral', 'db_key_field' => 'id', 'db_finalclass_field' => '', 'icon' => utils::GetAbsoluteUrlModulesRoot() . 'itop-endusers-devices/images/peripherals.png');
     MetaModel::Init_Params($aParams);
     MetaModel::Init_InheritAttributes();
     MetaModel::Init_SetZListItems('details', array(0 => 'name', 1 => 'org_id', 2 => 'status', 3 => 'business_criticity', 4 => 'location_id', 5 => 'brand_id', 6 => 'model_id', 7 => 'serialnumber', 8 => 'asset_number', 9 => 'move2production', 10 => 'purchase_date', 11 => 'end_of_warranty', 12 => 'description', 13 => 'contacts_list', 14 => 'documents_list', 15 => 'providercontracts_list', 16 => 'services_list'));
     MetaModel::Init_SetZListItems('standard_search', array(0 => 'name', 1 => 'org_id', 2 => 'status', 3 => 'business_criticity', 4 => 'location_id', 5 => 'brand_id', 6 => 'model_id', 7 => 'serialnumber', 8 => 'asset_number', 9 => 'move2production', 10 => 'purchase_date', 11 => 'end_of_warranty'));
     MetaModel::Init_SetZListItems('list', array(0 => 'org_id', 1 => 'status', 2 => 'business_criticity', 3 => 'location_id', 4 => 'brand_id', 5 => 'model_id', 6 => 'serialnumber'));
 }
 public static function Init()
 {
     $aParams = array('category' => 'bizmodel,searchable,requestmgmt', 'key_type' => 'autoincrement', 'name_attcode' => 'ref', 'state_attcode' => 'status', 'reconc_keys' => array('ref'), 'db_table' => 'ticket_request', 'db_key_field' => 'id', 'db_finalclass_field' => '', 'icon' => utils::GetAbsoluteUrlModulesRoot() . 'itop-request-mgmt-itil/images/user-request.png', 'order_by_default' => array('ref' => false));
     MetaModel::Init_Params($aParams);
     MetaModel::Init_InheritAttributes();
     MetaModel::Init_AddAttribute(new AttributeEnum("status", array("allowed_values" => new ValueSetEnum("new,waiting_for_approval,approved,rejected,assigned,pending,escalated_tto,escalated_ttr,resolved,closed"), "display_style" => 'list', "sql" => 'status', "default_value" => 'new', "is_null_allowed" => false, "depends_on" => array(), "always_load_in_tables" => true)));
     MetaModel::Init_AddAttribute(new AttributeEnum("request_type", array("allowed_values" => new ValueSetEnum("service_request"), "display_style" => 'list', "sql" => 'request_type', "default_value" => 'service_request', "is_null_allowed" => true, "depends_on" => array(), "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeEnum("impact", array("allowed_values" => new ValueSetEnum("1,2,3"), "display_style" => 'list', "sql" => 'impact', "default_value" => '1', "is_null_allowed" => false, "depends_on" => array(), "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeEnum("priority", array("allowed_values" => new ValueSetEnum("1,2,3,4"), "display_style" => 'list', "sql" => 'priority', "default_value" => '4', "is_null_allowed" => false, "depends_on" => array(), "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeEnum("urgency", array("allowed_values" => new ValueSetEnum("1,2,3,4"), "display_style" => 'list', "sql" => 'urgency', "default_value" => '4', "is_null_allowed" => false, "depends_on" => array(), "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeEnum("origin", array("allowed_values" => new ValueSetEnum("mail,phone,portal"), "display_style" => 'list', "sql" => 'origin', "default_value" => 'phone', "is_null_allowed" => true, "depends_on" => array(), "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeExternalKey("approver_id", array("targetclass" => 'Person', "allowed_values" => new ValueSetObjects("SELECT Person WHERE org_id= :this->org_id"), "sql" => 'approver_id', "is_null_allowed" => true, "on_target_delete" => DEL_MANUAL, "depends_on" => array('org_id'), "allow_target_creation" => false, "display_style" => 'select', "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeExternalField("approver_email", array("allowed_values" => null, "extkey_attcode" => 'approver_id', "target_attcode" => 'email', "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeExternalKey("service_id", array("targetclass" => 'Service', "allowed_values" => new ValueSetObjects("SELECT Service AS s JOIN lnkCustomerContractToService AS l1 ON l1.service_id=s.id JOIN CustomerContract AS cc ON l1.customercontract_id=cc.id WHERE cc.org_id = :this->org_id AND s.status != 'obsolete'"), "sql" => 'service_id', "is_null_allowed" => true, "on_target_delete" => DEL_MANUAL, "depends_on" => array('org_id'), "allow_target_creation" => false, "display_style" => 'select', "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeExternalField("service_name", array("allowed_values" => null, "extkey_attcode" => 'service_id', "target_attcode" => 'name', "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeExternalKey("servicesubcategory_id", array("targetclass" => 'ServiceSubcategory', "allowed_values" => new ValueSetObjects("SELECT ServiceSubcategory WHERE service_id = :this->service_id AND request_type = :this->request_type AND status != 'obsolete'"), "sql" => 'servicesubcategory_id', "is_null_allowed" => true, "on_target_delete" => DEL_MANUAL, "depends_on" => array('service_id', 'request_type'), "allow_target_creation" => false, "display_style" => 'select', "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeExternalField("servicesubcategory_name", array("allowed_values" => null, "extkey_attcode" => 'servicesubcategory_id', "target_attcode" => 'name', "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeEnum("escalation_flag", array("allowed_values" => new ValueSetEnum("yes,no"), "display_style" => 'list', "sql" => 'escalation_flag', "default_value" => 'no', "is_null_allowed" => true, "depends_on" => array(), "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeString("escalation_reason", array("allowed_values" => null, "sql" => 'escalation_reason', "default_value" => '', "is_null_allowed" => true, "depends_on" => array(), "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeDateTime("assignment_date", array("allowed_values" => null, "sql" => 'assignment_date', "default_value" => '', "is_null_allowed" => true, "depends_on" => array(), "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeDateTime("resolution_date", array("allowed_values" => null, "sql" => 'resolution_date', "default_value" => '', "is_null_allowed" => true, "depends_on" => array(), "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeDateTime("last_pending_date", array("allowed_values" => null, "sql" => 'last_pending_date', "default_value" => '', "is_null_allowed" => true, "depends_on" => array(), "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeStopWatch("cumulatedpending", array("states" => array("pending"), "goal_computing" => 'DefaultMetricComputer', "working_time_computing" => '', "thresholds" => array(), "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeStopWatch("tto", array("states" => array("new", "escalated_tto"), "goal_computing" => 'ResponseTicketTTO', "working_time_computing" => '', "thresholds" => array(75 => array('percent' => 75, 'actions' => array()), 100 => array('percent' => 100, 'actions' => array(array('verb' => 'ApplyStimulus', 'params' => array("ev_timeout"))))), "always_load_in_tables" => true)));
     MetaModel::Init_AddAttribute(new AttributeStopWatch("ttr", array("states" => array("new", "escalated_tto", "assigned", "approved", "escalated_ttr"), "goal_computing" => 'ResponseTicketTTR', "working_time_computing" => '', "thresholds" => array(75 => array('percent' => 75, 'actions' => array()), 100 => array('percent' => 100, 'actions' => array(array('verb' => 'ApplyStimulus', 'params' => array("ev_timeout"))))), "always_load_in_tables" => true)));
     MetaModel::Init_AddAttribute(new AttributeSubItem("tto_escalation_deadline", array("target_attcode" => 'tto', "item_code" => '100_deadline', "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeSubItem("sla_tto_passed", array("target_attcode" => 'tto', "item_code" => '100_triggered', "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeSubItem("sla_tto_over", array("target_attcode" => 'tto', "item_code" => '100_overrun', "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeSubItem("ttr_escalation_deadline", array("target_attcode" => 'ttr', "item_code" => '100_deadline', "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeSubItem("sla_ttr_passed", array("target_attcode" => 'ttr', "item_code" => '100_triggered', "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeSubItem("sla_ttr_over", array("target_attcode" => 'ttr', "item_code" => '100_overrun', "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeDuration("time_spent", array("allowed_values" => null, "sql" => 'time_spent', "default_value" => '', "is_null_allowed" => true, "depends_on" => array(), "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeEnum("resolution_code", array("allowed_values" => new ValueSetEnum("assistance,other,software patch,training,hardware repair,system update,bug fixed"), "display_style" => 'list', "sql" => 'resolution_code', "default_value" => 'assistance', "is_null_allowed" => true, "depends_on" => array(), "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeText("solution", array("allowed_values" => null, "sql" => 'solution', "default_value" => '', "is_null_allowed" => true, "depends_on" => array(), "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeText("pending_reason", array("allowed_values" => null, "sql" => 'pending_reason', "default_value" => '', "is_null_allowed" => true, "depends_on" => array(), "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeExternalKey("parent_request_id", array("targetclass" => 'UserRequest', "allowed_values" => new ValueSetObjects("SELECT UserRequest WHERE id != :this->id AND status NOT IN ('rejected','resolved','closed')"), "sql" => 'parent_request_id', "is_null_allowed" => true, "on_target_delete" => DEL_MANUAL, "depends_on" => array(), "display_style" => 'select', "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeExternalField("parent_request_ref", array("allowed_values" => null, "extkey_attcode" => 'parent_request_id', "target_attcode" => 'ref', "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeExternalKey("parent_incident_id", array("targetclass" => 'Incident', "allowed_values" => new ValueSetObjects("SELECT Incident WHERE status != \"closed\""), "sql" => 'parent_incident_id', "is_null_allowed" => true, "on_target_delete" => DEL_MANUAL, "depends_on" => array(), "display_style" => 'select', "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeExternalField("parent_incident_ref", array("allowed_values" => null, "extkey_attcode" => 'parent_incident_id', "target_attcode" => 'ref', "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeExternalKey("parent_problem_id", array("targetclass" => 'Problem', "allowed_values" => null, "sql" => 'parent_problem_id', "is_null_allowed" => true, "on_target_delete" => DEL_MANUAL, "depends_on" => array(), "display_style" => 'select', "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeExternalField("parent_problem_ref", array("allowed_values" => null, "extkey_attcode" => 'parent_problem_id', "target_attcode" => 'ref', "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeExternalKey("parent_change_id", array("targetclass" => 'Change', "allowed_values" => new ValueSetObjects("SELECT Change WHERE status != \"closed\""), "sql" => 'parent_change_id', "is_null_allowed" => true, "on_target_delete" => DEL_MANUAL, "depends_on" => array(), "display_style" => 'select', "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeExternalField("parent_change_ref", array("allowed_values" => null, "extkey_attcode" => 'parent_change_id', "target_attcode" => 'ref', "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeLinkedSet("related_request_list", array("linked_class" => 'UserRequest', "ext_key_to_me" => 'parent_request_id', "count_min" => 0, "count_max" => 0, "edit_mode" => LINKSET_EDITMODE_ADDREMOVE, "allowed_values" => null, "depends_on" => array(), "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeCaseLog("public_log", array("allowed_values" => null, "sql" => 'public_log', "default_value" => '', "is_null_allowed" => true, "depends_on" => array(), "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeEnum("user_satisfaction", array("allowed_values" => new ValueSetEnum("1,2,3,4"), "display_style" => 'list', "sql" => 'user_satisfaction', "default_value" => '1', "is_null_allowed" => true, "depends_on" => array(), "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeText("user_comment", array("allowed_values" => null, "sql" => 'user_commment', "default_value" => '', "is_null_allowed" => true, "depends_on" => array(), "always_load_in_tables" => false)));
     // Lifecycle (status attribute: status)
     //
     MetaModel::Init_DefineStimulus(new StimulusUserAction("ev_assign", array()));
     MetaModel::Init_DefineStimulus(new StimulusUserAction("ev_reassign", array()));
     MetaModel::Init_DefineStimulus(new StimulusUserAction("ev_approve", array()));
     MetaModel::Init_DefineStimulus(new StimulusUserAction("ev_reject", array()));
     MetaModel::Init_DefineStimulus(new StimulusUserAction("ev_pending", array()));
     MetaModel::Init_DefineStimulus(new StimulusInternal("ev_timeout", array()));
     MetaModel::Init_DefineStimulus(new StimulusInternal("ev_autoresolve", array()));
     MetaModel::Init_DefineStimulus(new StimulusInternal("ev_autoclose", array()));
     MetaModel::Init_DefineStimulus(new StimulusUserAction("ev_resolve", array()));
     MetaModel::Init_DefineStimulus(new StimulusUserAction("ev_close", array()));
     MetaModel::Init_DefineStimulus(new StimulusUserAction("ev_reopen", array()));
     MetaModel::Init_DefineStimulus(new StimulusUserAction("ev_wait_for_approval", array()));
     MetaModel::Init_DefineState("new", array("attribute_inherit" => '', "attribute_list" => array('ref' => OPT_ATT_READONLY, 'org_id' => OPT_ATT_MANDATORY, 'caller_id' => OPT_ATT_MANDATORY, 'team_id' => OPT_ATT_HIDDEN, 'agent_id' => OPT_ATT_HIDDEN, 'priority' => OPT_ATT_READONLY, 'start_date' => OPT_ATT_READONLY, 'last_update' => OPT_ATT_READONLY, 'close_date' => OPT_ATT_HIDDEN, 'approver_id' => OPT_ATT_HIDDEN, 'request_type' => OPT_ATT_READONLY, 'escalation_flag' => OPT_ATT_HIDDEN, 'escalation_reason' => OPT_ATT_HIDDEN, 'assignment_date' => OPT_ATT_HIDDEN, 'resolution_date' => OPT_ATT_HIDDEN, 'last_pending_date' => OPT_ATT_HIDDEN, 'time_spent' => OPT_ATT_HIDDEN, 'resolution_code' => OPT_ATT_HIDDEN, 'solution' => OPT_ATT_HIDDEN, 'pending_reason' => OPT_ATT_HIDDEN, 'user_satisfaction' => OPT_ATT_HIDDEN, 'user_comment' => OPT_ATT_HIDDEN, 'tto_escalation_deadline' => OPT_ATT_READONLY, 'sla_tto_passed' => OPT_ATT_HIDDEN, 'sla_tto_over' => OPT_ATT_HIDDEN, 'sla_ttr_passed' => OPT_ATT_HIDDEN, 'ttr_escalation_deadline' => OPT_ATT_HIDDEN, 'sla_ttr_over' => OPT_ATT_HIDDEN)));
     MetaModel::Init_DefineTransition("new", "ev_assign", array("target_state" => "assigned", "actions" => array('SetAssignedDate'), "user_restriction" => null));
     MetaModel::Init_DefineTransition("new", "ev_timeout", array("target_state" => "escalated_tto", "actions" => array(), "user_restriction" => null));
     MetaModel::Init_DefineTransition("new", "ev_wait_for_approval", array("target_state" => "waiting_for_approval", "actions" => array(), "user_restriction" => null));
     MetaModel::Init_DefineTransition("new", "ev_autoresolve", array("target_state" => "resolved", "actions" => array('SetResolveDate', 'resolveChilds'), "user_restriction" => null));
     MetaModel::Init_DefineState("escalated_tto", array("attribute_inherit" => '', "attribute_list" => array('ref' => OPT_ATT_READONLY, 'org_id' => OPT_ATT_MANDATORY, 'caller_id' => OPT_ATT_MANDATORY, 'agent_id' => OPT_ATT_HIDDEN, 'priority' => OPT_ATT_READONLY, 'start_date' => OPT_ATT_READONLY, 'last_update' => OPT_ATT_READONLY, 'close_date' => OPT_ATT_HIDDEN, 'approver_id' => OPT_ATT_HIDDEN, 'request_type' => OPT_ATT_READONLY, 'escalation_flag' => OPT_ATT_HIDDEN, 'escalation_reason' => OPT_ATT_HIDDEN, 'assignment_date' => OPT_ATT_HIDDEN, 'resolution_date' => OPT_ATT_HIDDEN, 'last_pending_date' => OPT_ATT_HIDDEN, 'time_spent' => OPT_ATT_HIDDEN, 'resolution_code' => OPT_ATT_HIDDEN, 'solution' => OPT_ATT_HIDDEN, 'pending_reason' => OPT_ATT_HIDDEN, 'user_satisfaction' => OPT_ATT_HIDDEN, 'user_comment' => OPT_ATT_HIDDEN, 'tto_escalation_deadline' => OPT_ATT_READONLY, 'sla_tto_passed' => OPT_ATT_HIDDEN, 'sla_tto_over' => OPT_ATT_HIDDEN, 'sla_ttr_passed' => OPT_ATT_HIDDEN, 'ttr_escalation_deadline' => OPT_ATT_HIDDEN, 'sla_ttr_over' => OPT_ATT_HIDDEN)));
     MetaModel::Init_DefineTransition("escalated_tto", "ev_assign", array("target_state" => "assigned", "actions" => array('SetAssignedDate'), "user_restriction" => null));
     MetaModel::Init_DefineState("assigned", array("attribute_inherit" => '', "attribute_list" => array('ref' => OPT_ATT_READONLY, 'org_id' => OPT_ATT_MANDATORY, 'team_id' => OPT_ATT_MANDATORY | OPT_ATT_MUSTPROMPT, 'agent_id' => OPT_ATT_MANDATORY | OPT_ATT_MUSTPROMPT, 'priority' => OPT_ATT_READONLY, 'start_date' => OPT_ATT_READONLY, 'last_update' => OPT_ATT_READONLY, 'close_date' => OPT_ATT_HIDDEN, 'request_type' => OPT_ATT_READONLY, 'approver_id' => OPT_ATT_READONLY, 'assignment_date' => OPT_ATT_READONLY, 'resolution_date' => OPT_ATT_HIDDEN, 'last_pending_date' => OPT_ATT_HIDDEN, 'time_spent' => OPT_ATT_HIDDEN, 'resolution_code' => OPT_ATT_HIDDEN, 'solution' => OPT_ATT_HIDDEN, 'pending_reason' => OPT_ATT_HIDDEN, 'user_satisfaction' => OPT_ATT_HIDDEN, 'user_comment' => OPT_ATT_HIDDEN, 'tto_escalation_deadline' => OPT_ATT_HIDDEN, 'sla_tto_passed' => OPT_ATT_READONLY, 'sla_tto_over' => OPT_ATT_READONLY, 'sla_ttr_passed' => OPT_ATT_HIDDEN, 'ttr_escalation_deadline' => OPT_ATT_READONLY, 'sla_ttr_over' => OPT_ATT_HIDDEN)));
     MetaModel::Init_DefineTransition("assigned", "ev_pending", array("target_state" => "pending", "actions" => array('SetLastPendingDate'), "user_restriction" => null));
     MetaModel::Init_DefineTransition("assigned", "ev_resolve", array("target_state" => "resolved", "actions" => array('SetResolveDate', 'resolveChilds'), "user_restriction" => null));
     MetaModel::Init_DefineTransition("assigned", "ev_reassign", array("target_state" => "assigned", "actions" => array(), "user_restriction" => null));
     MetaModel::Init_DefineTransition("assigned", "ev_timeout", array("target_state" => "escalated_ttr", "actions" => array(), "user_restriction" => null));
     MetaModel::Init_DefineTransition("assigned", "ev_autoresolve", array("target_state" => "resolved", "actions" => array('SetResolveDate', 'resolveChilds'), "user_restriction" => null));
     MetaModel::Init_DefineState("escalated_ttr", array("attribute_inherit" => '', "attribute_list" => array('ref' => OPT_ATT_READONLY, 'org_id' => OPT_ATT_MANDATORY, 'team_id' => OPT_ATT_MANDATORY, 'agent_id' => OPT_ATT_MANDATORY, 'priority' => OPT_ATT_READONLY, 'start_date' => OPT_ATT_READONLY, 'last_update' => OPT_ATT_READONLY, 'close_date' => OPT_ATT_HIDDEN, 'request_type' => OPT_ATT_READONLY, 'approver_id' => OPT_ATT_READONLY, 'assignment_date' => OPT_ATT_READONLY, 'resolution_date' => OPT_ATT_HIDDEN, 'last_pending_date' => OPT_ATT_HIDDEN, 'time_spent' => OPT_ATT_HIDDEN, 'resolution_code' => OPT_ATT_HIDDEN, 'solution' => OPT_ATT_HIDDEN, 'pending_reason' => OPT_ATT_HIDDEN, 'user_satisfaction' => OPT_ATT_HIDDEN, 'user_comment' => OPT_ATT_HIDDEN, 'tto_escalation_deadline' => OPT_ATT_HIDDEN, 'sla_tto_passed' => OPT_ATT_READONLY, 'sla_tto_over' => OPT_ATT_READONLY, 'sla_ttr_passed' => OPT_ATT_HIDDEN, 'ttr_escalation_deadline' => OPT_ATT_READONLY, 'sla_ttr_over' => OPT_ATT_HIDDEN)));
     MetaModel::Init_DefineTransition("escalated_ttr", "ev_pending", array("target_state" => "pending", "actions" => array('SetLastPendingDate'), "user_restriction" => null));
     MetaModel::Init_DefineTransition("escalated_ttr", "ev_resolve", array("target_state" => "resolved", "actions" => array('SetResolveDate', 'resolveChilds'), "user_restriction" => null));
     MetaModel::Init_DefineTransition("escalated_ttr", "ev_reassign", array("target_state" => "assigned", "actions" => array(), "user_restriction" => null));
     MetaModel::Init_DefineTransition("escalated_ttr", "ev_autoresolve", array("target_state" => "resolved", "actions" => array('SetResolveDate', 'resolveChilds'), "user_restriction" => null));
     MetaModel::Init_DefineState("waiting_for_approval", array("attribute_inherit" => '', "attribute_list" => array('ref' => OPT_ATT_READONLY, 'org_id' => OPT_ATT_MANDATORY, 'caller_id' => OPT_ATT_MANDATORY, 'agent_id' => OPT_ATT_HIDDEN, 'priority' => OPT_ATT_READONLY, 'start_date' => OPT_ATT_READONLY, 'last_update' => OPT_ATT_READONLY, 'close_date' => OPT_ATT_HIDDEN, 'approver_id' => OPT_ATT_MUSTPROMPT, 'request_type' => OPT_ATT_READONLY, 'escalation_flag' => OPT_ATT_HIDDEN, 'escalation_reason' => OPT_ATT_HIDDEN, 'assignment_date' => OPT_ATT_HIDDEN, 'resolution_date' => OPT_ATT_HIDDEN, 'last_pending_date' => OPT_ATT_HIDDEN, 'time_spent' => OPT_ATT_HIDDEN, 'resolution_code' => OPT_ATT_HIDDEN, 'solution' => OPT_ATT_HIDDEN, 'pending_reason' => OPT_ATT_HIDDEN, 'user_satisfaction' => OPT_ATT_HIDDEN, 'user_comment' => OPT_ATT_HIDDEN, 'tto_escalation_deadline' => OPT_ATT_READONLY, 'sla_tto_passed' => OPT_ATT_HIDDEN, 'sla_tto_over' => OPT_ATT_HIDDEN, 'sla_ttr_passed' => OPT_ATT_HIDDEN, 'ttr_escalation_deadline' => OPT_ATT_HIDDEN, 'sla_ttr_over' => OPT_ATT_HIDDEN)));
     MetaModel::Init_DefineTransition("waiting_for_approval", "ev_approve", array("target_state" => "approved", "actions" => array(), "user_restriction" => null));
     MetaModel::Init_DefineTransition("waiting_for_approval", "ev_reject", array("target_state" => "rejected", "actions" => array(), "user_restriction" => null));
     MetaModel::Init_DefineState("approved", array("attribute_inherit" => '', "attribute_list" => array('ref' => OPT_ATT_READONLY, 'org_id' => OPT_ATT_MANDATORY, 'caller_id' => OPT_ATT_MANDATORY, 'agent_id' => OPT_ATT_HIDDEN, 'priority' => OPT_ATT_READONLY, 'start_date' => OPT_ATT_READONLY, 'last_update' => OPT_ATT_READONLY, 'close_date' => OPT_ATT_HIDDEN, 'approver_id' => OPT_ATT_READONLY, 'request_type' => OPT_ATT_READONLY, 'escalation_flag' => OPT_ATT_HIDDEN, 'escalation_reason' => OPT_ATT_HIDDEN, 'assignment_date' => OPT_ATT_HIDDEN, 'resolution_date' => OPT_ATT_HIDDEN, 'last_pending_date' => OPT_ATT_HIDDEN, 'time_spent' => OPT_ATT_HIDDEN, 'resolution_code' => OPT_ATT_HIDDEN, 'solution' => OPT_ATT_HIDDEN, 'pending_reason' => OPT_ATT_HIDDEN, 'user_satisfaction' => OPT_ATT_HIDDEN, 'user_comment' => OPT_ATT_HIDDEN, 'tto_escalation_deadline' => OPT_ATT_READONLY, 'sla_tto_passed' => OPT_ATT_HIDDEN, 'sla_tto_over' => OPT_ATT_HIDDEN, 'sla_ttr_passed' => OPT_ATT_HIDDEN, 'ttr_escalation_deadline' => OPT_ATT_HIDDEN, 'sla_ttr_over' => OPT_ATT_HIDDEN)));
     MetaModel::Init_DefineTransition("approved", "ev_timeout", array("target_state" => "escalated_tto", "actions" => array(), "user_restriction" => null));
     MetaModel::Init_DefineTransition("approved", "ev_assign", array("target_state" => "assigned", "actions" => array('SetAssignedDate'), "user_restriction" => null));
     MetaModel::Init_DefineTransition("approved", "ev_autoresolve", array("target_state" => "resolved", "actions" => array('SetResolveDate', 'resolveChilds'), "user_restriction" => null));
     MetaModel::Init_DefineState("rejected", array("attribute_inherit" => '', "attribute_list" => array('ref' => OPT_ATT_READONLY, 'org_id' => OPT_ATT_MANDATORY, 'caller_id' => OPT_ATT_MANDATORY, 'agent_id' => OPT_ATT_HIDDEN, 'priority' => OPT_ATT_READONLY, 'start_date' => OPT_ATT_READONLY, 'last_update' => OPT_ATT_READONLY, 'close_date' => OPT_ATT_HIDDEN, 'approver_id' => OPT_ATT_HIDDEN, 'request_type' => OPT_ATT_READONLY, 'escalation_flag' => OPT_ATT_HIDDEN, 'escalation_reason' => OPT_ATT_HIDDEN, 'assignment_date' => OPT_ATT_HIDDEN, 'resolution_date' => OPT_ATT_HIDDEN, 'last_pending_date' => OPT_ATT_HIDDEN, 'time_spent' => OPT_ATT_HIDDEN, 'resolution_code' => OPT_ATT_HIDDEN, 'solution' => OPT_ATT_HIDDEN, 'pending_reason' => OPT_ATT_HIDDEN, 'user_satisfaction' => OPT_ATT_HIDDEN, 'user_comment' => OPT_ATT_HIDDEN, 'tto_escalation_deadline' => OPT_ATT_HIDDEN, 'sla_tto_passed' => OPT_ATT_HIDDEN, 'sla_tto_over' => OPT_ATT_HIDDEN, 'sla_ttr_passed' => OPT_ATT_HIDDEN, 'ttr_escalation_deadline' => OPT_ATT_HIDDEN, 'sla_ttr_over' => OPT_ATT_HIDDEN)));
     MetaModel::Init_DefineTransition("rejected", "ev_reopen", array("target_state" => "new", "actions" => array(), "user_restriction" => null));
     MetaModel::Init_DefineState("pending", array("attribute_inherit" => '', "attribute_list" => array('ref' => OPT_ATT_READONLY, 'org_id' => OPT_ATT_MANDATORY, 'team_id' => OPT_ATT_MANDATORY, 'agent_id' => OPT_ATT_MANDATORY, 'priority' => OPT_ATT_READONLY, 'start_date' => OPT_ATT_READONLY, 'last_update' => OPT_ATT_READONLY, 'close_date' => OPT_ATT_HIDDEN, 'request_type' => OPT_ATT_READONLY, 'approver_id' => OPT_ATT_READONLY, 'assignment_date' => OPT_ATT_READONLY, 'resolution_date' => OPT_ATT_HIDDEN, 'last_pending_date' => OPT_ATT_READONLY, 'time_spent' => OPT_ATT_HIDDEN, 'resolution_code' => OPT_ATT_HIDDEN, 'solution' => OPT_ATT_HIDDEN, 'pending_reason' => OPT_ATT_MANDATORY | OPT_ATT_MUSTPROMPT, 'user_satisfaction' => OPT_ATT_HIDDEN, 'user_comment' => OPT_ATT_HIDDEN, 'tto_escalation_deadline' => OPT_ATT_HIDDEN, 'sla_tto_passed' => OPT_ATT_READONLY, 'sla_tto_over' => OPT_ATT_READONLY, 'sla_ttr_passed' => OPT_ATT_HIDDEN, 'ttr_escalation_deadline' => OPT_ATT_HIDDEN, 'sla_ttr_over' => OPT_ATT_HIDDEN)));
     MetaModel::Init_DefineTransition("pending", "ev_assign", array("target_state" => "assigned", "actions" => array(), "user_restriction" => null));
     MetaModel::Init_DefineTransition("pending", "ev_autoresolve", array("target_state" => "resolved", "actions" => array('SetResolveDate', 'resolveChilds'), "user_restriction" => null));
     MetaModel::Init_DefineState("resolved", array("attribute_inherit" => '', "attribute_list" => array('ref' => OPT_ATT_READONLY, 'org_id' => OPT_ATT_READONLY, 'caller_id' => OPT_ATT_READONLY, 'origin' => OPT_ATT_READONLY, 'team_id' => OPT_ATT_READONLY, 'agent_id' => OPT_ATT_READONLY, 'impact' => OPT_ATT_READONLY, 'urgency' => OPT_ATT_READONLY, 'priority' => OPT_ATT_READONLY, 'start_date' => OPT_ATT_READONLY, 'last_update' => OPT_ATT_READONLY, 'close_date' => OPT_ATT_HIDDEN, 'request_type' => OPT_ATT_READONLY, 'approver_id' => OPT_ATT_READONLY, 'service_id' => OPT_ATT_MANDATORY | OPT_ATT_MUSTPROMPT, 'servicesubcategory_id' => OPT_ATT_MUSTPROMPT, 'escalation_flag' => OPT_ATT_READONLY, 'escalation_reason' => OPT_ATT_READONLY, 'assignment_date' => OPT_ATT_READONLY, 'resolution_date' => OPT_ATT_READONLY, 'last_pending_date' => OPT_ATT_HIDDEN, 'time_spent' => OPT_ATT_READONLY, 'resolution_code' => OPT_ATT_MANDATORY | OPT_ATT_MUSTPROMPT, 'solution' => OPT_ATT_MANDATORY | OPT_ATT_MUSTPROMPT, 'pending_reason' => OPT_ATT_READONLY, 'user_satisfaction' => OPT_ATT_HIDDEN, 'user_comment' => OPT_ATT_HIDDEN, 'parent_request_id' => OPT_ATT_READONLY, 'parent_change_id' => OPT_ATT_READONLY, 'parent_problem_id' => OPT_ATT_READONLY, 'title' => OPT_ATT_READONLY, 'description' => OPT_ATT_READONLY, 'tto_escalation_deadline' => OPT_ATT_HIDDEN, 'sla_tto_passed' => OPT_ATT_READONLY, 'sla_tto_over' => OPT_ATT_READONLY, 'sla_ttr_passed' => OPT_ATT_READONLY, 'ttr_escalation_deadline' => OPT_ATT_HIDDEN, 'sla_ttr_over' => OPT_ATT_READONLY)));
     MetaModel::Init_DefineTransition("resolved", "ev_close", array("target_state" => "closed", "actions" => array('SetClosureDate'), "user_restriction" => null));
     MetaModel::Init_DefineTransition("resolved", "ev_reopen", array("target_state" => "assigned", "actions" => array(), "user_restriction" => null));
     MetaModel::Init_DefineTransition("resolved", "ev_autoresolve", array("target_state" => "resolved", "actions" => array('SetResolveDate', 'resolveChilds'), "user_restriction" => null));
     MetaModel::Init_DefineState("closed", array("attribute_inherit" => '', "attribute_list" => array('ref' => OPT_ATT_READONLY, 'org_id' => OPT_ATT_READONLY, 'caller_id' => OPT_ATT_READONLY, 'origin' => OPT_ATT_READONLY, 'team_id' => OPT_ATT_READONLY, 'agent_id' => OPT_ATT_READONLY, 'start_date' => OPT_ATT_READONLY, 'last_update' => OPT_ATT_READONLY, 'private_log' => OPT_ATT_READONLY, 'request_type' => OPT_ATT_READONLY, 'impact' => OPT_ATT_READONLY, 'urgency' => OPT_ATT_READONLY, 'priority' => OPT_ATT_READONLY, 'approver_id' => OPT_ATT_READONLY, 'service_id' => OPT_ATT_READONLY, 'servicesubcategory_id' => OPT_ATT_READONLY, 'escalation_flag' => OPT_ATT_READONLY, 'escalation_reason' => OPT_ATT_READONLY, 'assignment_date' => OPT_ATT_READONLY, 'resolution_date' => OPT_ATT_READONLY, 'close_date' => OPT_ATT_READONLY, 'last_pending_date' => OPT_ATT_HIDDEN, 'time_spent' => OPT_ATT_READONLY, 'resolution_code' => OPT_ATT_READONLY, 'solution' => OPT_ATT_READONLY, 'pending_reason' => OPT_ATT_READONLY, 'public_log' => OPT_ATT_READONLY, 'user_satisfaction' => OPT_ATT_MUSTPROMPT, 'user_comment' => OPT_ATT_MUSTPROMPT, 'pending_reason' => OPT_ATT_READONLY, 'parent_request_id' => OPT_ATT_READONLY, 'parent_change_id' => OPT_ATT_READONLY, 'parent_problem_id' => OPT_ATT_READONLY, 'title' => OPT_ATT_READONLY, 'description' => OPT_ATT_READONLY, 'tto_escalation_deadline' => OPT_ATT_HIDDEN, 'sla_tto_passed' => OPT_ATT_READONLY, 'sla_tto_over' => OPT_ATT_READONLY, 'sla_ttr_passed' => OPT_ATT_READONLY, 'ttr_escalation_deadline' => OPT_ATT_HIDDEN, 'sla_ttr_over' => OPT_ATT_READONLY, 'functionalcis_list' => OPT_ATT_READONLY, 'contacts_list' => OPT_ATT_READONLY)));
     MetaModel::Init_SetZListItems('details', array(0 => 'functionalcis_list', 1 => 'contacts_list', 2 => 'related_request_list', 3 => 'workorders_list', 'col:col1' => array('fieldset:Ticket:baseinfo' => array(0 => 'org_id', 1 => 'caller_id', 2 => 'status', 3 => 'origin', 4 => 'title', 5 => 'description'), 'fieldset:Ticket:moreinfo' => array(0 => 'service_id', 1 => 'servicesubcategory_id', 2 => 'escalation_flag', 3 => 'escalation_reason', 4 => 'pending_reason')), 'col:col2' => array('fieldset:Ticket:Type' => array(0 => 'request_type', 1 => 'impact', 2 => 'urgency', 3 => 'priority'), 'fieldset:Ticket:contact' => array(0 => 'team_id', 1 => 'agent_id', 2 => 'approver_id'), 'fieldset:Ticket:date' => array(0 => 'start_date', 1 => 'last_update', 2 => 'assignment_date', 3 => 'tto_escalation_deadline', 4 => 'ttr_escalation_deadline', 5 => 'last_pending_date', 6 => 'resolution_date', 7 => 'close_date')), 'col:col3' => array('fieldset:Ticket:relation' => array(0 => 'parent_request_id', 1 => 'parent_incident_id', 2 => 'parent_problem_id', 3 => 'parent_change_id'), 'fieldset:Ticket:resolution' => array(0 => 'resolution_code', 1 => 'solution', 2 => 'time_spent', 3 => 'user_satisfaction', 4 => 'user_comment'), 'fieldset:Ticket:SLA' => array(0 => 'sla_tto_passed', 1 => 'sla_tto_over', 2 => 'sla_ttr_passed', 3 => 'sla_ttr_over'))));
     MetaModel::Init_SetZListItems('standard_search', array(0 => 'ref', 1 => 'org_id', 2 => 'title', 3 => 'description', 4 => 'start_date', 5 => 'resolution_date', 6 => 'close_date', 7 => 'status', 8 => 'caller_id', 9 => 'origin', 10 => 'request_type', 11 => 'impact', 12 => 'urgency', 13 => 'priority', 14 => 'service_id', 15 => 'servicesubcategory_id', 16 => 'team_id', 17 => 'agent_id', 18 => 'escalation_flag', 19 => 'resolution_code', 20 => 'user_satisfaction', 21 => 'sla_tto_passed', 22 => 'sla_ttr_passed'));
     MetaModel::Init_SetZListItems('list', array(0 => 'title', 1 => 'org_id', 2 => 'caller_id', 3 => 'start_date', 4 => 'status', 5 => 'agent_id'));
 }
 public static function Init()
 {
     $aParams = array("category" => "core/cmdb", "key_type" => "", "name_attcode" => "change", "state_attcode" => "", "reconc_keys" => array(), "db_table" => "priv_changeop_links_tune", "db_key_field" => "id", "db_finalclass_field" => "");
     MetaModel::Init_Params($aParams);
     MetaModel::Init_InheritAttributes();
     MetaModel::Init_AddAttribute(new AttributeInteger("link_id", array("allowed_values" => null, "sql" => "link_id", "default_value" => 0, "is_null_allowed" => false, "depends_on" => array())));
 }
 public static function Init()
 {
     $aParams = array("category" => "core/cmdb", "key_type" => "", "name_attcode" => "change", "state_attcode" => "", "reconc_keys" => array(), "db_table" => "priv_changeop_attachment_removed", "db_key_field" => "id", "db_finalclass_field" => "");
     MetaModel::Init_Params($aParams);
     MetaModel::Init_InheritAttributes();
     MetaModel::Init_AddAttribute(new AttributeString("filename", array("allowed_values" => null, "sql" => "filename", "default_value" => "", "is_null_allowed" => false, "depends_on" => array())));
     // Display lists
     MetaModel::Init_SetZListItems('details', array('filename'));
     // Attributes to be displayed for the complete details
     MetaModel::Init_SetZListItems('list', array('filename'));
     // Attributes to be displayed for a list
 }
 public static function Init()
 {
     $aParams = array("category" => "gui,view_in_gui", "key_type" => "autoincrement", "name_attcode" => "name", "state_attcode" => "", "reconc_keys" => array(), "db_table" => "priv_shortcut_oql", "db_key_field" => "id", "db_finalclass_field" => "", "display_template" => "");
     MetaModel::Init_Params($aParams);
     MetaModel::Init_InheritAttributes();
     MetaModel::Init_AddAttribute(new AttributeOQL("oql", array("allowed_values" => null, "sql" => "oql", "default_value" => null, "is_null_allowed" => false, "depends_on" => array())));
     MetaModel::Init_AddAttribute(new AttributeEnum("auto_reload", array("allowed_values" => new ValueSetEnum('none,custom'), "sql" => "auto_reload", "default_value" => "none", "is_null_allowed" => false, "depends_on" => array())));
     MetaModel::Init_AddAttribute(new AttributeInteger("auto_reload_sec", array("allowed_values" => null, "sql" => "auto_reload_sec", "default_value" => 60, "is_null_allowed" => false, "depends_on" => array())));
     // Display lists
     MetaModel::Init_SetZListItems('details', array('name', 'context', 'oql'));
     // Attributes to be displayed for the complete details
     MetaModel::Init_SetZListItems('list', array('name'));
     // Attributes to be displayed for a list
     // Search criteria
     //		MetaModel::Init_SetZListItems('standard_search', array('name')); // Criteria of the std search form
     //		MetaModel::Init_SetZListItems('advanced_search', array('name')); // Criteria of the advanced search form
 }
 public static function Init()
 {
     $aParams = array("category" => "core/cmdb,application", "key_type" => "autoincrement", "name_attcode" => "description", "state_attcode" => "", "reconc_keys" => array('description'), "db_table" => "priv_trigger_threshold", "db_key_field" => "id", "db_finalclass_field" => "", "display_template" => "");
     MetaModel::Init_Params($aParams);
     MetaModel::Init_InheritAttributes();
     MetaModel::Init_AddAttribute(new AttributeString("stop_watch_code", array("allowed_values" => null, "sql" => "stop_watch_code", "default_value" => null, "is_null_allowed" => false, "depends_on" => array())));
     MetaModel::Init_AddAttribute(new AttributeString("threshold_index", array("allowed_values" => null, "sql" => "threshold_index", "default_value" => null, "is_null_allowed" => false, "depends_on" => array())));
     // Display lists
     MetaModel::Init_SetZListItems('details', array('description', 'target_class', 'stop_watch_code', 'threshold_index', 'action_list'));
     // Attributes to be displayed for the complete details
     MetaModel::Init_SetZListItems('list', array('target_class', 'threshold_index', 'threshold_index'));
     // Attributes to be displayed for a list
     // Search criteria
     MetaModel::Init_SetZListItems('standard_search', array('description', 'target_class'));
     // Criteria of the std search form
     //		MetaModel::Init_SetZListItems('advanced_search', array('name')); // Criteria of the advanced search form
 }
 public static function Init()
 {
     $aParams = array('category' => 'bizmodel,searchable,incidentmgmt,requestmgmt,changemgmt,m2prequest', 'key_type' => 'autoincrement', 'name_attcode' => 'name', 'state_attcode' => 'status', 'reconc_keys' => array('name', 'ticket_id'), 'db_table' => 'workorder', 'db_key_field' => 'id', 'db_finalclass_field' => '', 'icon' => utils::GetAbsoluteUrlModulesRoot() . 'itop-tickets/images/workorder.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(), "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeEnum("status", array("allowed_values" => new ValueSetEnum("open,closed"), "display_style" => 'list', "sql" => 'status', "default_value" => 'open', "is_null_allowed" => false, "depends_on" => array(), "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeText("description", array("allowed_values" => null, "sql" => 'description', "default_value" => '', "is_null_allowed" => false, "depends_on" => array(), "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeExternalKey("ticket_id", array("targetclass" => 'Ticket', "allowed_values" => null, "sql" => 'ticket_id', "is_null_allowed" => false, "on_target_delete" => DEL_AUTO, "depends_on" => array(), "display_style" => 'select', "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeExternalField("ticket_ref", array("allowed_values" => null, "extkey_attcode" => 'ticket_id', "target_attcode" => 'ref', "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeExternalKey("team_id", array("targetclass" => 'Team', "allowed_values" => new ValueSetObjects("SELECT Team"), "sql" => 'team_id', "is_null_allowed" => false, "on_target_delete" => DEL_MANUAL, "depends_on" => array(), "display_style" => 'select', "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeExternalField("team_name", array("allowed_values" => null, "extkey_attcode" => 'team_id', "target_attcode" => 'email', "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeExternalKey("agent_id", array("targetclass" => 'Person', "allowed_values" => new ValueSetObjects("SELECT Person AS p JOIN lnkPersonToTeam AS l ON l.person_id=p.id JOIN Team AS t ON l.team_id=t.id WHERE t.id = :this->team_id"), "sql" => 'owner_id', "is_null_allowed" => true, "on_target_delete" => DEL_MANUAL, "depends_on" => array('team_id'), "allow_target_creation" => false, "display_style" => 'select', "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeExternalField("agent_email", array("allowed_values" => null, "extkey_attcode" => 'agent_id', "target_attcode" => 'email', "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeDateTime("start_date", array("allowed_values" => null, "sql" => 'start_date', "default_value" => '', "is_null_allowed" => false, "depends_on" => array(), "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeDateTime("end_date", array("allowed_values" => null, "sql" => 'end_date', "default_value" => '', "is_null_allowed" => false, "depends_on" => array(), "always_load_in_tables" => false)));
     MetaModel::Init_AddAttribute(new AttributeCaseLog("log", array("allowed_values" => null, "sql" => 'log', "default_value" => '', "is_null_allowed" => true, "depends_on" => array(), "always_load_in_tables" => false)));
     // Lifecycle (status attribute: status)
     //
     MetaModel::Init_DefineStimulus(new StimulusUserAction("ev_close", array()));
     MetaModel::Init_DefineState("open", array("attribute_inherit" => '', "attribute_list" => array()));
     MetaModel::Init_DefineTransition("open", "ev_close", array("target_state" => "closed", "actions" => array(), "user_restriction" => null));
     MetaModel::Init_DefineState("closed", array("attribute_inherit" => '', "attribute_list" => array()));
     MetaModel::Init_SetZListItems('details', array(0 => 'name', 1 => 'status', 2 => 'ticket_id', 3 => 'team_id', 4 => 'agent_id', 5 => 'description', 6 => 'start_date', 7 => 'end_date'));
     MetaModel::Init_SetZListItems('standard_search', array(0 => 'name', 1 => 'status', 2 => 'ticket_id', 3 => 'team_id', 4 => 'agent_id', 5 => 'start_date', 6 => 'end_date'));
     MetaModel::Init_SetZListItems('list', array(0 => 'status', 1 => 'ticket_id', 2 => 'start_date', 3 => 'end_date', 4 => 'team_id', 5 => 'agent_id'));
 }