Advertisement
Guest User

testModule.php

a guest
Jan 27th, 2013
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.15 KB | None | 0 0
  1. <?php
  2.  
  3. // Turn on debugging level
  4. $Vtiger_Utils_Log = true;
  5. include_once('vtlib/Vtiger/Menu.php');
  6. include_once('vtlib/Vtiger/Module.php');
  7. // Create module instance and save it first
  8. $module = new Vtiger_Module();
  9. $module->name = 'Payslip';
  10. $module->save();
  11. // Initialize all the tables required
  12. $module->initTables();
  13. /**
  14.  * Creates the following table:
  15.  * vtiger_payslip (payslipid INTEGER)
  16.  * vtiger_payslipcf(payslipid INTEGER PRIMARY KEY)
  17.  * vtiger_payslipgrouprel((payslipid INTEGER PRIMARY KEY, groupname VARCHAR(100))
  18.  */
  19. // AddModue in to webService Fields
  20. $module->initWebservice();
  21. // Add the module to the Menu (entry point from UI)
  22. $menu = Vtiger_Menu::getInstance('Tools');
  23. $menu->addModule($module);
  24. // Add the basic module block
  25. $block1 = new Vtiger_Block();
  26. $block1->label = 'LBL_PAYSLIP_INFORMATION';
  27. $module->addBlock($block1);
  28. // Add custom block (required to support Custom Fields)
  29. $block2 = new Vtiger_Block();
  30. $block2->label = 'LBL_CUSTOM_INFORMATION';
  31. $module->addBlock($block2);
  32. /** Create required fields and add to the block */
  33. $field1 = new Vtiger_Field();
  34. $field1->name = 'PayslipName';
  35. $field1->table = $module->basetable;
  36. $field1->column = 'payslipname';
  37. $field1->columntype = 'VARCHAR(255)';
  38. $field1->uitype = 2;
  39. $field1->typeofdata = 'V~M';
  40. $block1->addField($field1);
  41. /** Creates the field and adds to block */
  42. // Set at-least one field to identifier of module record
  43. $module->setEntityIdentifier($field1);
  44. $field2 = new Vtiger_Field();
  45. $field2->name = 'PayslipType';
  46. $field2->label = 'Payslip Type';
  47. $field2->columntype = 'VARCHAR(100)';
  48. $field2->uitype = 15;
  49. $field2->typeofdata = 'V~O'; // Varchar~Optional
  50. $block1->addField($field2);
  51. /** table and column are automatically set */
  52. $field2->setPicklistValues(Array('Employee', 'Trainee'));
  53. $field3 = new Vtiger_Field();
  54. $field3->name = 'Month';
  55. $field3->uitype = 23;
  56. $field3->typeofdata = 'D~M'; // Date~Mandatory
  57. $block1->addField($field3);/** table, column, label, set to default values */
  58. $field4 = new Vtiger_Field();
  59. $field4->name = 'LinkTo';
  60. $field4->label = 'Link To';
  61. $field4->table = 'vtiger_payslip';
  62. $field4->column = 'linkto';
  63. $field4->columntype = 'VARCHAR(100)';
  64. $field4->uitype = 10;
  65. $field4->typeofdata = 'V~O';
  66. $field4->helpinfo = 'Relate to an existing contact';
  67. $block1->addField($field4);
  68. $field4->setRelatedModules(Array('Contacts'));
  69. /** Common fields that should be in every module, linked to vtiger CRM core table
  70.  */
  71. $field5 = new Vtiger_Field();
  72. $field5->name = 'assigned_user_id';
  73. $field5->label = 'Assigned To';
  74. $field5->table = 'vtiger_crmentity';
  75. $field5->column = 'smownerid';
  76. $field5->uitype = 53;
  77. $field5->typeofdata = 'V~M';
  78. $block1->addField($field5);
  79.  
  80. $field6 = new Vtiger_Field();
  81. $field6->name = 'CreatedTime';
  82. $field6->label = 'Created Time';
  83. $field6->table = 'vtiger_crmentity';
  84. $field6->column = 'createdtime';
  85. $field6->uitype = 70;
  86. $field6->typeofdata = 'T~O';
  87. $field6->displaytype = 2;
  88. $block1->addField($field6);
  89.  
  90. $field7 = new Vtiger_Field();
  91. $field7->name = 'ModifiedTime';
  92. $field7->label = 'Modified Time';
  93. $field7->table = 'vtiger_crmentity';
  94. $field7->column = 'modifiedtime';
  95. $field7->uitype = 70;
  96. $field7->typeofdata = 'T~O';
  97. $field7->displaytype = 2;
  98. $block1->addField($field7);
  99. /** END */
  100. // Create default custom filter (mandatory)
  101. $filter1 = new Vtiger_Filter();
  102. $filter1->name = 'All';
  103. $filter1->isdefault = true;
  104. $module->addFilter($filter1);
  105. // Add fields to the filter created
  106. $filter1->addField($field1)->addField($field2, 1)->addField($field5, 2);
  107. // Create one more filter
  108. $filter2 = new Vtiger_Filter();
  109. $filter2->name = 'All2';
  110. $module->addFilter($filter2);
  111. // Add fields to the filter
  112. $filter2->addField($field1);
  113. $filter2->addField($field2, 1);
  114. // Add rule to the filter field
  115. $filter2->addRule($field1, 'CONTAINS', 'Test');
  116. /** Associate other modules to this module */
  117. $module->setRelatedList(Vtiger_Module::getInstance('Accounts'), 'Accounts', Array('ADD', 'SELECT'));
  118. /** Set sharing access of this module */
  119. $module->setDefaultSharing('Private');
  120. /** Enable and Disable available tools */
  121. $module->enableTools(Array('Import', 'Export'));
  122. $module->disableTools('Merge');
  123. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement