Advertisement
Ivan56

MyModule

Jul 3rd, 2017
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.51 KB | None | 0 0
  1. <?php
  2. include_once 'vtlib/Vtiger/Module.php';
  3. require_once('vtlib/Vtiger/Package.php');
  4.  
  5. $Vtiger_Utils_Log = true;
  6.  
  7. $MODULENAME = 'Kassi';
  8.  
  9. $oldInstance = Vtiger_Module::getInstance($MODULENAME);
  10. if ($oldInstance) $oldInstance->delete();
  11.  
  12. $moduleInstance = new Vtiger_Module();
  13. $moduleInstance->name = $MODULENAME;
  14. $moduleInstance->parent = 'Tools';
  15. $moduleInstance->save();
  16. $moduleInstance->initTables();
  17.  
  18. $info_block = new Vtiger_Block();
  19. $info_block->label = 'LBL_' . strtoupper($moduleInstance->name) . '_INFORMATION';
  20. $moduleInstance->addBlock($info_block);
  21.  
  22. $name_filed = new Vtiger_Field();
  23. $name_filed->name = 'name';
  24. $name_filed->label = 'Name';
  25. $name_filed->uitype = 2;
  26. $name_filed->summaryfield =1;
  27. $name_filed->column = $name_filed->name;
  28. $name_filed->columntype = 'VARCHAR(255)';
  29. $name_filed->typeofdata = 'V~O';
  30. $info_block->addField($name_filed);
  31. $moduleInstance->setEntityIdentifier($name_filed);
  32.  
  33. $account_field = new Vtiger_Field();
  34. $account_field->name = 'accountid';
  35. $account_field->label = 'Accounts';
  36. $account_field->uitype = 10;
  37. $account_field->summaryfield =1;
  38. $account_field->column = $account_field->name;
  39. $account_field->columntype = 'INT(19)';
  40. $account_field->typeofdata = 'I~O';
  41. $info_block->addField($account_field);
  42. $account_field->setRelatedModules(Array('Accounts'));
  43.  
  44. $order_field = new Vtiger_Field();
  45. $order_field->name = 'salesorderid';
  46. $order_field->label = 'Sales order';
  47. $order_field->uitype = 10;
  48. $order_field->summaryfield =1;
  49. $order_field->column = $order_field->name;
  50. $order_field->columntype = 'INT(19)';
  51. $order_field->typeofdata = 'I~O';
  52. $info_block->addField($order_field);
  53. $order_field->setRelatedModules(Array('SalesOrder'));
  54.  
  55. $product_field = new Vtiger_Field();
  56. $product_field->name = 'productid';
  57. $product_field->label = 'Products';
  58. $product_field->uitype = 10;
  59. $product_field->summaryfield =1;
  60. $product_field->column = $product_field->name;
  61. $product_field->columntype = 'INT(19)';
  62. $product_field->typeofdata = 'I~O';
  63. $info_block->addField($product_field);
  64. $product_field->setRelatedModules(Array('Products'));
  65.  
  66. $responsible_field = new Vtiger_Field();
  67. $responsible_field->name = 'responsible';
  68. $responsible_field->label = 'Менеджер';
  69. $responsible_field->table = 'vtiger_crmentity';
  70. $responsible_field->column = 'smownerid';
  71. $responsible_field->uitype = 53;
  72. $responsible_field->typeofdata = 'V~O';
  73. $info_block->addField($responsible_field);
  74.  
  75. $filter1 = new Vtiger_Filter();
  76. $filter1->name = 'All';
  77. $filter1->isdefault = true;
  78. $moduleInstance->addFilter($filter1);
  79. $filter1->addField($responsible_field)->addField($account_field,1)->addField($product_field, 2)->addField($order_field, 3);
  80.  
  81. //настройка совместного доступа (права доступа устанавливаются по умолчанию).
  82. $moduleInstance->setDefaultSharing();
  83.  
  84. //инициализация Веб-сервиса (автоматический вызов API)
  85. $moduleInstance->initWebservice();
  86.  
  87. $package = new Vtiger_Package();
  88. $package->export($moduleInstance, 'test/vtlib', 'MyModule.zip', false);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement