model.itop-service-mgmt.php 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449
  1. <?
  2. abstract class Contract extends cmdbAbstractObject
  3. {
  4. public static function Init()
  5. {
  6. $aParams = array
  7. (
  8. "category" => "bizmodel,searchable,servicemgmt",
  9. "key_type" => "autoincrement",
  10. "name_attcode" => "name",
  11. "state_attcode" => "",
  12. "reconc_keys" => array("name"),
  13. "db_table" => "contract",
  14. "db_key_field" => "id",
  15. "db_finalclass_field" => "",
  16. "display_template" => "",
  17. );
  18. MetaModel::Init_Params($aParams);
  19. MetaModel::Init_InheritAttributes();
  20. MetaModel::Init_AddAttribute(new AttributeString("name", array("allowed_values"=>null, "sql"=>"name", "default_value"=>"", "is_null_allowed"=>false, "depends_on"=>array())));
  21. MetaModel::Init_AddAttribute(new AttributeEnum("status", array("allowed_values"=>new ValueSetEnum('draft,agreed,running'), "sql"=>"status", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array())));
  22. MetaModel::Init_AddAttribute(new AttributeString("description", array("allowed_values"=>null, "sql"=>"description", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array())));
  23. MetaModel::Init_AddAttribute(new AttributeDate("signed", array("allowed_values"=>null, "sql"=>"signed", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array())));
  24. MetaModel::Init_AddAttribute(new AttributeDate("begin", array("allowed_values"=>null, "sql"=>"begin", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array())));
  25. MetaModel::Init_AddAttribute(new AttributeDate("end", array("allowed_values"=>null, "sql"=>"end", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array())));
  26. MetaModel::Init_AddAttribute(new AttributeInteger("cost", array("allowed_values"=>null, "sql"=>"cost", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array())));
  27. MetaModel::Init_AddAttribute(new AttributeEnum("cost_currency", array("allowed_values"=>new ValueSetEnum('dollars,euros'), "sql"=>"cost_currency", "default_value"=>"euros", "is_null_allowed"=>true, "depends_on"=>array())));
  28. MetaModel::Init_AddAttribute(new AttributeString("cost_unit", array("allowed_values"=>null, "sql"=>"cost_unit", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array())));
  29. MetaModel::Init_AddAttribute(new AttributeString("billing_frequency", array("allowed_values"=>null, "sql"=>"billing_frequency", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array())));
  30. MetaModel::Init_AddAttribute(new AttributeLinkedSetIndirect("contact_list", array("linked_class"=>"lnkContractToContact", "ext_key_to_me"=>"contract_id", "ext_key_to_remote"=>"contact_id", "allowed_values"=>null, "count_min"=>0, "count_max"=>0, "depends_on"=>array())));
  31. MetaModel::Init_AddAttribute(new AttributeLinkedSetIndirect("document_list", array("linked_class"=>"lnkContractToDoc", "ext_key_to_me"=>"contract_id", "ext_key_to_remote"=>"document_id", "allowed_values"=>null, "count_min"=>0, "count_max"=>0, "depends_on"=>array())));
  32. MetaModel::Init_AddAttribute(new AttributeLinkedSetIndirect("ci_list", array("linked_class"=>"lnkContractToCI", "ext_key_to_me"=>"contract_id", "ext_key_to_remote"=>"ci_id", "allowed_values"=>null, "count_min"=>0, "count_max"=>0, "depends_on"=>array())));
  33. MetaModel::Init_SetZListItems('details', array('name', 'status', 'description', 'signed', 'begin', 'end', 'cost', 'cost_currency', 'cost_unit', 'billing_frequency', 'contact_list', 'document_list', 'ci_list'));
  34. MetaModel::Init_SetZListItems('advanced_search', array('name', 'status', 'description', 'signed', 'begin', 'end', 'cost', 'cost_currency', 'cost_unit', 'billing_frequency'));
  35. MetaModel::Init_SetZListItems('standard_search', array('name', 'status', 'description', 'signed', 'begin', 'end', 'cost', 'cost_currency', 'cost_unit', 'billing_frequency'));
  36. MetaModel::Init_SetZListItems('list', array('name', 'status', 'description', 'signed', 'begin', 'end', 'cost', 'cost_currency', 'cost_unit', 'billing_frequency'));
  37. }
  38. }
  39. class ProviderContract extends Contract
  40. {
  41. public static function Init()
  42. {
  43. $aParams = array
  44. (
  45. "category" => "bizmodel,searchable,servicemgmt",
  46. "key_type" => "autoincrement",
  47. "name_attcode" => "name",
  48. "state_attcode" => "",
  49. "reconc_keys" => array("name"),
  50. "db_table" => "providercontract",
  51. "db_key_field" => "id",
  52. "db_finalclass_field" => "",
  53. "display_template" => "",
  54. );
  55. MetaModel::Init_Params($aParams);
  56. MetaModel::Init_InheritAttributes();
  57. MetaModel::Init_AddAttribute(new AttributeEnum("type", array("allowed_values"=>new ValueSetEnum('a,b,c'), "sql"=>"type", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array())));
  58. MetaModel::Init_AddAttribute(new AttributeExternalKey("provider_id", array("targetclass"=>"Organization", "jointype"=>null, "allowed_values"=>null, "sql"=>"provider_id", "is_null_allowed"=>false, "on_target_delete"=>DEL_AUTO, "depends_on"=>array())));
  59. MetaModel::Init_AddAttribute(new AttributeExternalField("provider_name", array("allowed_values"=>null, "extkey_attcode"=>"provider_id", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array())));
  60. MetaModel::Init_AddAttribute(new AttributeString("ola", array("allowed_values"=>null, "sql"=>"ola", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array())));
  61. MetaModel::Init_AddAttribute(new AttributeString("coverage", array("allowed_values"=>null, "sql"=>"coverage", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array())));
  62. MetaModel::Init_AddAttribute(new AttributeLinkedSetIndirect("customer_list", array("linked_class"=>"lnkProviderToCustomer", "ext_key_to_me"=>"provider_id", "ext_key_to_remote"=>"customer_id", "allowed_values"=>null, "count_min"=>0, "count_max"=>0, "depends_on"=>array())));
  63. MetaModel::Init_AddAttribute(new AttributeLinkedSetIndirect("sla_list", array("linked_class"=>"lnkContractToSLA", "ext_key_to_me"=>"contract_id", "ext_key_to_remote"=>"sla_id", "allowed_values"=>null, "count_min"=>0, "count_max"=>0, "depends_on"=>array())));
  64. MetaModel::Init_SetZListItems('details', array('name', 'status', 'description', 'signed', 'begin', 'end', 'cost', 'cost_currency', 'cost_unit', 'billing_frequency', 'contact_list', 'document_list', 'ci_list', 'type', 'provider_id', 'ola', 'coverage', 'customer_list', 'sla_list'));
  65. MetaModel::Init_SetZListItems('advanced_search', array('name', 'status', 'description', 'signed', 'begin', 'end', 'cost', 'cost_currency', 'cost_unit', 'billing_frequency', 'type', 'provider_id', 'ola', 'coverage'));
  66. MetaModel::Init_SetZListItems('standard_search', array('name', 'status', 'description', 'signed', 'begin', 'end', 'cost', 'cost_currency', 'cost_unit', 'billing_frequency', 'type', 'provider_id', 'ola', 'coverage'));
  67. MetaModel::Init_SetZListItems('list', array('name', 'status', 'description', 'signed', 'begin', 'end', 'cost', 'cost_currency', 'cost_unit', 'billing_frequency', 'type', 'provider_id', 'ola', 'coverage'));
  68. }
  69. }
  70. class CustomerContract extends Contract
  71. {
  72. public static function Init()
  73. {
  74. $aParams = array
  75. (
  76. "category" => "bizmodel,searchable,servicemgmt",
  77. "key_type" => "autoincrement",
  78. "name_attcode" => "name",
  79. "state_attcode" => "",
  80. "reconc_keys" => array("name"),
  81. "db_table" => "customercontract",
  82. "db_key_field" => "id",
  83. "db_finalclass_field" => "",
  84. "display_template" => "",
  85. );
  86. MetaModel::Init_Params($aParams);
  87. MetaModel::Init_InheritAttributes();
  88. MetaModel::Init_AddAttribute(new AttributeEnum("type", array("allowed_values"=>new ValueSetEnum('x,y,z'), "sql"=>"type", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array())));
  89. MetaModel::Init_AddAttribute(new AttributeExternalKey("customer_id", array("targetclass"=>"Organization", "jointype"=>null, "allowed_values"=>null, "sql"=>"customer_id", "is_null_allowed"=>false, "on_target_delete"=>DEL_AUTO, "depends_on"=>array())));
  90. MetaModel::Init_AddAttribute(new AttributeExternalField("customer_name", array("allowed_values"=>null, "extkey_attcode"=>"customer_id", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array())));
  91. MetaModel::Init_AddAttribute(new AttributeLinkedSetIndirect("provider_list", array("linked_class"=>"lnkProviderToCustomer", "ext_key_to_me"=>"customer_id", "ext_key_to_remote"=>"provider_id", "allowed_values"=>null, "count_min"=>0, "count_max"=>0, "depends_on"=>array())));
  92. MetaModel::Init_SetZListItems('details', array('name', 'status', 'description', 'signed', 'begin', 'end', 'cost', 'cost_currency', 'cost_unit', 'billing_frequency', 'contact_list', 'document_list', 'ci_list', 'type', 'customer_id', 'provider_list'));
  93. MetaModel::Init_SetZListItems('advanced_search', array('name', 'status', 'description', 'signed', 'begin', 'end', 'cost', 'cost_currency', 'cost_unit', 'billing_frequency', 'type', 'customer_id'));
  94. MetaModel::Init_SetZListItems('standard_search', array('name', 'status', 'description', 'signed', 'begin', 'end', 'cost', 'cost_currency', 'cost_unit', 'billing_frequency', 'type', 'customer_id'));
  95. MetaModel::Init_SetZListItems('list', array('name', 'status', 'description', 'signed', 'begin', 'end', 'cost', 'cost_currency', 'cost_unit', 'billing_frequency', 'type', 'customer_id'));
  96. }
  97. }
  98. class lnkProviderToCustomer extends cmdbAbstractObject
  99. {
  100. public static function Init()
  101. {
  102. $aParams = array
  103. (
  104. "category" => "bizmodel,searchable,servicemgmt",
  105. "key_type" => "autoincrement",
  106. "name_attcode" => "provider_id",
  107. "state_attcode" => "",
  108. "reconc_keys" => array("name"),
  109. "db_table" => "lnkprovidertocustomer",
  110. "db_key_field" => "id",
  111. "db_finalclass_field" => "",
  112. "display_template" => "",
  113. );
  114. MetaModel::Init_Params($aParams);
  115. MetaModel::Init_InheritAttributes();
  116. MetaModel::Init_AddAttribute(new AttributeExternalKey("provider_id", array("targetclass"=>"Organization", "jointype"=>null, "allowed_values"=>null, "sql"=>"provider_id", "is_null_allowed"=>false, "on_target_delete"=>DEL_AUTO, "depends_on"=>array())));
  117. MetaModel::Init_AddAttribute(new AttributeExternalField("provider_name", array("allowed_values"=>null, "extkey_attcode"=>"provider_id", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array())));
  118. MetaModel::Init_AddAttribute(new AttributeExternalKey("customer_id", array("targetclass"=>"Organization", "jointype"=>null, "allowed_values"=>null, "sql"=>"customer_id", "is_null_allowed"=>false, "on_target_delete"=>DEL_AUTO, "depends_on"=>array())));
  119. MetaModel::Init_AddAttribute(new AttributeExternalField("customer_name", array("allowed_values"=>null, "extkey_attcode"=>"customer_id", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array())));
  120. MetaModel::Init_SetZListItems('details', array('provider_id', 'customer_id'));
  121. MetaModel::Init_SetZListItems('advanced_search', array('provider_id', 'customer_id'));
  122. MetaModel::Init_SetZListItems('standard_search', array('provider_id', 'customer_id'));
  123. MetaModel::Init_SetZListItems('list', array('provider_id', 'customer_id'));
  124. }
  125. }
  126. class lnkContractToSLA extends cmdbAbstractObject
  127. {
  128. public static function Init()
  129. {
  130. $aParams = array
  131. (
  132. "category" => "bizmodel,searchable,servicemgmt",
  133. "key_type" => "autoincrement",
  134. "name_attcode" => "contract_id",
  135. "state_attcode" => "",
  136. "reconc_keys" => array("name"),
  137. "db_table" => "lnkcontracttosla",
  138. "db_key_field" => "id",
  139. "db_finalclass_field" => "",
  140. "display_template" => "",
  141. );
  142. MetaModel::Init_Params($aParams);
  143. MetaModel::Init_InheritAttributes();
  144. MetaModel::Init_AddAttribute(new AttributeExternalKey("contract_id", array("targetclass"=>"Contract", "jointype"=>null, "allowed_values"=>null, "sql"=>"contract_id", "is_null_allowed"=>false, "on_target_delete"=>DEL_AUTO, "depends_on"=>array())));
  145. MetaModel::Init_AddAttribute(new AttributeExternalField("contract_name", array("allowed_values"=>null, "extkey_attcode"=>"contract_id", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array())));
  146. MetaModel::Init_AddAttribute(new AttributeExternalKey("sla_id", array("targetclass"=>"SLA", "jointype"=>null, "allowed_values"=>null, "sql"=>"sla_id", "is_null_allowed"=>false, "on_target_delete"=>DEL_AUTO, "depends_on"=>array())));
  147. MetaModel::Init_AddAttribute(new AttributeExternalField("sla_name", array("allowed_values"=>null, "extkey_attcode"=>"sla_id", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array())));
  148. MetaModel::Init_AddAttribute(new AttributeString("coverage", array("allowed_values"=>null, "sql"=>"coverage", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array())));
  149. MetaModel::Init_SetZListItems('details', array('contract_id', 'sla_id', 'coverage'));
  150. MetaModel::Init_SetZListItems('advanced_search', array('contract_id', 'sla_id', 'coverage'));
  151. MetaModel::Init_SetZListItems('standard_search', array('contract_id', 'sla_id', 'coverage'));
  152. MetaModel::Init_SetZListItems('list', array('contract_id', 'sla_id', 'coverage'));
  153. }
  154. }
  155. class lnkContractToDoc extends cmdbAbstractObject
  156. {
  157. public static function Init()
  158. {
  159. $aParams = array
  160. (
  161. "category" => "bizmodel,searchable,servicemgmt",
  162. "key_type" => "autoincrement",
  163. "name_attcode" => "contract_id",
  164. "state_attcode" => "",
  165. "reconc_keys" => array("name"),
  166. "db_table" => "lnkcontracttodoc",
  167. "db_key_field" => "id",
  168. "db_finalclass_field" => "",
  169. "display_template" => "",
  170. );
  171. MetaModel::Init_Params($aParams);
  172. MetaModel::Init_InheritAttributes();
  173. MetaModel::Init_AddAttribute(new AttributeExternalKey("contract_id", array("targetclass"=>"Contract", "jointype"=>null, "allowed_values"=>null, "sql"=>"contract_id", "is_null_allowed"=>false, "on_target_delete"=>DEL_AUTO, "depends_on"=>array())));
  174. MetaModel::Init_AddAttribute(new AttributeExternalField("contract_name", array("allowed_values"=>null, "extkey_attcode"=>"contract_id", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array())));
  175. MetaModel::Init_AddAttribute(new AttributeExternalKey("document_id", array("targetclass"=>"Document", "jointype"=>null, "allowed_values"=>null, "sql"=>"document_id", "is_null_allowed"=>false, "on_target_delete"=>DEL_AUTO, "depends_on"=>array())));
  176. MetaModel::Init_AddAttribute(new AttributeExternalField("document_name", array("allowed_values"=>null, "extkey_attcode"=>"document_id", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array())));
  177. MetaModel::Init_AddAttribute(new AttributeExternalField("document_type", array("allowed_values"=>null, "extkey_attcode"=>"document_id", "target_attcode"=>"type", "is_null_allowed"=>true, "depends_on"=>array())));
  178. MetaModel::Init_AddAttribute(new AttributeExternalField("document_status", array("allowed_values"=>null, "extkey_attcode"=>"document_id", "target_attcode"=>"status", "is_null_allowed"=>true, "depends_on"=>array())));
  179. MetaModel::Init_SetZListItems('details', array('contract_id', 'document_id', 'document_type', 'document_status'));
  180. MetaModel::Init_SetZListItems('advanced_search', array('contract_id', 'document_id', 'document_type', 'document_status'));
  181. MetaModel::Init_SetZListItems('standard_search', array('contract_id', 'document_id', 'document_type', 'document_status'));
  182. MetaModel::Init_SetZListItems('list', array('contract_id', 'document_id', 'document_type', 'document_status'));
  183. }
  184. }
  185. class lnkContractToContact extends cmdbAbstractObject
  186. {
  187. public static function Init()
  188. {
  189. $aParams = array
  190. (
  191. "category" => "bizmodel,searchable,servicemgmt",
  192. "key_type" => "autoincrement",
  193. "name_attcode" => "contract_id",
  194. "state_attcode" => "",
  195. "reconc_keys" => array("name"),
  196. "db_table" => "lnkcontracttocontact",
  197. "db_key_field" => "id",
  198. "db_finalclass_field" => "",
  199. "display_template" => "",
  200. );
  201. MetaModel::Init_Params($aParams);
  202. MetaModel::Init_InheritAttributes();
  203. MetaModel::Init_AddAttribute(new AttributeExternalKey("contract_id", array("targetclass"=>"Contract", "jointype"=>null, "allowed_values"=>null, "sql"=>"contract_id", "is_null_allowed"=>false, "on_target_delete"=>DEL_AUTO, "depends_on"=>array())));
  204. MetaModel::Init_AddAttribute(new AttributeExternalField("contract_name", array("allowed_values"=>null, "extkey_attcode"=>"contract_id", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array())));
  205. MetaModel::Init_AddAttribute(new AttributeExternalKey("contact_id", array("targetclass"=>"Contact", "jointype"=>null, "allowed_values"=>null, "sql"=>"contact_id", "is_null_allowed"=>false, "on_target_delete"=>DEL_AUTO, "depends_on"=>array())));
  206. MetaModel::Init_AddAttribute(new AttributeExternalField("contact_name", array("allowed_values"=>null, "extkey_attcode"=>"contact_id", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array())));
  207. MetaModel::Init_AddAttribute(new AttributeExternalField("contact_email", array("allowed_values"=>null, "extkey_attcode"=>"contact_id", "target_attcode"=>"email", "is_null_allowed"=>true, "depends_on"=>array())));
  208. MetaModel::Init_SetZListItems('details', array('contract_id', 'contact_id', 'contact_email'));
  209. MetaModel::Init_SetZListItems('advanced_search', array('contract_id', 'contact_id', 'contact_email'));
  210. MetaModel::Init_SetZListItems('standard_search', array('contract_id', 'contact_id', 'contact_email'));
  211. MetaModel::Init_SetZListItems('list', array('contract_id', 'contact_id', 'contact_email'));
  212. }
  213. }
  214. class lnkContractToCI extends cmdbAbstractObject
  215. {
  216. public static function Init()
  217. {
  218. $aParams = array
  219. (
  220. "category" => "bizmodel,searchable,servicemgmt",
  221. "key_type" => "autoincrement",
  222. "name_attcode" => "contract_id",
  223. "state_attcode" => "",
  224. "reconc_keys" => array("name"),
  225. "db_table" => "lnkcontracttoci",
  226. "db_key_field" => "id",
  227. "db_finalclass_field" => "",
  228. "display_template" => "",
  229. );
  230. MetaModel::Init_Params($aParams);
  231. MetaModel::Init_InheritAttributes();
  232. MetaModel::Init_AddAttribute(new AttributeExternalKey("contract_id", array("targetclass"=>"Contract", "jointype"=>null, "allowed_values"=>null, "sql"=>"contract_id", "is_null_allowed"=>false, "on_target_delete"=>DEL_AUTO, "depends_on"=>array())));
  233. MetaModel::Init_AddAttribute(new AttributeExternalField("contract_name", array("allowed_values"=>null, "extkey_attcode"=>"contract_id", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array())));
  234. MetaModel::Init_AddAttribute(new AttributeExternalKey("ci_id", array("targetclass"=>"FunctionalCI", "jointype"=>null, "allowed_values"=>null, "sql"=>"ci_id", "is_null_allowed"=>false, "on_target_delete"=>DEL_AUTO, "depends_on"=>array())));
  235. MetaModel::Init_AddAttribute(new AttributeExternalField("ci_name", array("allowed_values"=>null, "extkey_attcode"=>"ci_id", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array())));
  236. MetaModel::Init_AddAttribute(new AttributeExternalField("ci_status", array("allowed_values"=>null, "extkey_attcode"=>"ci_id", "target_attcode"=>"status", "is_null_allowed"=>true, "depends_on"=>array())));
  237. MetaModel::Init_SetZListItems('details', array('contract_id', 'ci_id', 'ci_status'));
  238. MetaModel::Init_SetZListItems('advanced_search', array('contract_id', 'ci_id', 'ci_status'));
  239. MetaModel::Init_SetZListItems('standard_search', array('contract_id', 'ci_id', 'ci_status'));
  240. MetaModel::Init_SetZListItems('list', array('contract_id', 'ci_id', 'ci_status'));
  241. }
  242. }
  243. class ServiceType extends cmdbAbstractObject
  244. {
  245. public static function Init()
  246. {
  247. $aParams = array
  248. (
  249. "category" => "bizmodel,searchable,servicemgmt",
  250. "key_type" => "autoincrement",
  251. "name_attcode" => "name",
  252. "state_attcode" => "",
  253. "reconc_keys" => array("name"),
  254. "db_table" => "servicetype",
  255. "db_key_field" => "id",
  256. "db_finalclass_field" => "",
  257. "display_template" => "",
  258. );
  259. MetaModel::Init_Params($aParams);
  260. MetaModel::Init_InheritAttributes();
  261. MetaModel::Init_AddAttribute(new AttributeString("name", array("allowed_values"=>null, "sql"=>"name", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array())));
  262. MetaModel::Init_AddAttribute(new AttributeString("description", array("allowed_values"=>null, "sql"=>"description", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array())));
  263. MetaModel::Init_SetZListItems('details', array('name', 'description'));
  264. MetaModel::Init_SetZListItems('advanced_search', array('name', 'description'));
  265. MetaModel::Init_SetZListItems('standard_search', array('name', 'description'));
  266. MetaModel::Init_SetZListItems('list', array('name', 'description'));
  267. }
  268. }
  269. class Service extends cmdbAbstractObject
  270. {
  271. public static function Init()
  272. {
  273. $aParams = array
  274. (
  275. "category" => "bizmodel,searchable,servicemgmt",
  276. "key_type" => "autoincrement",
  277. "name_attcode" => "servicetype_id",
  278. "state_attcode" => "",
  279. "reconc_keys" => array("name"),
  280. "db_table" => "service",
  281. "db_key_field" => "id",
  282. "db_finalclass_field" => "",
  283. "display_template" => "",
  284. );
  285. MetaModel::Init_Params($aParams);
  286. MetaModel::Init_InheritAttributes();
  287. MetaModel::Init_AddAttribute(new AttributeExternalKey("servicetype_id", array("targetclass"=>"ServiceType", "jointype"=>null, "allowed_values"=>null, "sql"=>"servicetype_id", "is_null_allowed"=>false, "on_target_delete"=>DEL_MANUAL, "depends_on"=>array())));
  288. MetaModel::Init_AddAttribute(new AttributeExternalField("servicetype_name", array("allowed_values"=>null, "extkey_attcode"=>"servicetype_id", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array())));
  289. MetaModel::Init_SetZListItems('details', array('servicetype_id'));
  290. MetaModel::Init_SetZListItems('advanced_search', array('servicetype_id'));
  291. MetaModel::Init_SetZListItems('standard_search', array('servicetype_id'));
  292. MetaModel::Init_SetZListItems('list', array('servicetype_id'));
  293. }
  294. }
  295. class SLA extends cmdbAbstractObject
  296. {
  297. public static function Init()
  298. {
  299. $aParams = array
  300. (
  301. "category" => "bizmodel,searchable,servicemgmt",
  302. "key_type" => "autoincrement",
  303. "name_attcode" => "name",
  304. "state_attcode" => "",
  305. "reconc_keys" => array("name"),
  306. "db_table" => "sla",
  307. "db_key_field" => "id",
  308. "db_finalclass_field" => "",
  309. "display_template" => "",
  310. );
  311. MetaModel::Init_Params($aParams);
  312. MetaModel::Init_InheritAttributes();
  313. MetaModel::Init_AddAttribute(new AttributeString("name", array("allowed_values"=>null, "sql"=>"name", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array())));
  314. MetaModel::Init_AddAttribute(new AttributeExternalKey("service_id", array("targetclass"=>"Service", "jointype"=>null, "allowed_values"=>null, "sql"=>"service_id", "is_null_allowed"=>false, "on_target_delete"=>DEL_AUTO, "depends_on"=>array())));
  315. MetaModel::Init_AddAttribute(new AttributeLinkedSetIndirect("levels_list", array("linked_class"=>"lnkLevelToSLA", "ext_key_to_me"=>"sla_id", "ext_key_to_remote"=>"servicelevel_id", "allowed_values"=>null, "count_min"=>0, "count_max"=>0, "depends_on"=>array())));
  316. MetaModel::Init_SetZListItems('details', array('name', 'service_id', 'levels_list'));
  317. MetaModel::Init_SetZListItems('advanced_search', array('name', 'service_id'));
  318. MetaModel::Init_SetZListItems('standard_search', array('name', 'service_id'));
  319. MetaModel::Init_SetZListItems('list', array('name', 'service_id'));
  320. }
  321. }
  322. class ServiceLevel extends cmdbAbstractObject
  323. {
  324. public static function Init()
  325. {
  326. $aParams = array
  327. (
  328. "category" => "bizmodel,searchable,servicemgmt",
  329. "key_type" => "autoincrement",
  330. "name_attcode" => "name",
  331. "state_attcode" => "",
  332. "reconc_keys" => array("name"),
  333. "db_table" => "servicelevel",
  334. "db_key_field" => "id",
  335. "db_finalclass_field" => "",
  336. "display_template" => "",
  337. );
  338. MetaModel::Init_Params($aParams);
  339. MetaModel::Init_InheritAttributes();
  340. MetaModel::Init_AddAttribute(new AttributeString("name", array("allowed_values"=>null, "sql"=>"name", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array())));
  341. MetaModel::Init_AddAttribute(new AttributeEnum("metric", array("allowed_values"=>new ValueSetEnum('TTO,TTR'), "sql"=>"metric", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array())));
  342. MetaModel::Init_AddAttribute(new AttributeString("ticket_type", array("allowed_values"=>null, "sql"=>"ticket_type", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array())));
  343. MetaModel::Init_AddAttribute(new AttributeString("ticket_priorities", array("allowed_values"=>null, "sql"=>"ticket_priorities", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array())));
  344. MetaModel::Init_AddAttribute(new AttributeInteger("value", array("allowed_values"=>null, "sql"=>"value", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array())));
  345. MetaModel::Init_AddAttribute(new AttributeString("value_unit", array("allowed_values"=>null, "sql"=>"value_unit", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array())));
  346. MetaModel::Init_AddAttribute(new AttributeLinkedSetIndirect("sla_list", array("linked_class"=>"lnkLevelToSLA", "ext_key_to_me"=>"servicelevel_id", "ext_key_to_remote"=>"sla_id", "allowed_values"=>null, "count_min"=>0, "count_max"=>0, "depends_on"=>array())));
  347. MetaModel::Init_SetZListItems('details', array('name', 'metric', 'ticket_type', 'ticket_priorities', 'value', 'value_unit', 'sla_list'));
  348. MetaModel::Init_SetZListItems('advanced_search', array('name', 'metric', 'ticket_type', 'ticket_priorities', 'value', 'value_unit'));
  349. MetaModel::Init_SetZListItems('standard_search', array('name', 'metric', 'ticket_type', 'ticket_priorities', 'value', 'value_unit'));
  350. MetaModel::Init_SetZListItems('list', array('name', 'metric', 'ticket_type', 'ticket_priorities', 'value', 'value_unit'));
  351. }
  352. }
  353. class lnkLevelToSLA extends cmdbAbstractObject
  354. {
  355. public static function Init()
  356. {
  357. $aParams = array
  358. (
  359. "category" => "bizmodel,searchable,servicemgmt",
  360. "key_type" => "autoincrement",
  361. "name_attcode" => "sla_id",
  362. "state_attcode" => "",
  363. "reconc_keys" => array("name"),
  364. "db_table" => "lnkleveltosla",
  365. "db_key_field" => "id",
  366. "db_finalclass_field" => "",
  367. "display_template" => "",
  368. );
  369. MetaModel::Init_Params($aParams);
  370. MetaModel::Init_InheritAttributes();
  371. MetaModel::Init_AddAttribute(new AttributeExternalKey("sla_id", array("targetclass"=>"SLA", "jointype"=>null, "allowed_values"=>null, "sql"=>"sla_id", "is_null_allowed"=>false, "on_target_delete"=>DEL_AUTO, "depends_on"=>array())));
  372. MetaModel::Init_AddAttribute(new AttributeExternalField("sla_name", array("allowed_values"=>null, "extkey_attcode"=>"sla_id", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array())));
  373. MetaModel::Init_AddAttribute(new AttributeExternalKey("servicelevel_id", array("targetclass"=>"ServiceLevel", "jointype"=>null, "allowed_values"=>null, "sql"=>"servicelevel_id", "is_null_allowed"=>false, "on_target_delete"=>DEL_AUTO, "depends_on"=>array())));
  374. MetaModel::Init_AddAttribute(new AttributeExternalField("servicelevel_name", array("allowed_values"=>null, "extkey_attcode"=>"servicelevel_id", "target_attcode"=>"name", "is_null_allowed"=>true, "depends_on"=>array())));
  375. MetaModel::Init_AddAttribute(new AttributeExternalField("servicelevel_metric", array("allowed_values"=>null, "extkey_attcode"=>"servicelevel_id", "target_attcode"=>"metric", "is_null_allowed"=>true, "depends_on"=>array())));
  376. MetaModel::Init_AddAttribute(new AttributeExternalField("servicelevel_value", array("allowed_values"=>null, "extkey_attcode"=>"servicelevel_id", "target_attcode"=>"value", "is_null_allowed"=>true, "depends_on"=>array())));
  377. MetaModel::Init_AddAttribute(new AttributeExternalField("servicelevel_value_unit", array("allowed_values"=>null, "extkey_attcode"=>"servicelevel_id", "target_attcode"=>"value_unit", "is_null_allowed"=>true, "depends_on"=>array())));
  378. MetaModel::Init_SetZListItems('details', array('sla_id', 'servicelevel_id', 'servicelevel_metric', 'servicelevel_value', 'servicelevel_value_unit'));
  379. MetaModel::Init_SetZListItems('advanced_search', array('sla_id', 'servicelevel_id', 'servicelevel_metric', 'servicelevel_value', 'servicelevel_value_unit'));
  380. MetaModel::Init_SetZListItems('standard_search', array('sla_id', 'servicelevel_id', 'servicelevel_metric', 'servicelevel_value', 'servicelevel_value_unit'));
  381. MetaModel::Init_SetZListItems('list', array('sla_id', 'servicelevel_id', 'servicelevel_metric', 'servicelevel_value', 'servicelevel_value_unit'));
  382. }
  383. }
  384. //////////////////////////////////////////////////////////////////////////////
  385. // Menu:
  386. // +----------------------------------------+
  387. // | My Module |
  388. // +----------------------------------------+
  389. // + All items
  390. // + ...
  391. // + ...
  392. ////////////////////////////////////////////////////////////////////////////////////
  393. $oAdminMenu = new MenuGroup('AdminTools', 999);
  394. $iAdminGroup = $oAdminMenu->GetIndex();
  395. new OQLMenuNode('ServiceType', 'SELECT ServiceType', $iAdminGroup, 25 /* fRank */);
  396. $oServiceManagementGroup = new MenuGroup('ServiceManagement', 2 /* fRank */);
  397. new OQLMenuNode('ProviderContract', 'SELECT ProviderContract', $oServiceManagementGroup->GetIndex(), 1 /* fRank */);
  398. new OQLMenuNode('CustomerContract', 'SELECT CustomerContract', $oServiceManagementGroup->GetIndex(), 2 /* fRank */);
  399. new OQLMenuNode('Service', 'SELECT Service', $oServiceManagementGroup->GetIndex(), 3 /* fRank */);
  400. new OQLMenuNode('SLA', 'SELECT SLA', $oServiceManagementGroup->GetIndex(), 4 /* fRank */);
  401. new OQLMenuNode('ServiceLevel', 'SELECT ServiceLevel', $oServiceManagementGroup->GetIndex(), 5 /* fRank */);
  402. ?>