form.php 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. <?php
  2. $now = helper::now();
  3. $today = helper::today();
  4. global $app, $lang;
  5. $config->story->form = new stdclass();
  6. $config->story->form->create = array();
  7. $config->story->form->create['product'] = array('type' => 'int', 'control' => 'select', 'required' => false, 'default' => 0, 'options' => array());
  8. $config->story->form->create['branch'] = array('type' => 'int', 'control' => 'select', 'required' => false, 'default' => 0, 'options' => array());
  9. $config->story->form->create['module'] = array('type' => 'int', 'control' => 'select', 'required' => false, 'default' => 0, 'options' => array());
  10. $config->story->form->create['plan'] = array('type' => 'array', 'control' => 'select', 'required' => false, 'default' => 0, 'options' => array(), 'filter' => 'join');
  11. $config->story->form->create['assignedTo'] = array('type' => 'string', 'control' => 'select', 'required' => false, 'default' => '', 'options' => 'users');
  12. $config->story->form->create['source'] = array('type' => 'string', 'control' => 'select', 'required' => false, 'default' => '', 'options' => $lang->story->sourceList);
  13. $config->story->form->create['sourceNote'] = array('type' => 'string', 'control' => 'text', 'required' => false, 'default' => '', 'filter' => 'trim');
  14. $config->story->form->create['feedbackBy'] = array('type' => 'string', 'control' => 'text', 'required' => false, 'default' => '', 'filter' => 'trim');
  15. $config->story->form->create['notifyEmail'] = array('type' => 'string', 'control' => 'text', 'required' => false, 'default' => '', 'filter' => 'trim');
  16. $config->story->form->create['reviewer'] = array('type' => 'array', 'control' => 'multi-select', 'required' => false, 'default' => '', 'options' => 'users');
  17. $config->story->form->create['parent'] = array('type' => 'int', 'control' => 'select', 'required' => false, 'default' => 0, 'options' => array());
  18. $config->story->form->create['grade'] = array('type' => 'int', 'control' => 'select', 'required' => false, 'default' => 1, 'options' => array());
  19. $config->story->form->create['region'] = array('type' => 'int', 'control' => 'select', 'required' => false, 'default' => 0, 'options' => array());
  20. $config->story->form->create['lane'] = array('type' => 'int', 'control' => 'select', 'required' => false, 'default' => 0, 'options' => array());
  21. $config->story->form->create['title'] = array('type' => 'string', 'control' => 'text', 'required' => true, 'filter' => 'trim');
  22. $config->story->form->create['color'] = array('type' => 'string', 'control' => 'color', 'required' => false, 'default' => '');
  23. $config->story->form->create['category'] = array('type' => 'string', 'control' => 'select', 'required' => false, 'default' => 'feature', 'options' => $lang->story->categoryList);
  24. $config->story->form->create['pri'] = array('type' => 'string', 'control' => 'select', 'required' => false, 'default' => $config->story->defaultPriority, 'options' => array_filter($lang->story->priList));
  25. $config->story->form->create['estimate'] = array('type' => 'string', 'control' => 'text', 'required' => false, 'default' => 0);
  26. $config->story->form->create['spec'] = array('type' => 'string', 'control' => 'editor', 'required' => false, 'default' => '');
  27. $config->story->form->create['verify'] = array('type' => 'string', 'control' => 'editor', 'required' => false, 'default' => '');
  28. $config->story->form->create['keywords'] = array('type' => 'string', 'control' => 'text', 'required' => false, 'default' => '');
  29. $config->story->form->create['type'] = array('type' => 'string', 'control' => 'hidden', 'required' => false, 'default' => 'story');
  30. $config->story->form->create['mailto'] = array('type' => 'array', 'control' => 'multi-select', 'required' => false, 'default' => '', 'filter' => 'join', 'options' => 'users');
  31. $config->story->form->create['status'] = array('type' => 'string', 'control' => 'hidden', 'required' => false, 'default' => 'active');
  32. $config->story->form->create['branches'] = array('type' => 'array', 'control' => 'select', 'required' => false, 'default' => array(), 'options' => array());
  33. $config->story->form->create['modules'] = array('type' => 'array', 'control' => 'select', 'required' => false, 'default' => 0, 'options' => array());
  34. $config->story->form->create['plans'] = array('type' => 'array', 'control' => 'select', 'required' => false, 'default' => 0, 'options' => array());
  35. $config->story->form->create['vision'] = array('type' => 'string', 'control' => '', 'required' => false, 'default' => $config->vision);
  36. $config->story->form->create['version'] = array('type' => 'int', 'control' => '', 'required' => false, 'default' => 1);
  37. $config->story->form->create['openedBy'] = array('type' => 'string', 'control' => '', 'required' => false, 'default' => $app->user->account);
  38. $config->story->form->create['openedDate'] = array('type' => 'string', 'control' => '', 'required' => false, 'default' => helper::now());
  39. $config->story->form->edit = array();
  40. $config->story->form->edit['product'] = array('type' => 'int', 'control' => 'select', 'required' => false, 'default' => 0, 'options' => array());
  41. $config->story->form->edit['branch'] = array('type' => 'int', 'control' => 'select', 'required' => false, 'default' => 0, 'options' => array());
  42. $config->story->form->edit['module'] = array('type' => 'int', 'control' => 'select', 'required' => false, 'default' => 0, 'options' => array());
  43. $config->story->form->edit['parent'] = array('type' => 'int', 'control' => 'select', 'required' => false, 'default' => 0, 'options' => array());
  44. $config->story->form->edit['grade'] = array('type' => 'int', 'control' => 'select', 'required' => false, 'default' => 1, 'options' => array());
  45. $config->story->form->edit['title'] = array('type' => 'string', 'control' => 'text', 'required' => false, 'default' => '', 'filter' => 'trim');
  46. $config->story->form->edit['color'] = array('type' => 'string', 'control' => 'color', 'required' => false, 'default' => '');
  47. $config->story->form->edit['spec'] = array('type' => 'string', 'control' => 'editor', 'required' => false, 'default' => '');
  48. $config->story->form->edit['verify'] = array('type' => 'string', 'control' => 'editor', 'required' => false, 'default' => '');
  49. $config->story->form->edit['plan'] = array('type' => 'array', 'control' => 'select', 'required' => false, 'default' => 0, 'options' => array(), 'filter' => 'join');
  50. $config->story->form->edit['source'] = array('type' => 'string', 'control' => 'select', 'required' => false, 'default' => '', 'options' => $lang->story->sourceList);
  51. $config->story->form->edit['sourceNote'] = array('type' => 'string', 'control' => 'text', 'required' => false, 'default' => '', 'filter' => 'trim');
  52. $config->story->form->edit['stage'] = array('type' => 'string', 'control' => 'select', 'required' => false, 'default' => '', 'options' => $lang->story->stageList);
  53. $config->story->form->edit['category'] = array('type' => 'string', 'control' => 'select', 'required' => false, 'default' => 'feature', 'options' => $lang->story->categoryList);
  54. $config->story->form->edit['pri'] = array('type' => 'int', 'control' => 'select', 'required' => false, 'default' => $config->story->defaultPriority, 'options' => array_filter($lang->story->priList));
  55. $config->story->form->edit['estimate'] = array('type' => 'string', 'control' => 'text', 'required' => false, 'default' => 0);
  56. $config->story->form->edit['feedbackBy'] = array('type' => 'string', 'control' => 'text', 'required' => false, 'default' => '', 'filter' => 'trim');
  57. $config->story->form->edit['notifyEmail'] = array('type' => 'string', 'control' => 'text', 'required' => false, 'default' => '', 'filter' => 'trim');
  58. $config->story->form->edit['keywords'] = array('type' => 'string', 'control' => 'text', 'required' => false, 'default' => '');
  59. $config->story->form->edit['mailto'] = array('type' => 'array', 'control' => 'multi-select', 'required' => false, 'default' => '', 'filter' => 'join', 'options' => 'users');
  60. $config->story->form->edit['reviewer'] = array('type' => 'array', 'control' => 'multi-select', 'required' => false, 'default' => '', 'options' => 'users');
  61. $config->story->form->edit['status'] = array('type' => 'string', 'control' => 'hidden', 'required' => false, 'default' => 'active');
  62. $config->story->form->edit['assignedTo'] = array('type' => 'string', 'control' => 'select', 'required' => false, 'default' => '', 'options' => 'users');
  63. $config->story->form->edit['closedBy'] = array('type' => 'string', 'control' => 'select', 'required' => false, 'default' => '', 'options' => 'users');
  64. $config->story->form->edit['closedReason'] = array('type' => 'string', 'control' => 'select', 'required' => false, 'default' => '', 'options' => $lang->story->reasonList);
  65. $config->story->form->edit['duplicateStory'] = array('type' => 'int', 'control' => 'select', 'required' => false, 'default' => '', 'options' => array());
  66. $config->story->form->edit['deleteFiles'] = array('type' => 'array', 'control' => 'hidden', 'required' => false, 'default' => array());
  67. $config->story->form->edit['renameFiles'] = array('type' => 'array', 'control' => 'hidden', 'required' => false, 'default' => array());
  68. $config->story->form->batchCreate = array();
  69. $config->story->form->batchCreate['branch'] = array('ditto' => true, 'type' => 'int', 'control' => 'select', 'required' => false, 'width' => '200px', 'default' => 0, 'options' => array());
  70. $config->story->form->batchCreate['module'] = array('ditto' => true, 'type' => 'int', 'control' => array('control' => 'picker', 'required' => true), 'required' => false, 'width' => '200px', 'default' => 0, 'options' => array());
  71. $config->story->form->batchCreate['plan'] = array('ditto' => true, 'type' => 'array', 'control' => 'select', 'required' => false, 'width' => '200px', 'default' => 0, 'options' => array(), 'filter' => 'join');
  72. $config->story->form->batchCreate['parent'] = array('ditto' => true, 'type' => 'int', 'control' => 'select', 'required' => false, 'width' => '200px', 'default' => 0, 'options' => array());
  73. $config->story->form->batchCreate['grade'] = array('ditto' => true, 'type' => 'int', 'control' => 'select', 'required' => false, 'width' => '136px', 'default' => 1, 'options' => array());
  74. $config->story->form->batchCreate['assignedTo'] = array('ditto' => false, 'type' => 'string', 'control' => 'select', 'required' => false, 'width' => '136px', 'default' => '', 'options' => 'users');
  75. $config->story->form->batchCreate['region'] = array('ditto' => false, 'type' => 'int', 'control' => 'select', 'required' => false, 'width' => '136px', 'default' => 0, 'options' => array());
  76. $config->story->form->batchCreate['lane'] = array('ditto' => false, 'type' => 'int', 'control' => 'select', 'required' => false, 'width' => '136px', 'default' => 0, 'options' => array());
  77. $config->story->form->batchCreate['title'] = array('ditto' => false, 'type' => 'string', 'control' => 'text', 'required' => true, 'width' => '240px', 'default' => '', 'filter' => 'trim', 'base' => true);
  78. $config->story->form->batchCreate['color'] = array('ditto' => false, 'type' => 'string', 'control' => 'text', 'required' => false, 'default' => '', 'filter' => 'trim');
  79. $config->story->form->batchCreate['spec'] = array('ditto' => false, 'type' => 'string', 'control' => 'textarea', 'required' => false, 'width' => '240px', 'default' => '');
  80. $config->story->form->batchCreate['source'] = array('ditto' => true, 'type' => 'string', 'control' => 'select', 'required' => false, 'width' => '200px', 'default' => '', 'options' => $lang->story->sourceList);
  81. $config->story->form->batchCreate['sourceNote'] = array('ditto' => false, 'type' => 'string', 'control' => 'text', 'required' => false, 'width' => '200px', 'default' => '', 'filter' => 'trim');
  82. $config->story->form->batchCreate['verify'] = array('ditto' => false, 'type' => 'string', 'control' => 'textarea', 'required' => false, 'width' => '200px', 'default' => '');
  83. $config->story->form->batchCreate['category'] = array('ditto' => true, 'type' => 'string', 'control' => 'select', 'required' => false, 'width' => '160px', 'default' => 'feature', 'options' => $lang->story->categoryList);
  84. $config->story->form->batchCreate['pri'] = array('ditto' => false, 'type' => 'int', 'control' => 'priPicker', 'required' => false, 'width' => '92px', 'default' => (string)$config->story->defaultPriority, 'options' => $lang->story->priList);
  85. $config->story->form->batchCreate['estimate'] = array('ditto' => false, 'type' => 'float', 'control' => 'text', 'required' => false, 'width' => '76px', 'default' => 0);
  86. $config->story->form->batchCreate['reviewer'] = array('ditto' => true, 'type' => 'array', 'control' => 'select', 'required' => false, 'width' => '136px', 'default' => '', 'multiple' => true, 'options' => array());
  87. $config->story->form->batchCreate['keywords'] = array('ditto' => false, 'type' => 'string', 'control' => 'text', 'required' => false, 'width' => '200px', 'default' => '');
  88. $config->story->form->batchCreate['mailto'] = array('ditto' => false, 'type' => 'array', 'control' => 'select', 'required' => false, 'width' => '200px', 'default' => array(''), 'multiple' => true, 'options' => 'users', 'filter' => 'join');
  89. $config->story->form->batchEdit = array();
  90. $config->story->form->batchEdit['branch'] = array('type' => 'string', 'width' => '200px', 'control' => 'picker', 'required' => false, 'default' => '', 'options' => array());
  91. $config->story->form->batchEdit['module'] = array('type' => 'int', 'width' => '200px', 'control' => array('control' => 'picker', 'required' => true), 'required' => false, 'default' => 0, 'options' => array());
  92. $config->story->form->batchEdit['roadmap'] = array('type' => 'int', 'width' => '200px', 'control' => 'picker', 'required' => false, 'default' => 0, 'options' => array());
  93. $config->story->form->batchEdit['plan'] = array('type' => 'array', 'width' => '200px', 'control' => 'picker', 'required' => false, 'default' => 0, 'options' => array(), 'filter' => 'join');
  94. $config->story->form->batchEdit['title'] = array('type' => 'string', 'width' => '240px', 'control' => array('control' => 'colorInput', 'inputClass' => 'filter-none'), 'required' => true, 'filter' => 'trim', 'base' => true);
  95. $config->story->form->batchEdit['color'] = array('type' => 'string', 'control' => 'color', 'required' => false, 'default' => '', 'filter' => 'trim');
  96. $config->story->form->batchEdit['estimate'] = array('type' => 'float', 'width' => '76px', 'control' => 'text', 'required' => false, 'default' => '0');
  97. $config->story->form->batchEdit['category'] = array('type' => 'string', 'width' => '160px', 'control' => 'picker', 'required' => false, 'default' => 'feature', 'options' => array_filter($lang->story->categoryList));
  98. $config->story->form->batchEdit['pri'] = array('type' => 'string', 'width' => '92px', 'control' => array('control' => 'picker', 'required' => true), 'required' => false, 'default' => $config->story->defaultPriority, 'options' => array_filter($lang->story->priList));
  99. $config->story->form->batchEdit['assignedTo'] = array('type' => 'string', 'width' => '136px', 'control' => 'picker', 'required' => false, 'default' => '', 'options' => 'users');
  100. $config->story->form->batchEdit['source'] = array('type' => 'string', 'width' => '160px', 'control' => 'picker', 'required' => false, 'default' => '', 'options' => array_filter($lang->story->sourceList));
  101. $config->story->form->batchEdit['sourceNote'] = array('type' => 'string', 'width' => '200px', 'control' => 'text', 'required' => false, 'default' => '', 'filter' => 'trim');
  102. $config->story->form->batchEdit['status'] = array('type' => 'string', 'width' => '80px', 'control' => 'static', 'required' => false, 'default' => '', 'options' => array_filter($lang->story->statusList));
  103. $config->story->form->batchEdit['stage'] = array('type' => 'string', 'width' => '165px', 'control' => 'picker', 'required' => false, 'default' => 0, 'options' => array_filter($lang->story->stageList));
  104. $config->story->form->batchEdit['closedBy'] = array('type' => 'string', 'width' => '136px', 'control' => 'picker', 'required' => false, 'default' => '', 'options' => 'users');
  105. $config->story->form->batchEdit['closedReason'] = array('type' => 'string', 'width' => '200px', 'control' => 'picker', 'required' => false, 'default' => '', 'options' => array_filter($lang->story->reasonList));
  106. $config->story->form->batchEdit['keywords'] = array('type' => 'string', 'width' => '200px', 'control' => 'text', 'required' => false, 'default' => '', 'filter' => 'trim');
  107. $config->story->form->batchclose = array();
  108. $config->story->form->batchclose['id'] = array('type' => 'int', 'required' => true, 'default' => '', 'base' => true);
  109. $config->story->form->batchclose['closedReason'] = array('type' => 'string', 'required' => true, 'default' => '');
  110. $config->story->form->batchclose['duplicateStory'] = array('type' => 'int', 'required' => false, 'default' => 0);
  111. $config->story->form->assignTo = array();
  112. $config->story->form->assignTo['assignedTo'] = array('type' => 'string', 'control' => 'picker', 'required' => false, 'default' => '');
  113. $config->story->form->assignTo['lastEditedBy'] = array('type' => 'string', 'control' => 'hidden', 'required' => false, 'default' => $app->user->account);
  114. $config->story->form->assignTo['lastEditedDate'] = array('type' => 'datetime', 'control' => 'hidden', 'required' => false, 'default' => $now);
  115. $config->story->form->assignTo['assignedDate'] = array('type' => 'datetime', 'control' => 'hidden', 'required' => false, 'default' => $now);
  116. $config->story->form->change = array();
  117. $config->story->form->change['reviewer'] = array('type' => 'array', 'control' => 'multi-select', 'required' => false, 'default' => '', 'options' => '');
  118. $config->story->form->change['title'] = array('type' => 'string', 'control' => 'text', 'required' => true, 'filter' => 'trim');
  119. $config->story->form->change['color'] = array('type' => 'string', 'control' => 'color', 'required' => false, 'default' => '');
  120. $config->story->form->change['spec'] = array('type' => 'string', 'control' => 'editor', 'required' => false, 'default' => '');
  121. $config->story->form->change['verify'] = array('type' => 'string', 'control' => 'editor', 'required' => false, 'default' => '');
  122. $config->story->form->change['relievedTwins'] = array('type' => 'string', 'control' => 'text', 'required' => false, 'default' => '1');
  123. $config->story->form->change['status'] = array('type' => 'string', 'control' => 'hidden', 'required' => false, 'default' => '');
  124. $config->story->form->change['lastEditedDate'] = array('type' => 'string', 'control' => 'hidden', 'required' => false, 'default' => '');
  125. $config->story->form->change['deleteFiles'] = array('type' => 'array', 'control' => 'hidden', 'required' => false, 'default' => array());
  126. $config->story->form->change['renameFiles'] = array('type' => 'array', 'control' => 'hidden', 'required' => false, 'default' => array());
  127. $config->story->form->review = array();
  128. $config->story->form->review['reviewedDate'] = array('type' => 'date', 'control' => 'datetimePicker', 'required' => false, 'default' => '');
  129. $config->story->form->review['result'] = array('type' => 'string', 'control' => 'picker', 'required' => true, 'default' => '', 'options' => '', 'title' => $lang->story->reviewResult);
  130. $config->story->form->review['assignedTo'] = array('type' => 'string', 'control' => 'picker', 'required' => false, 'default' => '', 'options' => 'users');
  131. $config->story->form->review['closedReason'] = array('type' => 'string', 'control' => 'picker', 'required' => false, 'default' => '', 'options' => $lang->story->reasonList, 'title' => $lang->story->rejectedReason);
  132. $config->story->form->review['pri'] = array('type' => 'int', 'control' => 'priPicker', 'required' => false, 'default' => '', 'options' => $lang->story->priList);
  133. $config->story->form->review['estimate'] = array('type' => 'string', 'control' => 'text', 'required' => false, 'default' => '');
  134. $config->story->form->review['duplicateStory'] = array('type' => 'string', 'control' => 'picker', 'required' => false, 'default' => '');
  135. $config->story->form->review['status'] = array('type' => 'string', 'control' => 'hidden', 'required' => false, 'default' => '');
  136. $config->story->form->activate = array();
  137. $config->story->form->activate['assignedTo'] = array('type' => 'string', 'required' => false, 'default' => '');
  138. $config->story->form->activate['activatedDate'] = array('type' => 'datetime', 'required' => false, 'default' => $now);
  139. $config->story->form->activate['lastEditedDate'] = array('type' => 'datetime', 'required' => false, 'default' => $now);
  140. $config->story->form->activate['lastEditedBy'] = array('type' => 'string', 'required' => false, 'default' => $app->user->account);
  141. $config->story->form->activate['closedBy'] = array('type' => 'string', 'required' => false, 'default' => '');
  142. $config->story->form->activate['closedReason'] = array('type' => 'string', 'required' => false, 'default' => '');
  143. $config->story->form->activate['closedDate'] = array('type' => 'datetime', 'required' => false, 'default' => null);
  144. $config->story->form->activate['assignedDate'] = array('type' => 'datetime', 'required' => false, 'default' => $now);
  145. $config->story->form->activate['duplicateStory'] = array('type' => 'int', 'required' => false, 'default' => 0);
  146. $config->story->form->activate['retractedBy'] = array('type' => 'string', 'required' => false, 'default' => '');
  147. $config->story->form->activate['retractedReason'] = array('type' => 'string', 'required' => false, 'default' => '');
  148. $config->story->form->activate['retractedDate'] = array('type' => 'datetime', 'required' => false, 'default' => null);
  149. $config->story->form->close = array();
  150. $config->story->form->close['status'] = array('type' => 'string', 'required' => false, 'default' => 'closed');
  151. $config->story->form->close['stage'] = array('type' => 'string', 'required' => false, 'default' => 'closed');
  152. $config->story->form->close['lastEditedDate'] = array('type' => 'datetime', 'required' => false, 'default' => $now);
  153. $config->story->form->close['lastEditedBy'] = array('type' => 'string', 'required' => false, 'default' => $app->user->account);
  154. $config->story->form->close['closedBy'] = array('type' => 'string', 'required' => false, 'default' => $app->user->account);
  155. $config->story->form->close['closedReason'] = array('type' => 'string', 'required' => false, 'default' => '');
  156. $config->story->form->close['closedDate'] = array('type' => 'datetime', 'required' => false, 'default' => $now);
  157. $config->story->form->close['assignedDate'] = array('type' => 'datetime', 'required' => false, 'default' => $now);
  158. $config->story->form->close['duplicateStory'] = array('type' => 'int', 'required' => false, 'default' => 0);
  159. $config->story->form->close['closeSync'] = array('type' => 'string', 'required' => false, 'default' => '');
  160. $config->story->form->submitReview = array();
  161. $config->story->form->submitReview['reviewer'] = array('type' => 'array', 'control' => 'multi-select', 'required' => false, 'default' => '');
  162. $config->story->form->submitReview['reviewedBy'] = array('type' => 'string', 'control' => 'hidden', 'required' => false, 'default' => '');
  163. $config->story->form->submitReview['reviewedDate'] = array('type' => 'datetime', 'control' => 'hidden', 'required' => false, 'default' => '');
  164. $config->story->form->submitReview['status'] = array('type' => 'string', 'control' => 'hidden', 'required' => false, 'default' => 'active');
  165. $config->story->form->batchToTask['module'] = array('type' => 'int', 'required' => false, 'default' => 0);
  166. $config->story->form->batchToTask['story'] = array('type' => 'int', 'required' => false, 'default' => 0);
  167. $config->story->form->batchToTask['name'] = array('type' => 'string', 'required' => false, 'default' => '', 'base' => true, 'filter' => 'trim');
  168. $config->story->form->batchToTask['type'] = array('type' => 'string', 'required' => false, 'default' => '');
  169. $config->story->form->batchToTask['assignedTo'] = array('type' => 'string', 'required' => false, 'default' => '');
  170. $config->story->form->batchToTask['estimate'] = array('type' => 'float', 'required' => false, 'default' => 0);
  171. $config->story->form->batchToTask['estStarted'] = array('type' => 'date', 'required' => false, 'default' => '');
  172. $config->story->form->batchToTask['deadline'] = array('type' => 'date', 'required' => false, 'default' => '');
  173. $config->story->form->batchToTask['pri'] = array('type' => 'int', 'required' => false, 'default' => 3);
  174. $config->story->form->batchToTask['status'] = array('type' => 'string', 'required' => false, 'default' => 'wait');
  175. $config->story->form->batchToTask['vision'] = array('type' => 'string', 'required' => false, 'default' => 'rnd');
  176. $config->story->form->batchToTask['openedBy'] = array('type' => 'string', 'required' => false, 'default' => $app->user->account);
  177. $config->story->form->batchToTask['openedDate'] = array('type' => 'string', 'required' => false, 'default' => $now);
  178. $config->story->form->batchToTask['version'] = array('type' => 'int', 'required' => false, 'default' => 1);