business_itopbegins.class.inc.php 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261
  1. <?php
  2. require_once('../core/MyHelpers.class.inc.php');
  3. require_once('../core/cmdbobject.class.inc.php');
  4. /**
  5. * business_itopbegins.class.inc.php
  6. * User defined objects, for unit testing
  7. *
  8. * @package iTopUnitTests
  9. * @author Romain Quetiez <romainquetiez@yahoo.fr>
  10. * @author Denis Flaven <denisflave@free.fr>
  11. * @license http://www.opensource.org/licenses/lgpl-license.php LGPL
  12. * @link www.itop.com
  13. * @since 1.0
  14. * @version 1.1.1.1 $
  15. */
  16. ///////////////////////////////////////////////////////////////////////////////
  17. // Business implementation demo
  18. ///////////////////////////////////////////////////////////////////////////////
  19. /**
  20. * blah blah
  21. *
  22. * @package iTopUnitTests
  23. * @author Romain Quetiez <romainquetiez@yahoo.fr>
  24. * @license http://www.opensource.org/licenses/lgpl-license.php LGPL
  25. * @link www.itop.com
  26. * @since 1.0
  27. * @version 1.1.1.1 $
  28. */
  29. class cmdbContact extends CMDBObject
  30. {
  31. public static function Init()
  32. {
  33. $aParams = array
  34. (
  35. "category" => "blah",
  36. "name" => "klassContact",
  37. "description" => "klass contact description",
  38. "key_type" => "autoincrement",
  39. "key_label" => "",
  40. "name_attcode" => "att_contact_name",
  41. "state_attcode" => "",
  42. "reconc_keys" => array("att_contact_name"),
  43. "db_table" => "contact",
  44. "db_key_field" => "contactid",
  45. "db_finalclass_field" => "actualclass",
  46. );
  47. MetaModel::Init_Params($aParams);
  48. MetaModel::Init_InheritAttributes();
  49. MetaModel::Init_AddAttribute(new AttributeString("att_contact_name", array("allowed_values"=>null, "default_value"=>"", "is_null_allowed"=>false, "depends_on"=>array(), "sql"=>"name")));
  50. MetaModel::Init_AddAttribute(new AttributeInteger("att_contact_availability", array("allowed_values"=>null, "default_value"=>"", "is_null_allowed"=>false, "depends_on"=>array(), "sql"=>"availability")));
  51. MetaModel::Init_AddAttribute(new AttributeDate("start_date", array("allowed_values"=>null, "sql"=>"start_date", "default_value"=>"", "is_null_allowed"=>false, "depends_on"=>array())));
  52. MetaModel::Init_InheritFilters();
  53. MetaModel::Init_AddFilterFromAttribute("att_contact_name");
  54. MetaModel::Init_AddFilterFromAttribute("att_contact_availability");
  55. }
  56. }
  57. /**
  58. * blah blah
  59. *
  60. * @package iTopUnitTests
  61. * @author Romain Quetiez <romainquetiez@yahoo.fr>
  62. * @license http://www.opensource.org/licenses/lgpl-license.php LGPL
  63. * @link www.itop.com
  64. * @since 1.0
  65. * @version 1.1.1.1 $
  66. */
  67. class cmdbPerson extends cmdbContact
  68. {
  69. public static function Init()
  70. {
  71. $oValsDunsNumber = new ValueSetObjects("cmdbCompany: att_company_dunsnumber Begins with '$[duns_prm::]'", "att_company_dunsnumber", array("att_company_dunsnumber"=>true));
  72. $aParams = array
  73. (
  74. "category" => "blah",
  75. "name" => "klassPerson",
  76. "description" => "klass person description",
  77. "key_type" => "autoincrement",
  78. "key_label" => "",
  79. "name_attcode" => "att_contact_name",
  80. "state_attcode" => "",
  81. "reconc_keys" => array("att_contact_name"),
  82. "db_table" => "person",
  83. "db_key_field" => "personid",
  84. "db_finalclass_field" => "",
  85. );
  86. MetaModel::Init_Params($aParams);
  87. MetaModel::Init_InheritAttributes();
  88. MetaModel::Init_AddAttribute(new AttributeString("att_person_email", array("allowed_values"=>$oValsDunsNumber, "default_value"=>"", "is_null_allowed"=>false, "depends_on"=>array(), "sql"=>"email")));
  89. MetaModel::Init_AddAttribute(new AttributeString("att_person_name", array("allowed_values"=>new ValueSetEnum(array("nom1", "nom2", "nom10", "no", "noms", "")), "default_value"=>"", "is_null_allowed"=>false, "depends_on"=>array(), "sql"=>"name")));
  90. MetaModel::Init_InheritFilters();
  91. MetaModel::Init_AddFilterFromAttribute("att_person_email");
  92. }
  93. }
  94. /**
  95. * blah blah
  96. *
  97. * @package iTopUnitTests
  98. * @author Romain Quetiez <romainquetiez@yahoo.fr>
  99. * @license http://www.opensource.org/licenses/lgpl-license.php LGPL
  100. * @link www.itop.com
  101. * @since 1.0
  102. * @version 1.1.1.1 $
  103. */
  104. class cmdbSubcontractor extends cmdbPerson
  105. {
  106. public static function Init()
  107. {
  108. $aParams = array
  109. (
  110. "category" => "blah",
  111. "name" => "klassSubcontractor",
  112. "description" => "klass subcontractor description",
  113. "key_type" => "autoincrement",
  114. "key_label" => "",
  115. "name_attcode" => "att_contact_name",
  116. "state_attcode" => "",
  117. "reconc_keys" => array("att_contact_name"),
  118. "db_table" => "subcontractor",
  119. "db_key_field" => "subcontractorid",
  120. "db_finalclass_field" => "",
  121. );
  122. MetaModel::Init_Params($aParams);
  123. MetaModel::Init_InheritAttributes();
  124. MetaModel::Init_AddAttribute(new AttributeString("att_contractinfo", array("allowed_values"=>null, "default_value"=>"", "is_null_allowed"=>false, "depends_on"=>array(), "sql"=>"contractinfo")));
  125. MetaModel::Init_AddAttribute(new AttributeExternalKey("ext_subcontractor_provider", array("allowed_values"=>null, "sql"=>"provider", "targetclass"=>"cmdbProvider", "is_null_allowed"=>false, "on_target_delete"=>DEL_MANUAL, "depends_on"=>array())));
  126. MetaModel::Init_AddAttribute(new AttributeExternalField("extatt_subcontractor_provider_ref", array("allowed_values"=>null, "extkey_attcode"=>"ext_subcontractor_provider", "target_attcode"=>"att_provider_ref")));
  127. MetaModel::Init_AddAttribute(new AttributeExternalKey("ext_subcontractor_tutor", array("allowed_values"=>null, "sql"=>"tutor", "targetclass"=>"cmdbPerson", "is_null_allowed"=>false, "on_target_delete"=>DEL_MANUAL, "depends_on"=>array())));
  128. MetaModel::Init_AddAttribute(new AttributeExternalField("extatt_subcontractor_tutor_email", array("allowed_values"=>null, "extkey_attcode"=>"ext_subcontractor_tutor", "target_attcode"=>"att_person_email")));
  129. MetaModel::Init_AddAttribute(new AttributeExternalField("extatt_subcontractor_tutor_secondname", array("allowed_values"=>null, "extkey_attcode"=>"ext_subcontractor_tutor", "target_attcode"=>"att_person_name")));
  130. MetaModel::Init_InheritFilters();
  131. MetaModel::Init_AddFilterFromAttribute("extatt_subcontractor_tutor_secondname");
  132. }
  133. }
  134. /**
  135. * blah blah
  136. *
  137. * @package iTopUnitTests
  138. * @author Romain Quetiez <romainquetiez@yahoo.fr>
  139. * @license http://www.opensource.org/licenses/lgpl-license.php LGPL
  140. * @link www.itop.com
  141. * @since 1.0
  142. * @version 1.1.1.1 $
  143. */
  144. class cmdbCrowd extends cmdbObject
  145. {
  146. public static function Init()
  147. {
  148. $aParams = array
  149. (
  150. "category" => "blah",
  151. "name" => "klassCrowd",
  152. "description" => "klass crowd description",
  153. "key_type" => "autoincrement",
  154. "key_label" => "",
  155. "name_attcode" => "att_crowd_peoplecount",
  156. "state_attcode" => "",
  157. "reconc_keys" => array("att_crowd_peoplecount"),
  158. "db_table" => "crowd",
  159. "db_key_field" => "crowdid",
  160. "db_finalclass_field" => "crowdclass",
  161. );
  162. MetaModel::Init_Params($aParams);
  163. MetaModel::Init_InheritAttributes();
  164. MetaModel::Init_AddAttribute(new AttributeInteger("att_crowd_peoplecount", array("allowed_values"=>null, "default_value"=>"", "is_null_allowed"=>false, "depends_on"=>array(), "sql"=>"peoplecount")));
  165. MetaModel::Init_InheritFilters();
  166. MetaModel::Init_AddFilterFromAttribute("att_crowd_peoplecount");
  167. }
  168. }
  169. /**
  170. * blah blah
  171. *
  172. * @package iTopUnitTests
  173. * @author Romain Quetiez <romainquetiez@yahoo.fr>
  174. * @license http://www.opensource.org/licenses/lgpl-license.php LGPL
  175. * @link www.itop.com
  176. * @since 1.0
  177. * @version 1.1.1.1 $
  178. */
  179. class cmdbCompany extends cmdbCrowd
  180. {
  181. public static function Init()
  182. {
  183. $aParams = array
  184. (
  185. "category" => "blah",
  186. "name" => "klassCompany",
  187. "description" => "klass company description",
  188. "key_type" => "autoincrement",
  189. "key_label" => "",
  190. "name_attcode" => "att_company_dunsnumber",
  191. "state_attcode" => "",
  192. "reconc_keys" => array("att_company_dunsnumber"),
  193. "db_table" => "company",
  194. "db_key_field" => "companyid",
  195. "db_finalclass_field" => "",
  196. );
  197. MetaModel::Init_Params($aParams);
  198. MetaModel::Init_InheritAttributes();
  199. MetaModel::Init_AddAttribute(new AttributeString("att_company_dunsnumber", array("allowed_values"=>null, "default_value"=>"", "is_null_allowed"=>false, "depends_on"=>array(), "sql"=>"dunsnumber")));
  200. MetaModel::Init_InheritFilters();
  201. MetaModel::Init_AddFilterFromAttribute("att_company_dunsnumber");
  202. }
  203. }
  204. /**
  205. * blah blah
  206. *
  207. * @package iTopUnitTests
  208. * @author Romain Quetiez <romainquetiez@yahoo.fr>
  209. * @license http://www.opensource.org/licenses/lgpl-license.php LGPL
  210. * @link www.itop.com
  211. * @since 1.0
  212. * @version 1.1.1.1 $
  213. */
  214. class cmdbProvider extends cmdbCompany
  215. {
  216. public static function Init()
  217. {
  218. $aParams = array
  219. (
  220. "category" => "blah",
  221. "name" => "klassProvider",
  222. "description" => "klass provider description",
  223. "key_type" => "autoincrement",
  224. "key_label" => "",
  225. "name_attcode" => "att_provider_ref",
  226. "state_attcode" => "",
  227. "reconc_keys" => array("att_provider_ref"),
  228. "db_table" => "provider",
  229. "db_key_field" => "providerid",
  230. "db_finalclass_field" => "",
  231. );
  232. MetaModel::Init_Params($aParams);
  233. MetaModel::Init_InheritAttributes();
  234. MetaModel::Init_AddAttribute(new AttributeInteger("att_provider_ref", array("allowed_values"=>null, "default_value"=>"", "is_null_allowed"=>false, "depends_on"=>array(), "sql"=>"providerref")));
  235. MetaModel::Init_InheritFilters();
  236. MetaModel::Init_AddFilterFromAttribute("att_provider_ref");
  237. }
  238. }
  239. ?>