table.php 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310
  1. <?php
  2. global $lang,$app;
  3. $isEn = $app->getClientLang() == 'en';
  4. $config->feedback->actionList['edit']['icon'] = 'edit';
  5. $config->feedback->actionList['edit']['hint'] = $lang->feedback->edit;
  6. $config->feedback->actionList['edit']['url'] = array('module' => 'feedback', 'method' => 'edit', 'params' => 'feedbackID={id}');
  7. $config->feedback->actionList['create']['icon'] = 'copy';
  8. $config->feedback->actionList['create']['hint'] = $lang->feedback->copy;
  9. $config->feedback->actionList['create']['text'] = $lang->feedback->copy;
  10. $config->feedback->actionList['create']['url'] = array('module' => 'feedback', 'method' => 'create', 'params' => 'extras=&copyFeedbackID={id}');
  11. $config->feedback->actionList['effort']['icon'] = 'time';
  12. $config->feedback->actionList['effort']['hint'] = $lang->feedback->effort;
  13. $config->feedback->actionList['effort']['url'] = array('module' => 'effort', 'method' => 'createForObject', 'params' => 'objectType=feedback&objectID={id}');
  14. $config->feedback->actionList['effort']['data-toggle'] = 'modal';
  15. $config->feedback->actionList['review']['icon'] = 'glasses';
  16. $config->feedback->actionList['review']['hint'] = $lang->feedback->review;
  17. $config->feedback->actionList['review']['url'] = array('module' => 'feedback', 'method' => 'review', 'params' => 'feedbackID={id}');
  18. $config->feedback->actionList['review']['data-toggle'] = 'modal';
  19. $config->feedback->actionList['review']['class'] = 'feedback-review-btn';
  20. $config->feedback->actionList['assignTo']['icon'] = 'hand-right';
  21. $config->feedback->actionList['assignTo']['hint'] = $lang->feedback->assign;
  22. $config->feedback->actionList['assignTo']['url'] = array('module' => 'feedback', 'method' => 'assignTo', 'params' => 'feedbackID={id}');
  23. $config->feedback->actionList['assignTo']['data-toggle'] = 'modal';
  24. $config->feedback->actionList['ask']['icon'] = 'chat-line';
  25. $config->feedback->actionList['ask']['hint'] = $lang->feedback->ask;
  26. $config->feedback->actionList['ask']['url'] = array('module' => 'feedback', 'method' => 'ask', 'params' => 'feedbackID={id}');
  27. $config->feedback->actionList['ask']['data-toggle'] = 'modal';
  28. $config->feedback->actionList['reply']['icon'] = 'restart';
  29. $config->feedback->actionList['reply']['hint'] = $lang->feedback->reply;
  30. $config->feedback->actionList['reply']['url'] = array('module' => 'feedback', 'method' => 'reply', 'params' => 'feedbackID={id}');
  31. $config->feedback->actionList['reply']['data-toggle'] = 'modal';
  32. $config->feedback->actionList['toTicket']['icon'] = $lang->icons['ticket'];
  33. $config->feedback->actionList['toTicket']['hint'] = $lang->feedback->toTicket;
  34. $config->feedback->actionList['toTicket']['url'] = array('module' => 'ticket', 'method' => 'create', 'params' => 'product=&extra=fromType=feedback,fromID={id}');
  35. $config->feedback->actionList['toTicket']['notLoadModel'] = true;
  36. $config->feedback->actionList['toTicket']['data-toggle'] = 'modal';
  37. $config->feedback->actionList['toTicket']['data-size'] = 'lg';
  38. $config->feedback->actionList['toStory']['icon'] = $lang->icons['story'];
  39. $config->feedback->actionList['toStory']['hint'] = $lang->feedback->toStory;
  40. $config->feedback->actionList['toStory']['url'] = array('module' => 'story', 'method' => 'create', 'params' => 'product={product}&branch=0&moduleID=0&storyID=0&executionID=0&bugID=0&planID=0&todoID=0&extra=fromType=feedback,fromID={id}');
  41. $config->feedback->actionList['toStory']['data-toggle'] = 'modal';
  42. $config->feedback->actionList['toStory']['data-size'] = 'lg';
  43. $config->feedback->actionList['toTask']['icon'] = $lang->icons['task'];
  44. $config->feedback->actionList['toTask']['hint'] = $lang->feedback->toTask;
  45. $config->feedback->actionList['toTask']['url'] = '{id}&{product}';
  46. $config->feedback->actionList['toTask']['className'] = 'toTask';
  47. $config->feedback->actionList['toTask']['data-target'] = '#toTask';
  48. $config->feedback->actionList['toTask']['data-toggle'] = 'modal';
  49. $config->feedback->actionList['toTask']['data-size'] = 'sm';
  50. $config->feedback->actionList['toTask']['data-on'] = 'click';
  51. $config->feedback->actionList['toTask']['data-call'] = 'clickTotask';
  52. $config->feedback->actionList['toTask']['data-params'] = 'event';
  53. $config->feedback->actionList['toBug']['icon'] = $lang->icons['bug'];
  54. $config->feedback->actionList['toBug']['hint'] = $lang->feedback->toBug;
  55. $config->feedback->actionList['toBug']['url'] = array('module' => 'bug', 'method' => 'create', 'params' => 'product={product}&branch=0&extras=projectID=0,fromType=feedback,fromID={id}');
  56. $config->feedback->actionList['toBug']['data-toggle'] = 'modal';
  57. $config->feedback->actionList['toBug']['data-size'] = 'lg';
  58. $config->feedback->actionList['toBug']['class'] = 'feedback-toBug-btn';
  59. $config->feedback->actionList['toUserStory']['icon'] = 'customer';
  60. $config->feedback->actionList['toUserStory']['hint'] = $lang->feedback->toUserStory;
  61. $config->feedback->actionList['toUserStory']['url'] = array('module' => 'requirement', 'method' => 'create', 'params' => 'product={product}&branch=0&moduleID=0&storyID=0&executionID=0&bugID=0&planID=0&todoID=0&extra=fromType=feedback,fromID={id}');
  62. $config->feedback->actionList['toUserStory']['data-toggle'] = 'modal';
  63. $config->feedback->actionList['toUserStory']['data-size'] = 'lg';
  64. if($config->enableER)
  65. {
  66. $config->feedback->actionList['toEpic']['icon'] = 'product';
  67. $config->feedback->actionList['toEpic']['hint'] = $lang->feedback->toEpic;
  68. $config->feedback->actionList['toEpic']['url'] = array('module' => 'epic', 'method' => 'create', 'params' => 'product={product}&branch=0&moduleID=0&storyID=0&executionID=0&bugID=0&planID=0&todoID=0&extra=fromType=feedback,fromID={id}');
  69. $config->feedback->actionList['toEpic']['data-toggle'] = 'modal';
  70. $config->feedback->actionList['toEpic']['data-size'] = 'lg';
  71. }
  72. $config->feedback->actionList['toTodo']['icon'] = $lang->icons['todo'];
  73. $config->feedback->actionList['toTodo']['hint'] = $lang->feedback->toTodo;
  74. $config->feedback->actionList['toTodo']['url'] = array('module' => 'feedback', 'method' => 'toTodo', 'params' => 'feedbackID={id}');
  75. $config->feedback->actionList['toTodo']['data-toggle'] = 'modal';
  76. $config->feedback->actionList['comment']['icon'] = 'confirm';
  77. $config->feedback->actionList['comment']['hint'] = $lang->feedback->comment;
  78. $config->feedback->actionList['comment']['url'] = array('module' => 'feedback', 'method' => 'comment', 'params' => 'feedbackID={id}&type=commented');
  79. $config->feedback->actionList['comment']['data-toggle'] = 'modal';
  80. $config->feedback->actionList['convert']['icon'] = 'arrow-right';
  81. $config->feedback->actionList['convert']['hint'] = $lang->feedback->convert;
  82. $config->feedback->actionList['convert']['text'] = $lang->feedback->convert;
  83. $config->feedback->actionList['convert']['url'] = '';
  84. $config->feedback->actionList['convert']['data-toggle'] = 'dropdown';
  85. $config->feedback->actionList['convert']['data-placement'] = 'top-end';
  86. $config->feedback->actionList['convert']['caret'] = 'up';
  87. $config->feedback->actionList['convert']['key'] = 'convert';
  88. $config->feedback->actionList['ajaxLike']['icon'] = 'thumbs-up';
  89. $config->feedback->actionList['ajaxLike']['hint'] = '(0)';
  90. $config->feedback->actionList['ajaxLike']['url'] = "javascript:like({id})";
  91. $config->feedback->actionList['ajaxLike']['key'] = "like";
  92. $config->feedback->actionList['close']['icon'] = 'off';
  93. $config->feedback->actionList['close']['hint'] = $lang->feedback->close;
  94. $config->feedback->actionList['close']['url'] = array('module' => 'feedback', 'method' => 'close', 'params' => 'feedbackID={id}');
  95. $config->feedback->actionList['close']['data-toggle'] = 'modal';
  96. $config->feedback->actionList['close']['class'] = 'feedback-close-btn';
  97. $config->feedback->actionList['activate']['icon'] = 'magic';
  98. $config->feedback->actionList['activate']['hint'] = $lang->feedback->activate;
  99. $config->feedback->actionList['activate']['url'] = array('module' => 'feedback', 'method' => 'activate', 'params' => 'feedbackID={id}');
  100. $config->feedback->actionList['activate']['data-toggle'] = 'modal';
  101. $config->feedback->actionList['delete']['icon'] = 'trash';
  102. $config->feedback->actionList['delete']['hint'] = $lang->feedback->delete;
  103. $config->feedback->actionList['delete']['url'] = array('module' => 'feedback', 'method' => 'delete', 'params' => 'feedbackID={id}&type=newPage');
  104. $config->feedback->actionList['delete']['data-confirm'] = array('message' => $lang->feedback->confirmDelete, 'icon' => 'icon-exclamation-sign', 'iconClass' => 'warning-pale rounded-full icon-2x');
  105. $config->feedback->actionList['delete']['className'] = 'ajax-submit';
  106. $config->feedback->dtable = new stdclass();
  107. $config->feedback->dtable->fieldList['id']['name'] = 'id';
  108. $config->feedback->dtable->fieldList['id']['title'] = $lang->idAB;
  109. $config->feedback->dtable->fieldList['id']['type'] = 'checkID';
  110. $viewMethod = $config->vision != 'lite' ? 'adminView' : 'view';
  111. $config->feedback->dtable->fieldList['title']['name'] = 'title';
  112. $config->feedback->dtable->fieldList['title']['title'] = $lang->feedback->title;
  113. $config->feedback->dtable->fieldList['title']['link'] = array('module' => 'feedback', 'method' => $viewMethod, 'params' => "feedbackID={id}");
  114. $config->feedback->dtable->fieldList['title']['type'] = 'title';
  115. $config->feedback->dtable->fieldList['title']['fixed'] = 'left';
  116. $config->feedback->dtable->fieldList['product']['name'] = 'product';
  117. $config->feedback->dtable->fieldList['product']['title'] = $lang->feedback->product;
  118. $config->feedback->dtable->fieldList['product']['type'] = 'category';
  119. $config->feedback->dtable->fieldList['module']['name'] = 'module';
  120. $config->feedback->dtable->fieldList['module']['title'] = $lang->feedback->module;
  121. $config->feedback->dtable->fieldList['module']['type'] = 'category';
  122. $config->feedback->dtable->fieldList['pri']['name'] = 'pri';
  123. $config->feedback->dtable->fieldList['pri']['title'] = $lang->priAB;
  124. $config->feedback->dtable->fieldList['pri']['type'] = 'pri';
  125. $config->feedback->dtable->fieldList['pri']['show'] = true;
  126. $config->feedback->dtable->fieldList['status']['name'] = 'status';
  127. $config->feedback->dtable->fieldList['status']['title'] = $lang->feedback->status;
  128. $config->feedback->dtable->fieldList['status']['type'] = 'status';
  129. $config->feedback->dtable->fieldList['status']['statusMap'] = $lang->feedback->statusList;
  130. $config->feedback->dtable->fieldList['status']['show'] = true;
  131. $config->feedback->dtable->fieldList['type']['name'] = 'type';
  132. $config->feedback->dtable->fieldList['type']['title'] = $lang->feedback->type;
  133. $config->feedback->dtable->fieldList['type']['type'] = 'category';
  134. $config->feedback->dtable->fieldList['type']['map'] = $lang->feedback->typeList;
  135. $config->feedback->dtable->fieldList['type']['show'] = true;
  136. $config->feedback->dtable->fieldList['assignedTo']['name'] = 'assignedTo';
  137. $config->feedback->dtable->fieldList['assignedTo']['title'] = $lang->feedback->assignedTo;
  138. $config->feedback->dtable->fieldList['assignedTo']['type'] = 'assign';
  139. $config->feedback->dtable->fieldList['assignedTo']['assignLink'] = array('module' => 'feedback', 'method' => 'assignTo', 'params' => 'feedbackID={id}');
  140. $config->feedback->dtable->fieldList['assignedTo']['data-toggle'] = 'modal';
  141. $config->feedback->dtable->fieldList['assignedTo']['show'] = true;
  142. if($isEn) $config->feedback->dtable->fieldList['assignedTo']['width'] = '120';
  143. $config->feedback->dtable->fieldList['solution']['name'] = 'solution';
  144. $config->feedback->dtable->fieldList['solution']['title'] = $lang->feedback->solution;
  145. $config->feedback->dtable->fieldList['solution']['map'] = $lang->feedback->solutionList;
  146. $config->feedback->dtable->fieldList['solution']['type'] = 'text';
  147. $config->feedback->dtable->fieldList['solution']['show'] = true;
  148. $config->feedback->dtable->fieldList['dept']['name'] = 'dept';
  149. $config->feedback->dtable->fieldList['dept']['title'] = $lang->feedback->dept;
  150. $config->feedback->dtable->fieldList['dept']['type'] = 'category';
  151. $config->feedback->dtable->fieldList['keywords']['name'] = 'keywords';
  152. $config->feedback->dtable->fieldList['keywords']['title'] = $lang->feedback->keywords;
  153. $config->feedback->dtable->fieldList['keywords']['width'] = '90';
  154. $config->feedback->dtable->fieldList['openedBy']['name'] = 'openedBy';
  155. $config->feedback->dtable->fieldList['openedBy']['title'] = $lang->feedback->openedBy;
  156. $config->feedback->dtable->fieldList['openedBy']['type'] = 'user';
  157. $config->feedback->dtable->fieldList['openedBy']['show'] = true;
  158. if($isEn) $config->feedback->dtable->fieldList['openedBy']['width'] = '120';
  159. $config->feedback->dtable->fieldList['openedDate']['name'] = 'openedDate';
  160. $config->feedback->dtable->fieldList['openedDate']['title'] = $lang->feedback->openedDate;
  161. $config->feedback->dtable->fieldList['openedDate']['type'] = 'date';
  162. $config->feedback->dtable->fieldList['openedDate']['show'] = true;
  163. if($isEn) $config->feedback->dtable->fieldList['openedDate']['width'] = '120';
  164. $config->feedback->dtable->fieldList['feedbackBy']['name'] = 'feedbackBy';
  165. $config->feedback->dtable->fieldList['feedbackBy']['title'] = $lang->feedback->feedbackBy;
  166. $config->feedback->dtable->fieldList['feedbackBy']['type'] = 'text';
  167. $config->feedback->dtable->fieldList['source']['name'] = 'source';
  168. $config->feedback->dtable->fieldList['source']['title'] = $lang->feedback->source;
  169. $config->feedback->dtable->fieldList['source']['type'] = 'text';
  170. $config->feedback->dtable->fieldList['notifyEmail']['name'] = 'notifyEmail';
  171. $config->feedback->dtable->fieldList['notifyEmail']['title'] = $lang->feedback->notifyEmail;
  172. $config->feedback->dtable->fieldList['notifyEmail']['type'] = 'text';
  173. $config->feedback->dtable->fieldList['processedBy']['name'] = 'processedBy';
  174. $config->feedback->dtable->fieldList['processedBy']['title'] = $lang->feedback->processedBy;
  175. $config->feedback->dtable->fieldList['processedBy']['type'] = 'user';
  176. $config->feedback->dtable->fieldList['processedDate']['name'] = 'processedDate';
  177. $config->feedback->dtable->fieldList['processedDate']['title'] = $lang->feedback->processedDate;
  178. $config->feedback->dtable->fieldList['processedDate']['type'] = 'datetime';
  179. $config->feedback->dtable->fieldList['editedBy']['name'] = 'editedBy';
  180. $config->feedback->dtable->fieldList['editedBy']['title'] = $lang->feedback->editedBy;
  181. $config->feedback->dtable->fieldList['editedBy']['type'] = 'user';
  182. $config->feedback->dtable->fieldList['editedDate']['name'] = 'editedDate';
  183. $config->feedback->dtable->fieldList['editedDate']['title'] = $lang->feedback->editedDate;
  184. $config->feedback->dtable->fieldList['editedDate']['type'] = 'datetime';
  185. $config->feedback->dtable->fieldList['editedDate']['show'] = true;
  186. $config->feedback->dtable->fieldList['closedBy']['name'] = 'closedBy';
  187. $config->feedback->dtable->fieldList['closedBy']['title'] = $lang->feedback->closedBy;
  188. $config->feedback->dtable->fieldList['closedBy']['type'] = 'user';
  189. $config->feedback->dtable->fieldList['closedDate']['name'] = 'closedDate';
  190. $config->feedback->dtable->fieldList['closedDate']['title'] = $lang->feedback->closedDate;
  191. $config->feedback->dtable->fieldList['closedDate']['type'] = 'datetime';
  192. $config->feedback->dtable->fieldList['closedReason']['name'] = 'closedReason';
  193. $config->feedback->dtable->fieldList['closedReason']['title'] = $lang->feedback->closedReason;
  194. $config->feedback->dtable->fieldList['closedReason']['type'] = 'category';
  195. $config->feedback->dtable->fieldList['closedReason']['map'] = $lang->feedback->closedReasonList;
  196. $config->feedback->dtable->fieldList['relatedObject']['name'] = 'relatedObject';
  197. $config->feedback->dtable->fieldList['relatedObject']['title'] = $lang->custom->relateObject;
  198. $config->feedback->dtable->fieldList['relatedObject']['sortType'] = false;
  199. $config->feedback->dtable->fieldList['relatedObject']['width'] = '70';
  200. $config->feedback->dtable->fieldList['relatedObject']['type'] = 'text';
  201. $config->feedback->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=feedback') . "'; }>RAWJS" : null;
  202. $config->feedback->dtable->fieldList['relatedObject']['data-toggle'] = 'modal';
  203. $config->feedback->dtable->fieldList['relatedObject']['data-size'] = 'lg';
  204. $config->feedback->dtable->fieldList['relatedObject']['show'] = true;
  205. $config->feedback->dtable->fieldList['relatedObject']['group'] = 8;
  206. $config->feedback->dtable->fieldList['relatedObject']['flex'] = false;
  207. $config->feedback->dtable->fieldList['relatedObject']['align'] = 'center';
  208. if($isEn) $config->feedback->dtable->fieldList['relatedObject']['width'] = '120';
  209. $config->feedback->dtable->fieldList['actions']['name'] = 'actions';
  210. $config->feedback->dtable->fieldList['actions']['title'] = $lang->actions;
  211. $config->feedback->dtable->fieldList['actions']['width'] = 'auto';
  212. $config->feedback->dtable->fieldList['actions']['type'] = 'actions';
  213. $config->feedback->dtable->fieldList['actions']['list'] = $config->feedback->actionList;
  214. $config->feedback->dtable->fieldList['actions']['menu'] = array('review', 'toStory', 'toBug', 'toTicket', 'more' => array('toEpic', 'toUserStory', 'toTask', 'toTodo'), 'edit', 'close|activate');
  215. if($config->vision == 'lite') $config->feedback->dtable->fieldList['actions']['menu'] = array('edit', 'close|activate');
  216. global $app;
  217. $app->loadLang('story');
  218. $config->feedback->dtable->relation = new stdclass();
  219. $config->feedback->dtable->relation->fieldList['id']['name'] = 'id';
  220. $config->feedback->dtable->relation->fieldList['id']['title'] = $lang->idAB;
  221. $config->feedback->dtable->relation->fieldList['id']['type'] = 'id';
  222. $config->feedback->dtable->relation->fieldList['id']['sort'] = false;
  223. if($config->vision == 'or')
  224. {
  225. $config->feedback->dtable->relation->fieldList['product']['name'] = 'product';
  226. $config->feedback->dtable->relation->fieldList['product']['title'] = $lang->story->product;
  227. $config->feedback->dtable->relation->fieldList['product']['type'] = 'category';
  228. $config->feedback->dtable->relation->fieldList['product']['sort'] = false;
  229. $config->feedback->dtable->relation->fieldList['product']['width'] = '120px';
  230. }
  231. $config->feedback->dtable->relation->fieldList['pri']['name'] = 'pri';
  232. $config->feedback->dtable->relation->fieldList['pri']['title'] = 'P';
  233. $config->feedback->dtable->relation->fieldList['pri']['type'] = 'pri';
  234. $config->feedback->dtable->relation->fieldList['pri']['sort'] = false;
  235. $config->feedback->dtable->relation->fieldList['pri']['width'] = '60px';
  236. $config->feedback->dtable->relation->fieldList['title']['name'] = 'title';
  237. $config->feedback->dtable->relation->fieldList['title']['title'] = $lang->feedback->titleAB;
  238. $config->feedback->dtable->relation->fieldList['title']['type'] = 'title';
  239. $config->feedback->dtable->relation->fieldList['title']['sort'] = false;
  240. $config->feedback->dtable->relation->fieldList['title']['data-toggle'] = 'modal';
  241. $config->feedback->dtable->relation->fieldList['title']['data-size'] = 'lg';
  242. $config->feedback->dtable->relation->fieldList['stage']['name'] = 'stage';
  243. $config->feedback->dtable->relation->fieldList['stage']['title'] = $lang->story->stage;
  244. $config->feedback->dtable->relation->fieldList['stage']['type'] = 'category';
  245. $config->feedback->dtable->relation->fieldList['stage']['sort'] = false;
  246. $config->feedback->dtable->relation->fieldList['status']['name'] = 'statusLabel';
  247. $config->feedback->dtable->relation->fieldList['status']['title'] = $lang->story->status;
  248. $config->feedback->dtable->relation->fieldList['status']['type'] = 'text';
  249. $config->feedback->dtable->relation->fieldList['status']['sort'] = false;
  250. if($config->vision == 'or')
  251. {
  252. $config->feedback->dtable->relation->fieldList['roadmap']['name'] = 'roadmap';
  253. $config->feedback->dtable->relation->fieldList['roadmap']['title'] = $lang->story->roadmap;
  254. $config->feedback->dtable->relation->fieldList['roadmap']['type'] = 'category';
  255. $config->feedback->dtable->relation->fieldList['roadmap']['sort'] = false;
  256. }