dtable.php 34 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557
  1. <?php
  2. global $lang, $app;
  3. $isEn = $app->getClientLang() == 'en';
  4. $config->story->dtable = new stdclass();
  5. $config->story->dtable->defaultField = array('id', 'title', 'pri', 'plan', 'roadmap', 'status', 'openedBy', 'estimate', 'reviewedBy', 'stage', 'assignedTo', 'taskCount', 'actions');
  6. $config->story->dtable->fieldList['id']['name'] = 'id';
  7. $config->story->dtable->fieldList['id']['title'] = $lang->idAB;
  8. $config->story->dtable->fieldList['id']['fixed'] = 'left';
  9. $config->story->dtable->fieldList['id']['required'] = true;
  10. $config->story->dtable->fieldList['id']['type'] = 'checkID';
  11. $config->story->dtable->fieldList['id']['checkbox'] = true;
  12. $config->story->dtable->fieldList['id']['show'] = true;
  13. $config->story->dtable->fieldList['id']['sortType'] = true;
  14. $config->story->dtable->fieldList['id']['group'] = 1;
  15. if($app->tab == 'execution')
  16. {
  17. $config->story->dtable->fieldList['order']['name'] = 'order';
  18. $config->story->dtable->fieldList['order']['title'] = $lang->story->order;
  19. $config->story->dtable->fieldList['order']['fixed'] = 'left';
  20. $config->story->dtable->fieldList['order']['sortType'] = true;
  21. $config->story->dtable->fieldList['order']['width'] = '45';
  22. $config->story->dtable->fieldList['order']['show'] = true;
  23. if($isEn) $config->story->dtable->fieldList['order']['width'] = '60';
  24. }
  25. $config->story->dtable->fieldList['title']['name'] = 'title';
  26. $config->story->dtable->fieldList['title']['title'] = $lang->story->title;
  27. $config->story->dtable->fieldList['title']['type'] = 'title';
  28. $config->story->dtable->fieldList['title']['link'] = array('url' => helper::createLink('{type}', 'view', 'storyID={id}'));
  29. $config->story->dtable->fieldList['title']['fixed'] = 'left';
  30. $config->story->dtable->fieldList['title']['sortType'] = true;
  31. $config->story->dtable->fieldList['title']['minWidth'] = '342';
  32. $config->story->dtable->fieldList['title']['required'] = true;
  33. $config->story->dtable->fieldList['title']['nestedToggle'] = true;
  34. $config->story->dtable->fieldList['title']['show'] = true;
  35. $config->story->dtable->fieldList['title']['group'] = 1;
  36. $config->story->dtable->fieldList['title']['data-app'] = $app->tab;
  37. $config->story->dtable->fieldList['title']['styleMap'] = array('--color-link' => 'color');
  38. $config->story->dtable->fieldList['pri']['name'] = 'pri';
  39. $config->story->dtable->fieldList['pri']['title'] = $lang->priAB;
  40. $config->story->dtable->fieldList['pri']['fixed'] = 'left';
  41. $config->story->dtable->fieldList['pri']['sortType'] = true;
  42. $config->story->dtable->fieldList['pri']['type'] = 'pri';
  43. $config->story->dtable->fieldList['pri']['priList'] = $lang->story->priList;
  44. $config->story->dtable->fieldList['pri']['show'] = true;
  45. $config->story->dtable->fieldList['pri']['group'] = 2;
  46. if($isEn) $config->story->dtable->fieldList['pri']['width'] = '80';
  47. $config->story->dtable->fieldList['branch']['name'] = 'branch';
  48. $config->story->dtable->fieldList['branch']['title'] = $lang->story->branch;
  49. $config->story->dtable->fieldList['branch']['sortType'] = true;
  50. $config->story->dtable->fieldList['branch']['width'] = '100';
  51. $config->story->dtable->fieldList['branch']['group'] = 4;
  52. $config->story->dtable->fieldList['branch']['control'] = 'select';
  53. $config->story->dtable->fieldList['branch']['dataSource'] = array('module' => 'branch', 'method' => 'getPairs', 'params' => '$productID&active');
  54. if($config->vision == 'rnd')
  55. {
  56. $config->story->dtable->fieldList['plan']['name'] = 'plan';
  57. $config->story->dtable->fieldList['plan']['title'] = $lang->story->planAB;
  58. $config->story->dtable->fieldList['plan']['sortType'] = true;
  59. $config->story->dtable->fieldList['plan']['width'] = '136';
  60. $config->story->dtable->fieldList['plan']['show'] = true;
  61. $config->story->dtable->fieldList['plan']['control'] = 'multiple';
  62. $config->story->dtable->fieldList['plan']['group'] = 4;
  63. $config->story->dtable->fieldList['plan']['dataSource'] = array('module' => 'productplan', 'method' => 'getPairs', 'params' => '$productID');
  64. }
  65. if($config->edition == 'ipd')
  66. {
  67. $config->story->dtable->fieldList['roadmap']['name'] = 'roadmap';
  68. $config->story->dtable->fieldList['roadmap']['title'] = $lang->story->roadmap;
  69. $config->story->dtable->fieldList['roadmap']['type'] = 'html';
  70. $config->story->dtable->fieldList['roadmap']['show'] = true;
  71. $config->story->dtable->fieldList['roadmap']['sortType'] = true;
  72. $config->story->dtable->fieldList['roadmap']['width'] = '90';
  73. }
  74. if($config->vision == 'or')
  75. {
  76. $app->loadLang('demand');
  77. $config->story->dtable->fieldList['duration']['title'] = 'duration';
  78. $config->story->dtable->fieldList['duration']['width'] = '90';
  79. $config->story->dtable->fieldList['duration']['type'] = 'status';
  80. $config->story->dtable->fieldList['duration']['show'] = true;
  81. $config->story->dtable->fieldList['duration']['sortType'] = true;
  82. $config->story->dtable->fieldList['duration']['statusMap'] = $lang->demand->durationList;
  83. $config->story->dtable->fieldList['duration']['group'] = 4;
  84. $config->story->dtable->fieldList['BSA']['title'] = 'BSA';
  85. $config->story->dtable->fieldList['BSA']['width'] = '90';
  86. $config->story->dtable->fieldList['BSA']['type'] = 'status';
  87. $config->story->dtable->fieldList['BSA']['show'] = true;
  88. $config->story->dtable->fieldList['BSA']['sortType'] = true;
  89. $config->story->dtable->fieldList['BSA']['statusMap'] = $lang->demand->bsaList;
  90. $config->story->dtable->fieldList['BSA']['group'] = 4;
  91. }
  92. $config->story->dtable->fieldList['category']['name'] = 'category';
  93. $config->story->dtable->fieldList['category']['title'] = $lang->story->category;
  94. $config->story->dtable->fieldList['category']['sortType'] = true;
  95. $config->story->dtable->fieldList['category']['type'] = 'category';
  96. $config->story->dtable->fieldList['category']['group'] = 4;
  97. $config->story->dtable->fieldList['status']['name'] = 'status';
  98. $config->story->dtable->fieldList['status']['title'] = $lang->statusAB;
  99. $config->story->dtable->fieldList['status']['sortType'] = true;
  100. $config->story->dtable->fieldList['status']['type'] = 'status';
  101. $config->story->dtable->fieldList['status']['statusMap'] = $lang->story->statusList;
  102. $config->story->dtable->fieldList['status']['show'] = true;
  103. $config->story->dtable->fieldList['status']['group'] = 4;
  104. $config->story->dtable->fieldList['openedBy']['name'] = 'openedBy';
  105. $config->story->dtable->fieldList['openedBy']['title'] = $lang->story->openedByAB;
  106. $config->story->dtable->fieldList['openedBy']['sortType'] = true;
  107. $config->story->dtable->fieldList['openedBy']['type'] = 'user';
  108. $config->story->dtable->fieldList['openedBy']['show'] = true;
  109. $config->story->dtable->fieldList['openedBy']['group'] = 5;
  110. $config->story->dtable->fieldList['openedDate']['name'] = 'openedDate';
  111. $config->story->dtable->fieldList['openedDate']['title'] = $lang->story->openedDate;
  112. $config->story->dtable->fieldList['openedDate']['sortType'] = true;
  113. $config->story->dtable->fieldList['openedDate']['type'] = 'date';
  114. $config->story->dtable->fieldList['openedDate']['group'] = 5;
  115. $config->story->dtable->fieldList['estimate']['name'] = 'estimate';
  116. $config->story->dtable->fieldList['estimate']['title'] = $lang->story->estimateAB;
  117. $config->story->dtable->fieldList['estimate']['sortType'] = true;
  118. $config->story->dtable->fieldList['estimate']['type'] = 'number';
  119. $config->story->dtable->fieldList['estimate']['show'] = true;
  120. $config->story->dtable->fieldList['estimate']['group'] = 5;
  121. if($isEn) $config->story->dtable->fieldList['estimate']['width'] = '90';
  122. $config->story->dtable->fieldList['reviewer']['name'] = 'reviewer';
  123. $config->story->dtable->fieldList['reviewer']['type'] = 'text';
  124. $config->story->dtable->fieldList['reviewer']['title'] = $lang->story->reviewer;
  125. $config->story->dtable->fieldList['reviewer']['width'] = '100';
  126. $config->story->dtable->fieldList['reviewer']['sortType'] = false;
  127. $config->story->dtable->fieldList['reviewer']['show'] = true;
  128. $config->story->dtable->fieldList['reviewer']['group'] = 5;
  129. if($isEn) $config->story->dtable->fieldList['reviewer']['width'] = '120';
  130. $config->story->dtable->fieldList['reviewedDate']['name'] = 'reviewedDate';
  131. $config->story->dtable->fieldList['reviewedDate']['title'] = $lang->story->reviewedDate;
  132. $config->story->dtable->fieldList['reviewedDate']['sortType'] = true;
  133. $config->story->dtable->fieldList['reviewedDate']['type'] = 'date';
  134. $config->story->dtable->fieldList['reviewedDate']['group'] = 5;
  135. $app->loadLang('requirement');
  136. $config->story->dtable->fieldList['stage']['name'] = 'stage';
  137. $config->story->dtable->fieldList['stage']['title'] = $lang->story->stageAB;
  138. $config->story->dtable->fieldList['stage']['sortType'] = true;
  139. $config->story->dtable->fieldList['stage']['type'] = 'status';
  140. $config->story->dtable->fieldList['stage']['statusMap'] = $lang->story->stageList + $lang->requirement->stageList;
  141. $config->story->dtable->fieldList['stage']['show'] = true;
  142. $config->story->dtable->fieldList['stage']['group'] = 6;
  143. if($isEn) $config->story->dtable->fieldList['stage']['width'] = '120';
  144. $config->story->dtable->fieldList['assignedTo']['name'] = 'assignedTo';
  145. $config->story->dtable->fieldList['assignedTo']['title'] = $lang->story->assignedTo;
  146. $config->story->dtable->fieldList['assignedTo']['sortType'] = true;
  147. $config->story->dtable->fieldList['assignedTo']['currentUser'] = $app->user->account;
  148. $config->story->dtable->fieldList['assignedTo']['assignLink'] = array('module' => 'story', 'method' => 'assignTo', 'params' => 'storyID={id}');
  149. $config->story->dtable->fieldList['assignedTo']['type'] = 'assign';
  150. $config->story->dtable->fieldList['assignedTo']['show'] = true;
  151. $config->story->dtable->fieldList['assignedTo']['group'] = 6;
  152. if($isEn) $config->story->dtable->fieldList['assignedTo']['width'] = '120';
  153. $config->story->dtable->fieldList['assignedDate']['name'] = 'assignedDate';
  154. $config->story->dtable->fieldList['assignedDate']['title'] = $lang->story->assignedDate;
  155. $config->story->dtable->fieldList['assignedDate']['sortType'] = true;
  156. $config->story->dtable->fieldList['assignedDate']['type'] = 'date';
  157. $config->story->dtable->fieldList['assignedDate']['group'] = 6;
  158. $config->story->dtable->fieldList['product']['name'] = 'product';
  159. $config->story->dtable->fieldList['product']['title'] = $lang->story->product;
  160. $config->story->dtable->fieldList['product']['type'] = 'text';
  161. $config->story->dtable->fieldList['product']['control'] = 'select';
  162. $config->story->dtable->fieldList['product']['dataSource'] = array('module' => 'product', 'method' => 'getPairs', 'params' => ['mode' => '', 'programID' => 0, 'append' => '', 'shadow' => 'all']);
  163. $config->story->dtable->fieldList['module']['name'] = 'module';
  164. $config->story->dtable->fieldList['module']['title'] = $lang->story->module;
  165. $config->story->dtable->fieldList['module']['type'] = 'text';
  166. $config->story->dtable->fieldList['module']['control'] = 'select';
  167. $config->story->dtable->fieldList['module']['dataSource'] = array('module' => 'tree', 'method' => 'getOptionMenu', 'params' => ['rootID' => '$productID', 'type' => 'story', 'startModule' => 0, 'branch' => 'all']);
  168. $config->story->dtable->fieldList['taskCount']['name'] = 'taskCount';
  169. $config->story->dtable->fieldList['taskCount']['title'] = 'T';
  170. $config->story->dtable->fieldList['taskCount']['sortType'] = false;
  171. $config->story->dtable->fieldList['taskCount']['width'] = '30';
  172. $config->story->dtable->fieldList['taskCount']['type'] = 'text';
  173. $config->story->dtable->fieldList['taskCount']['link'] = array('module' => 'story', 'method' => 'tasks', 'params' => 'storyID={id}');
  174. $config->story->dtable->fieldList['taskCount']['data-toggle'] = 'modal';
  175. $config->story->dtable->fieldList['taskCount']['show'] = true;
  176. $config->story->dtable->fieldList['taskCount']['group'] = 7;
  177. $config->story->dtable->fieldList['bugCount']['name'] = 'bugCount';
  178. $config->story->dtable->fieldList['bugCount']['title'] = 'B';
  179. $config->story->dtable->fieldList['bugCount']['sortType'] = false;
  180. $config->story->dtable->fieldList['bugCount']['width'] = '30';
  181. $config->story->dtable->fieldList['bugCount']['type'] = 'text';
  182. $config->story->dtable->fieldList['bugCount']['link'] = array('module' => 'story', 'method' => 'bugs', 'params' => 'storyID={id}');
  183. $config->story->dtable->fieldList['bugCount']['data-toggle'] = 'modal';
  184. $config->story->dtable->fieldList['bugCount']['group'] = 7;
  185. $config->story->dtable->fieldList['caseCount']['name'] = 'caseCount';
  186. $config->story->dtable->fieldList['caseCount']['title'] = 'C';
  187. $config->story->dtable->fieldList['caseCount']['sortType'] = false;
  188. $config->story->dtable->fieldList['caseCount']['width'] = '30';
  189. $config->story->dtable->fieldList['caseCount']['type'] = 'text';
  190. $config->story->dtable->fieldList['caseCount']['link'] = array('module' => 'story', 'method' => 'cases', 'params' => 'storyID={id}');
  191. $config->story->dtable->fieldList['caseCount']['data-toggle'] = 'modal';
  192. $config->story->dtable->fieldList['caseCount']['group'] = 7;
  193. if($config->edition != 'open')
  194. {
  195. $config->story->dtable->fieldList['relatedObject']['name'] = 'relatedObject';
  196. $config->story->dtable->fieldList['relatedObject']['title'] = $lang->custom->relateObject;
  197. $config->story->dtable->fieldList['relatedObject']['sortType'] = false;
  198. $config->story->dtable->fieldList['relatedObject']['width'] = '70';
  199. $config->story->dtable->fieldList['relatedObject']['type'] = 'text';
  200. $config->story->dtable->fieldList['relatedObject']['link'] = common::hasPriv('custom', 'showRelationGraph') ? "RAWJS<function(info){ if(info.row.data.relatedObject == 0) return 0; else return '" . helper::createLink('custom', 'showRelationGraph', 'objectID={id}&objectType={type}') . "'; }>RAWJS" : null;
  201. $config->story->dtable->fieldList['relatedObject']['data-toggle'] = 'modal';
  202. $config->story->dtable->fieldList['relatedObject']['data-size'] = 'lg';
  203. $config->story->dtable->fieldList['relatedObject']['show'] = true;
  204. $config->story->dtable->fieldList['relatedObject']['group'] = 7;
  205. $config->story->dtable->fieldList['relatedObject']['flex'] = false;
  206. $config->story->dtable->fieldList['relatedObject']['align'] = 'center';
  207. if($isEn) $config->story->dtable->fieldList['relatedObject']['width'] = '120';
  208. }
  209. $config->story->dtable->fieldList['childItem']['name'] = 'childItem';
  210. $config->story->dtable->fieldList['childItem']['title'] = $lang->story->childItem;
  211. $config->story->dtable->fieldList['childItem']['sortType'] = false;
  212. $config->story->dtable->fieldList['childItem']['type'] = 'text';
  213. $config->story->dtable->fieldList['childItem']['group'] = 6;
  214. $config->story->dtable->fieldList['closedBy']['name'] = 'closedBy';
  215. $config->story->dtable->fieldList['closedBy']['title'] = $lang->story->closedBy;
  216. $config->story->dtable->fieldList['closedBy']['sortType'] = true;
  217. $config->story->dtable->fieldList['closedBy']['type'] = 'user';
  218. $config->story->dtable->fieldList['closedBy']['group'] = 8;
  219. $config->story->dtable->fieldList['closedDate']['name'] = 'closedDate';
  220. $config->story->dtable->fieldList['closedDate']['title'] = $lang->story->closedDate;
  221. $config->story->dtable->fieldList['closedDate']['sortType'] = true;
  222. $config->story->dtable->fieldList['closedDate']['type'] = 'date';
  223. $config->story->dtable->fieldList['closedDate']['group'] = 8;
  224. $config->story->dtable->fieldList['closedReason']['name'] = 'closedReason';
  225. $config->story->dtable->fieldList['closedReason']['title'] = $lang->story->closedReason;
  226. $config->story->dtable->fieldList['closedReason']['sortType'] = true;
  227. $config->story->dtable->fieldList['closedReason']['width'] = '90';
  228. $config->story->dtable->fieldList['closedReason']['group'] = 8;
  229. $config->story->dtable->fieldList['lastEditedBy']['name'] = 'lastEditedBy';
  230. $config->story->dtable->fieldList['lastEditedBy']['title'] = $lang->story->lastEditedBy;
  231. $config->story->dtable->fieldList['lastEditedBy']['sortType'] = true;
  232. $config->story->dtable->fieldList['lastEditedBy']['type'] = 'user';
  233. $config->story->dtable->fieldList['lastEditedBy']['group'] = 9;
  234. $config->story->dtable->fieldList['lastEditedDate']['name'] = 'lastEditedDate';
  235. $config->story->dtable->fieldList['lastEditedDate']['title'] = $lang->story->lastEditedDate;
  236. $config->story->dtable->fieldList['lastEditedDate']['sortType'] = true;
  237. $config->story->dtable->fieldList['lastEditedDate']['type'] = 'date';
  238. $config->story->dtable->fieldList['lastEditedDate']['width'] = 120;
  239. $config->story->dtable->fieldList['lastEditedDate']['group'] = 9;
  240. $config->story->dtable->fieldList['keywords']['name'] = 'keywords';
  241. $config->story->dtable->fieldList['keywords']['title'] = $lang->story->keywords;
  242. $config->story->dtable->fieldList['keywords']['sortType'] = true;
  243. $config->story->dtable->fieldList['keywords']['width'] = '100';
  244. $config->story->dtable->fieldList['keywords']['group'] = 10;
  245. $config->story->dtable->fieldList['source']['name'] = 'source';
  246. $config->story->dtable->fieldList['source']['title'] = $lang->story->source;
  247. $config->story->dtable->fieldList['source']['sortType'] = true;
  248. $config->story->dtable->fieldList['source']['width'] = '90';
  249. $config->story->dtable->fieldList['source']['group'] = 10;
  250. $config->story->dtable->fieldList['sourceNote']['name'] = 'sourceNote';
  251. $config->story->dtable->fieldList['sourceNote']['title'] = $lang->story->sourceNote;
  252. $config->story->dtable->fieldList['sourceNote']['width'] = '90';
  253. $config->story->dtable->fieldList['sourceNote']['sortType'] = true;
  254. $config->story->dtable->fieldList['sourceNote']['group'] = 10;
  255. $config->story->dtable->fieldList['feedbackBy']['name'] = 'feedbackBy';
  256. $config->story->dtable->fieldList['feedbackBy']['title'] = $lang->story->feedbackBy;
  257. $config->story->dtable->fieldList['feedbackBy']['sortType'] = true;
  258. $config->story->dtable->fieldList['feedbackBy']['width'] = '90';
  259. $config->story->dtable->fieldList['feedbackBy']['group'] = 10;
  260. $config->story->dtable->fieldList['activatedDate']['name'] = 'activatedDate';
  261. $config->story->dtable->fieldList['activatedDate']['title'] = $lang->story->activatedDate;
  262. $config->story->dtable->fieldList['activatedDate']['sortType'] = true;
  263. $config->story->dtable->fieldList['activatedDate']['type'] = 'date';
  264. $config->story->dtable->fieldList['activatedDate']['group'] = 11;
  265. $config->story->dtable->fieldList['notifyEmail']['name'] = 'notifyEmail';
  266. $config->story->dtable->fieldList['notifyEmail']['title'] = $lang->story->notifyEmail;
  267. $config->story->dtable->fieldList['notifyEmail']['width'] = '100';
  268. $config->story->dtable->fieldList['notifyEmail']['sortType'] = true;
  269. $config->story->dtable->fieldList['notifyEmail']['group'] = 11;
  270. $config->story->dtable->fieldList['mailto']['name'] = 'mailto';
  271. $config->story->dtable->fieldList['mailto']['title'] = $lang->story->mailto;
  272. $config->story->dtable->fieldList['mailto']['width'] = '100';
  273. $config->story->dtable->fieldList['mailto']['sortType'] = true;
  274. $config->story->dtable->fieldList['mailto']['group'] = 11;
  275. $config->story->dtable->fieldList['version']['name'] = 'version';
  276. $config->story->dtable->fieldList['version']['title'] = $lang->story->version;
  277. $config->story->dtable->fieldList['version']['type'] = 'number';
  278. $config->story->dtable->fieldList['version']['sortType'] = true;
  279. $config->story->dtable->fieldList['version']['group'] = 11;
  280. $config->story->dtable->fieldList['actions']['name'] = 'actions';
  281. $config->story->dtable->fieldList['actions']['title'] = $lang->actions;
  282. $config->story->dtable->fieldList['actions']['fixed'] = 'right';
  283. $config->story->dtable->fieldList['actions']['required'] = true;
  284. $config->story->dtable->fieldList['actions']['width'] = 'auto';
  285. $config->story->dtable->fieldList['actions']['minWidth'] = $app->tab != 'product' ? 240 : 200;
  286. $config->story->dtable->fieldList['actions']['type'] = 'actions';
  287. $config->story->dtable->fieldList['actions']['actionsMap']['assigned']['icon'] = 'hand-right';
  288. $config->story->dtable->fieldList['actions']['actionsMap']['assigned']['hint'] = $lang->story->operateList['assigned'];
  289. $config->story->dtable->fieldList['actions']['actionsMap']['close']['icon'] = 'off';
  290. $config->story->dtable->fieldList['actions']['actionsMap']['close']['hint'] = $lang->story->operateList['closed'];
  291. $config->story->dtable->fieldList['actions']['actionsMap']['activate']['icon'] = 'active';
  292. $config->story->dtable->fieldList['actions']['actionsMap']['activate']['hint'] = $lang->story->operateList['activated'];
  293. $config->story->dtable->fieldList['actions']['actionsMap']['change']['icon'] = 'change';
  294. $config->story->dtable->fieldList['actions']['actionsMap']['change']['hint'] = $lang->story->operateList['changed'];
  295. $config->story->dtable->fieldList['actions']['actionsMap']['change']['data-app'] = $app->tab;
  296. $config->story->dtable->fieldList['actions']['actionsMap']['review']['icon'] = 'search';
  297. $config->story->dtable->fieldList['actions']['actionsMap']['review']['hint'] = $lang->story->operateList['reviewed'];
  298. $config->story->dtable->fieldList['actions']['actionsMap']['review']['data-app'] = $app->tab;
  299. $config->story->dtable->fieldList['actions']['actionsMap']['edit']['icon'] = 'edit';
  300. $config->story->dtable->fieldList['actions']['actionsMap']['edit']['hint'] = $lang->story->operateList['edited'];
  301. $config->story->dtable->fieldList['actions']['actionsMap']['submitreview']['icon'] = 'sub-review';
  302. $config->story->dtable->fieldList['actions']['actionsMap']['submitreview']['hint'] = $lang->story->operateList['submitreview'];
  303. $config->story->dtable->fieldList['actions']['actionsMap']['recalledchange']['icon'] = 'undo';
  304. $config->story->dtable->fieldList['actions']['actionsMap']['recalledchange']['hint'] = $lang->story->operateList['recalledchange'];
  305. $config->story->dtable->fieldList['actions']['actionsMap']['recall']['icon'] = 'undo';
  306. $config->story->dtable->fieldList['actions']['actionsMap']['recall']['hint'] = $lang->story->operateList['recalled'];
  307. $app->loadLang('testcase');
  308. $config->story->dtable->fieldList['actions']['actionsMap']['testcase']['icon'] = 'testcase';
  309. $config->story->dtable->fieldList['actions']['actionsMap']['testcase']['hint'] = $lang->testcase->create;
  310. $config->story->dtable->fieldList['actions']['actionsMap']['testcase']['data-app'] = $app->tab;
  311. $config->story->dtable->fieldList['actions']['actionsMap']['subdivide']['icon'] = 'split';
  312. $config->story->dtable->fieldList['actions']['actionsMap']['subdivide']['hint'] = $lang->story->subdivide;
  313. $config->story->dtable->fieldList['actions']['actionsMap']['subdivide']['data-app'] = $app->tab;
  314. $config->story->dtable->fieldList['actions']['actionsMap']['processStoryChange']['icon'] = 'ok';
  315. $config->story->dtable->fieldList['actions']['actionsMap']['processStoryChange']['hint'] = $lang->story->processStoryChange;
  316. $config->story->dtable->fieldList['actions']['actionsMap']['processStoryChange']['data-app'] = $app->tab;
  317. $config->story->dtable->fieldList['actions']['actionsMap']['batchCreate']['icon'] = 'split';
  318. $config->story->dtable->fieldList['actions']['actionsMap']['batchCreate']['hint'] = $lang->story->subdivide;
  319. $config->story->dtable->fieldList['actions']['actionsMap']['batchCreate']['data-app'] = $app->tab;
  320. $app->loadLang('task');
  321. $config->story->dtable->fieldList['actions']['actionsMap']['createTask']['icon'] = 'plus';
  322. $config->story->dtable->fieldList['actions']['actionsMap']['createTask']['hint'] = $lang->task->create;
  323. $config->story->dtable->fieldList['actions']['actionsMap']['createTask']['data-app'] = $app->tab;
  324. $config->story->dtable->fieldList['actions']['actionsMap']['batchCreateTask']['icon'] = 'pluses';
  325. $config->story->dtable->fieldList['actions']['actionsMap']['batchCreateTask']['hint'] = $lang->task->batchCreate;
  326. $config->story->dtable->fieldList['actions']['actionsMap']['batchCreateTask']['data-app'] = $app->tab;
  327. $app->loadLang('execution');
  328. $config->story->dtable->fieldList['actions']['actionsMap']['storyEstimate']['icon'] = 'estimate';
  329. $config->story->dtable->fieldList['actions']['actionsMap']['storyEstimate']['hint'] = $lang->execution->storyEstimate;
  330. $config->story->dtable->fieldList['actions']['actionsMap']['storyEstimate']['data-size'] = 'sm';
  331. $config->story->dtable->fieldList['actions']['actionsMap']['storyEstimate']['data-toggle'] = 'modal';
  332. $config->story->dtable->fieldList['actions']['actionsMap']['storyEstimate']['data-id'] = 'storyEstimateModal';
  333. $config->story->dtable->fieldList['actions']['actionsMap']['unlink']['icon'] = 'unlink';
  334. $config->story->dtable->fieldList['actions']['actionsMap']['unlink']['hint'] = $lang->story->unlink;
  335. $config->story->taskTable = new stdclass();
  336. $config->story->taskTable->fieldList['id']['name'] = 'id';
  337. $config->story->taskTable->fieldList['id']['title'] = $lang->idAB;
  338. $config->story->taskTable->fieldList['id']['fixed'] = 'left';
  339. $config->story->taskTable->fieldList['id']['type'] = 'checkID';
  340. $config->story->taskTable->fieldList['id']['sortType'] = false;
  341. $config->story->taskTable->fieldList['id']['group'] = 1;
  342. $config->story->taskTable->fieldList['name']['name'] = 'name';
  343. $config->story->taskTable->fieldList['name']['title'] = $lang->task->name;
  344. $config->story->taskTable->fieldList['name']['type'] = 'text';
  345. $config->story->taskTable->fieldList['name']['sortType'] = false;
  346. $config->story->taskTable->fieldList['name']['group'] = 2;
  347. $config->story->taskTable->fieldList['pri']['name'] = 'pri';
  348. $config->story->taskTable->fieldList['pri']['title'] = $lang->priAB;
  349. $config->story->taskTable->fieldList['pri']['type'] = 'pri';
  350. $config->story->taskTable->fieldList['pri']['group'] = 3;
  351. $config->story->taskTable->fieldList['pri']['sortType'] = false;
  352. $config->story->taskTable->fieldList['status']['name'] = 'status';
  353. $config->story->taskTable->fieldList['status']['title'] = $lang->statusAB;
  354. $config->story->taskTable->fieldList['status']['type'] = 'status';
  355. $config->story->taskTable->fieldList['status']['statusMap'] = $lang->task->statusList;
  356. $config->story->taskTable->fieldList['status']['group'] = 3;
  357. $config->story->taskTable->fieldList['status']['sortType'] = false;
  358. $config->story->taskTable->fieldList['assignedTo']['name'] = 'assignedTo';
  359. $config->story->taskTable->fieldList['assignedTo']['title'] = $lang->task->assignedToAB;
  360. $config->story->taskTable->fieldList['assignedTo']['type'] = 'user';
  361. $config->story->taskTable->fieldList['assignedTo']['sortType'] = false;
  362. $config->story->taskTable->fieldList['assignedTo']['group'] = 4;
  363. $config->story->taskTable->fieldList['estimate']['name'] = 'estimate';
  364. $config->story->taskTable->fieldList['estimate']['title'] = $lang->task->estimateAB;
  365. $config->story->taskTable->fieldList['estimate']['type'] = 'number';
  366. $config->story->taskTable->fieldList['estimate']['sortType'] = false;
  367. $config->story->taskTable->fieldList['estimate']['group'] = 5;
  368. $config->story->taskTable->fieldList['consumed']['name'] = 'consumed';
  369. $config->story->taskTable->fieldList['consumed']['title'] = $lang->task->consumedAB;
  370. $config->story->taskTable->fieldList['consumed']['type'] = 'number';
  371. $config->story->taskTable->fieldList['consumed']['sortType'] = false;
  372. $config->story->taskTable->fieldList['consumed']['group'] = 5;
  373. $config->story->taskTable->fieldList['left']['name'] = 'left';
  374. $config->story->taskTable->fieldList['left']['title'] = $lang->task->leftAB;
  375. $config->story->taskTable->fieldList['left']['type'] = 'number';
  376. $config->story->taskTable->fieldList['left']['sortType'] = false;
  377. $config->story->taskTable->fieldList['left']['group'] = 5;
  378. $config->story->taskTable->fieldList['progress']['name'] = 'progress';
  379. $config->story->taskTable->fieldList['progress']['title'] = $lang->task->progress;
  380. $config->story->taskTable->fieldList['progress']['type'] = 'progress';
  381. $config->story->taskTable->fieldList['progress']['sortType'] = false;
  382. $config->story->taskTable->fieldList['progress']['group'] = 5;
  383. $app->loadLang('bug');
  384. $config->story->bugTable = new stdclass();
  385. $config->story->bugTable->fieldList['id']['name'] = 'id';
  386. $config->story->bugTable->fieldList['id']['title'] = $lang->idAB;
  387. $config->story->bugTable->fieldList['id']['fixed'] = 'left';
  388. $config->story->bugTable->fieldList['id']['type'] = 'checkID';
  389. $config->story->bugTable->fieldList['id']['sortType'] = true;
  390. $config->story->bugTable->fieldList['id']['group'] = 1;
  391. $config->story->bugTable->fieldList['title']['name'] = 'title';
  392. $config->story->bugTable->fieldList['title']['title'] = $lang->bug->title;
  393. $config->story->bugTable->fieldList['title']['type'] = 'text';
  394. $config->story->bugTable->fieldList['title']['sortType'] = true;
  395. $config->story->bugTable->fieldList['title']['group'] = 2;
  396. $config->story->bugTable->fieldList['pri']['name'] = 'pri';
  397. $config->story->bugTable->fieldList['pri']['title'] = $lang->priAB;
  398. $config->story->bugTable->fieldList['pri']['type'] = 'pri';
  399. $config->story->bugTable->fieldList['pri']['sortType'] = true;
  400. $config->story->bugTable->fieldList['pri']['group'] = 3;
  401. $config->story->bugTable->fieldList['type']['name'] = 'type';
  402. $config->story->bugTable->fieldList['type']['title'] = $lang->bug->type;
  403. $config->story->bugTable->fieldList['type']['type'] = 'category';
  404. $config->story->bugTable->fieldList['type']['map'] = $lang->bug->typeList;
  405. $config->story->bugTable->fieldList['type']['sortType'] = true;
  406. $config->story->bugTable->fieldList['type']['group'] = 3;
  407. $config->story->bugTable->fieldList['status']['name'] = 'status';
  408. $config->story->bugTable->fieldList['status']['title'] = $lang->bug->status;
  409. $config->story->bugTable->fieldList['status']['type'] = 'status';
  410. $config->story->bugTable->fieldList['status']['statusMap'] = $lang->bug->statusList;
  411. $config->story->bugTable->fieldList['status']['sortType'] = true;
  412. $config->story->bugTable->fieldList['status']['group'] = 3;
  413. $config->story->bugTable->fieldList['assignedTo']['name'] = 'assignedTo';
  414. $config->story->bugTable->fieldList['assignedTo']['title'] = $lang->bug->assignedTo;
  415. $config->story->bugTable->fieldList['assignedTo']['type'] = 'user';
  416. $config->story->bugTable->fieldList['assignedTo']['sortType'] = true;
  417. $config->story->bugTable->fieldList['assignedTo']['group'] = 4;
  418. $config->story->bugTable->fieldList['resolvedBy']['name'] = 'resolvedBy';
  419. $config->story->bugTable->fieldList['resolvedBy']['title'] = $lang->bug->resolvedBy;
  420. $config->story->bugTable->fieldList['resolvedBy']['type'] = 'user';
  421. $config->story->bugTable->fieldList['resolvedBy']['sortType'] = true;
  422. $config->story->bugTable->fieldList['resolvedBy']['group'] = 5;
  423. $config->story->bugTable->fieldList['resolution']['name'] = 'resolution';
  424. $config->story->bugTable->fieldList['resolution']['title'] = $lang->bug->resolution;
  425. $config->story->bugTable->fieldList['resolution']['type'] = 'category';
  426. $config->story->bugTable->fieldList['resolution']['map'] = $lang->bug->resolutionList;
  427. $config->story->bugTable->fieldList['resolution']['sortType'] = true;
  428. $config->story->bugTable->fieldList['resolution']['group'] = 5;
  429. $app->loadLang('testcase');
  430. $config->story->caseTable = new stdclass();
  431. $config->story->caseTable->fieldList['id']['name'] = 'id';
  432. $config->story->caseTable->fieldList['id']['title'] = $lang->idAB;
  433. $config->story->caseTable->fieldList['id']['type'] = 'checkID';
  434. $config->story->caseTable->fieldList['id']['sortType'] = true;
  435. $config->story->caseTable->fieldList['id']['fixed'] = 'left';
  436. $config->story->caseTable->fieldList['id']['group'] = 1;
  437. $config->story->caseTable->fieldList['title']['name'] = 'title';
  438. $config->story->caseTable->fieldList['title']['title'] = $lang->testcase->title;
  439. $config->story->caseTable->fieldList['title']['type'] = 'text';
  440. $config->story->caseTable->fieldList['title']['sortType'] = true;
  441. $config->story->caseTable->fieldList['title']['group'] = 2;
  442. $config->story->caseTable->fieldList['pri']['name'] = 'pri';
  443. $config->story->caseTable->fieldList['pri']['title'] = $lang->priAB;
  444. $config->story->caseTable->fieldList['pri']['type'] = 'pri';
  445. $config->story->caseTable->fieldList['pri']['sortType'] = true;
  446. $config->story->caseTable->fieldList['pri']['group'] = 3;
  447. $config->story->caseTable->fieldList['type']['name'] = 'type';
  448. $config->story->caseTable->fieldList['type']['title'] = $lang->testcase->type;
  449. $config->story->caseTable->fieldList['type']['type'] = 'category';
  450. $config->story->caseTable->fieldList['type']['map'] = $lang->testcase->typeList;
  451. $config->story->caseTable->fieldList['type']['sortType'] = true;
  452. $config->story->caseTable->fieldList['type']['group'] = 3;
  453. $config->story->caseTable->fieldList['status']['name'] = 'status';
  454. $config->story->caseTable->fieldList['status']['title'] = $lang->statusAB;
  455. $config->story->caseTable->fieldList['status']['type'] = 'status';
  456. $config->story->caseTable->fieldList['status']['statusMap'] = $lang->testcase->statusList;
  457. $config->story->caseTable->fieldList['status']['sortType'] = true;
  458. $config->story->caseTable->fieldList['status']['group'] = 3;
  459. $config->story->caseTable->fieldList['lastRunner']['name'] = 'lastRunner';
  460. $config->story->caseTable->fieldList['lastRunner']['title'] = $lang->testcase->lastRunner;
  461. $config->story->caseTable->fieldList['lastRunner']['type'] = 'user';
  462. $config->story->caseTable->fieldList['lastRunner']['sortType'] = true;
  463. $config->story->caseTable->fieldList['lastRunner']['group'] = 4;
  464. $config->story->caseTable->fieldList['lastRunDate']['name'] = 'lastRunDate';
  465. $config->story->caseTable->fieldList['lastRunDate']['title'] = $lang->testcase->lastRunDate;
  466. $config->story->caseTable->fieldList['lastRunDate']['type'] = 'date';
  467. $config->story->caseTable->fieldList['lastRunDate']['sortType'] = true;
  468. $config->story->caseTable->fieldList['lastRunDate']['group'] = 4;
  469. $config->story->caseTable->fieldList['lastRunResult']['name'] = 'lastRunResult';
  470. $config->story->caseTable->fieldList['lastRunResult']['title'] = $lang->testcase->lastRunResult;
  471. $config->story->caseTable->fieldList['lastRunResult']['type'] = 'category';
  472. $config->story->caseTable->fieldList['lastRunResult']['map'] = $lang->testcase->resultList;
  473. $config->story->caseTable->fieldList['lastRunResult']['sortType'] = true;
  474. $config->story->caseTable->fieldList['lastRunResult']['group'] = 5;