business_itopbegins.class.inc.php 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249
  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. "key_type" => "autoincrement",
  37. "key_label" => "",
  38. "name_attcode" => "att_contact_name",
  39. "state_attcode" => "",
  40. "reconc_keys" => array("att_contact_name"),
  41. "db_table" => "contact",
  42. "db_key_field" => "contactid",
  43. "db_finalclass_field" => "actualclass",
  44. );
  45. MetaModel::Init_Params($aParams);
  46. MetaModel::Init_InheritAttributes();
  47. MetaModel::Init_AddAttribute(new AttributeString("att_contact_name", array("allowed_values"=>null, "default_value"=>"", "is_null_allowed"=>false, "depends_on"=>array(), "sql"=>"name")));
  48. MetaModel::Init_AddAttribute(new AttributeInteger("att_contact_availability", array("allowed_values"=>null, "default_value"=>"", "is_null_allowed"=>false, "depends_on"=>array(), "sql"=>"availability")));
  49. MetaModel::Init_AddAttribute(new AttributeDate("start_date", array("allowed_values"=>null, "sql"=>"start_date", "default_value"=>"", "is_null_allowed"=>false, "depends_on"=>array())));
  50. MetaModel::Init_InheritFilters();
  51. MetaModel::Init_AddFilterFromAttribute("att_contact_name");
  52. MetaModel::Init_AddFilterFromAttribute("att_contact_availability");
  53. }
  54. }
  55. /**
  56. * blah blah
  57. *
  58. * @package iTopUnitTests
  59. * @author Romain Quetiez <romainquetiez@yahoo.fr>
  60. * @license http://www.opensource.org/licenses/lgpl-license.php LGPL
  61. * @link www.itop.com
  62. * @since 1.0
  63. * @version 1.1.1.1 $
  64. */
  65. class cmdbPerson extends cmdbContact
  66. {
  67. public static function Init()
  68. {
  69. $oValsDunsNumber = new ValueSetObjects("cmdbCompany: att_company_dunsnumber Begins with '$[duns_prm::]'", "att_company_dunsnumber", array("att_company_dunsnumber"=>true));
  70. $aParams = array
  71. (
  72. "category" => "blah",
  73. "key_type" => "autoincrement",
  74. "key_label" => "",
  75. "name_attcode" => "att_contact_name",
  76. "state_attcode" => "",
  77. "reconc_keys" => array("att_contact_name"),
  78. "db_table" => "person",
  79. "db_key_field" => "personid",
  80. "db_finalclass_field" => "",
  81. );
  82. MetaModel::Init_Params($aParams);
  83. MetaModel::Init_InheritAttributes();
  84. MetaModel::Init_AddAttribute(new AttributeString("att_person_email", array("allowed_values"=>$oValsDunsNumber, "default_value"=>"", "is_null_allowed"=>false, "depends_on"=>array(), "sql"=>"email")));
  85. 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")));
  86. MetaModel::Init_InheritFilters();
  87. MetaModel::Init_AddFilterFromAttribute("att_person_email");
  88. }
  89. }
  90. /**
  91. * blah blah
  92. *
  93. * @package iTopUnitTests
  94. * @author Romain Quetiez <romainquetiez@yahoo.fr>
  95. * @license http://www.opensource.org/licenses/lgpl-license.php LGPL
  96. * @link www.itop.com
  97. * @since 1.0
  98. * @version 1.1.1.1 $
  99. */
  100. class cmdbSubcontractor extends cmdbPerson
  101. {
  102. public static function Init()
  103. {
  104. $aParams = array
  105. (
  106. "category" => "blah",
  107. "key_type" => "autoincrement",
  108. "key_label" => "",
  109. "name_attcode" => "att_contact_name",
  110. "state_attcode" => "",
  111. "reconc_keys" => array("att_contact_name"),
  112. "db_table" => "subcontractor",
  113. "db_key_field" => "subcontractorid",
  114. "db_finalclass_field" => "",
  115. );
  116. MetaModel::Init_Params($aParams);
  117. MetaModel::Init_InheritAttributes();
  118. MetaModel::Init_AddAttribute(new AttributeString("att_contractinfo", array("allowed_values"=>null, "default_value"=>"", "is_null_allowed"=>false, "depends_on"=>array(), "sql"=>"contractinfo")));
  119. 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())));
  120. MetaModel::Init_AddAttribute(new AttributeExternalField("extatt_subcontractor_provider_ref", array("allowed_values"=>null, "extkey_attcode"=>"ext_subcontractor_provider", "target_attcode"=>"att_provider_ref")));
  121. 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())));
  122. MetaModel::Init_AddAttribute(new AttributeExternalField("extatt_subcontractor_tutor_email", array("allowed_values"=>null, "extkey_attcode"=>"ext_subcontractor_tutor", "target_attcode"=>"att_person_email")));
  123. MetaModel::Init_AddAttribute(new AttributeExternalField("extatt_subcontractor_tutor_secondname", array("allowed_values"=>null, "extkey_attcode"=>"ext_subcontractor_tutor", "target_attcode"=>"att_person_name")));
  124. MetaModel::Init_InheritFilters();
  125. MetaModel::Init_AddFilterFromAttribute("extatt_subcontractor_tutor_secondname");
  126. }
  127. }
  128. /**
  129. * blah blah
  130. *
  131. * @package iTopUnitTests
  132. * @author Romain Quetiez <romainquetiez@yahoo.fr>
  133. * @license http://www.opensource.org/licenses/lgpl-license.php LGPL
  134. * @link www.itop.com
  135. * @since 1.0
  136. * @version 1.1.1.1 $
  137. */
  138. class cmdbCrowd extends cmdbObject
  139. {
  140. public static function Init()
  141. {
  142. $aParams = array
  143. (
  144. "category" => "blah",
  145. "key_type" => "autoincrement",
  146. "key_label" => "",
  147. "name_attcode" => "att_crowd_peoplecount",
  148. "state_attcode" => "",
  149. "reconc_keys" => array("att_crowd_peoplecount"),
  150. "db_table" => "crowd",
  151. "db_key_field" => "crowdid",
  152. "db_finalclass_field" => "crowdclass",
  153. );
  154. MetaModel::Init_Params($aParams);
  155. MetaModel::Init_InheritAttributes();
  156. MetaModel::Init_AddAttribute(new AttributeInteger("att_crowd_peoplecount", array("allowed_values"=>null, "default_value"=>"", "is_null_allowed"=>false, "depends_on"=>array(), "sql"=>"peoplecount")));
  157. MetaModel::Init_InheritFilters();
  158. MetaModel::Init_AddFilterFromAttribute("att_crowd_peoplecount");
  159. }
  160. }
  161. /**
  162. * blah blah
  163. *
  164. * @package iTopUnitTests
  165. * @author Romain Quetiez <romainquetiez@yahoo.fr>
  166. * @license http://www.opensource.org/licenses/lgpl-license.php LGPL
  167. * @link www.itop.com
  168. * @since 1.0
  169. * @version 1.1.1.1 $
  170. */
  171. class cmdbCompany extends cmdbCrowd
  172. {
  173. public static function Init()
  174. {
  175. $aParams = array
  176. (
  177. "category" => "blah",
  178. "key_type" => "autoincrement",
  179. "key_label" => "",
  180. "name_attcode" => "att_company_dunsnumber",
  181. "state_attcode" => "",
  182. "reconc_keys" => array("att_company_dunsnumber"),
  183. "db_table" => "company",
  184. "db_key_field" => "companyid",
  185. "db_finalclass_field" => "",
  186. );
  187. MetaModel::Init_Params($aParams);
  188. MetaModel::Init_InheritAttributes();
  189. MetaModel::Init_AddAttribute(new AttributeString("att_company_dunsnumber", array("allowed_values"=>null, "default_value"=>"", "is_null_allowed"=>false, "depends_on"=>array(), "sql"=>"dunsnumber")));
  190. MetaModel::Init_InheritFilters();
  191. MetaModel::Init_AddFilterFromAttribute("att_company_dunsnumber");
  192. }
  193. }
  194. /**
  195. * blah blah
  196. *
  197. * @package iTopUnitTests
  198. * @author Romain Quetiez <romainquetiez@yahoo.fr>
  199. * @license http://www.opensource.org/licenses/lgpl-license.php LGPL
  200. * @link www.itop.com
  201. * @since 1.0
  202. * @version 1.1.1.1 $
  203. */
  204. class cmdbProvider extends cmdbCompany
  205. {
  206. public static function Init()
  207. {
  208. $aParams = array
  209. (
  210. "category" => "blah",
  211. "key_type" => "autoincrement",
  212. "key_label" => "",
  213. "name_attcode" => "att_provider_ref",
  214. "state_attcode" => "",
  215. "reconc_keys" => array("att_provider_ref"),
  216. "db_table" => "provider",
  217. "db_key_field" => "providerid",
  218. "db_finalclass_field" => "",
  219. );
  220. MetaModel::Init_Params($aParams);
  221. MetaModel::Init_InheritAttributes();
  222. MetaModel::Init_AddAttribute(new AttributeInteger("att_provider_ref", array("allowed_values"=>null, "default_value"=>"", "is_null_allowed"=>false, "depends_on"=>array(), "sql"=>"providerref")));
  223. MetaModel::Init_InheritFilters();
  224. MetaModel::Init_AddFilterFromAttribute("att_provider_ref");
  225. }
  226. }
  227. ?>