starter.php 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473
  1. <?php
  2. global $lang,$config;
  3. $starter = new stdClass();
  4. $starter->name = 'starter';
  5. $starter->title = $lang->tutorial->starter->title;
  6. $starter->icon = 'front text-special';
  7. $starter->type = 'starter';
  8. $starter->modules = 'admin,company,dept,group';
  9. $starter->app = 'admin';
  10. $starter->tasks = array();
  11. $starter->tasks['createAccount'] = array();
  12. $starter->tasks['createAccount']['name'] = 'createAccount';
  13. $starter->tasks['createAccount']['title'] = $lang->tutorial->starter->createAccount->title;
  14. $starter->tasks['createAccount']['startUrl'] = array('admin', 'index');
  15. $starter->tasks['createAccount']['steps'] = array();
  16. $starter->tasks['createAccount']['steps'][] = array(
  17. 'type' => 'openApp',
  18. 'app' => 'admin',
  19. 'title' => $lang->tutorial->starter->createAccount->step1->name,
  20. 'desc' => $lang->tutorial->starter->createAccount->step1->desc
  21. );
  22. $starter->tasks['createAccount']['steps'][] = array(
  23. 'type' => 'click',
  24. 'target' => '#settings div[data-id="company"]',
  25. 'page' => 'admin-index',
  26. 'title' => $lang->tutorial->starter->createAccount->step2->name,
  27. 'desc' => $lang->tutorial->starter->createAccount->step2->desc
  28. );
  29. $starter->tasks['createAccount']['steps'][] = array(
  30. 'type' => 'clickNavbar',
  31. 'target' => 'browseUser',
  32. 'title' => $lang->tutorial->starter->createAccount->step3->name,
  33. 'desc' => $lang->tutorial->starter->createAccount->step3->desc
  34. );
  35. $starter->tasks['createAccount']['steps'][] = array(
  36. 'type' => 'click',
  37. 'target' => '#actionBar a.create-user-btn',
  38. 'page' => 'company-browse',
  39. 'title' => $lang->tutorial->starter->createAccount->step4->name,
  40. 'desc' => $lang->tutorial->starter->createAccount->step4->desc
  41. );
  42. $starter->tasks['createAccount']['steps'][] = array(
  43. 'type' => 'form',
  44. 'page' => 'user-create',
  45. 'title' => $lang->tutorial->starter->createAccount->step5->name
  46. );
  47. $starter->tasks['createAccount']['steps'][] = array(
  48. 'type' => 'saveForm',
  49. 'page' => 'user-create',
  50. 'title' => $lang->tutorial->starter->createAccount->step6->name,
  51. 'desc' => $lang->tutorial->starter->createAccount->step6->desc
  52. );
  53. if($config->systemMode != 'light' && helper::hasFeature('program'))
  54. {
  55. $starter->tasks['createProgram'] = array();
  56. $starter->tasks['createProgram']['name'] = 'createProgram';
  57. $starter->tasks['createProgram']['title'] = $lang->tutorial->starter->createProgram->title;
  58. $starter->tasks['createProgram']['startUrl'] = array('program', 'browse');
  59. $starter->tasks['createProgram']['steps'] = array();
  60. $starter->tasks['createProgram']['steps'][] = array(
  61. 'type' => 'openApp',
  62. 'app' => 'program',
  63. 'title' => $lang->tutorial->starter->createProgram->step1->name,
  64. 'desc' => $lang->tutorial->starter->createProgram->step1->desc
  65. );
  66. $starter->tasks['createProgram']['steps'][] = array(
  67. 'type' => 'click',
  68. 'target' => '#actionBar a.create-program-btn',
  69. 'page' => 'program-browse',
  70. 'app' => 'program',
  71. 'title' => $lang->tutorial->starter->createProgram->step2->name,
  72. 'desc' => $lang->tutorial->starter->createProgram->step2->desc
  73. );
  74. $starter->tasks['createProgram']['steps'][] = array(
  75. 'type' => 'form',
  76. 'page' => 'program-create',
  77. 'title' => $lang->tutorial->starter->createProgram->step3->name
  78. );
  79. $starter->tasks['createProgram']['steps'][] = array(
  80. 'type' => 'saveForm',
  81. 'page' => 'program-create',
  82. 'title' => $lang->tutorial->starter->createProgram->step4->name,
  83. 'desc' => $lang->tutorial->starter->createProgram->step4->desc
  84. );
  85. }
  86. $starter->tasks['createProduct'] = array();
  87. $starter->tasks['createProduct']['name'] = 'createProduct';
  88. $starter->tasks['createProduct']['title'] = $lang->tutorial->starter->createProduct->title;
  89. $starter->tasks['createProduct']['startUrl'] = array('product', 'all');
  90. $starter->tasks['createProduct']['steps'] = array();
  91. $starter->tasks['createProduct']['steps'][] = array(
  92. 'type' => 'openApp',
  93. 'app' => 'product',
  94. 'title' => $lang->tutorial->starter->createProduct->step1->name,
  95. 'desc' => $lang->tutorial->starter->createProduct->step1->desc
  96. );
  97. $starter->tasks['createProduct']['steps'][] = array(
  98. 'type' => 'click',
  99. 'target' => '#actionBar a.create-product-btn',
  100. 'page' => 'product-all',
  101. 'app' => 'product',
  102. 'title' => $lang->tutorial->starter->createProduct->step2->name,
  103. 'desc' => $lang->tutorial->starter->createProduct->step2->desc
  104. );
  105. $starter->tasks['createProduct']['steps'][] = array(
  106. 'type' => 'form',
  107. 'page' => 'product-create',
  108. 'title' => $lang->tutorial->starter->createProduct->step3->name
  109. );
  110. $starter->tasks['createProduct']['steps'][] = array(
  111. 'type' => 'saveForm',
  112. 'page' => 'product-create',
  113. 'title' => $lang->tutorial->starter->createProduct->step4->name,
  114. 'desc' => $lang->tutorial->starter->createProduct->step4->desc
  115. );
  116. $starter->tasks['createStory'] = array();
  117. $starter->tasks['createStory']['name'] = 'createStory';
  118. $starter->tasks['createStory']['title'] = $lang->tutorial->starter->createStory->title;
  119. $starter->tasks['createStory']['startUrl'] = array('product', 'all');
  120. $starter->tasks['createStory']['steps'] = array();
  121. $starter->tasks['createStory']['steps'][] = array(
  122. 'type' => 'openApp',
  123. 'app' => 'product',
  124. 'title' => $lang->tutorial->starter->createStory->step1->name,
  125. 'desc' => $lang->tutorial->starter->createStory->step1->desc
  126. );
  127. $starter->tasks['createStory']['steps'][] = array(
  128. 'type' => 'click',
  129. 'target' => '#products div.dtable-body div[data-col="name"][data-row="1"] a',
  130. 'page' => 'product-all',
  131. 'title' => $lang->tutorial->starter->createStory->step2->name,
  132. 'desc' => $lang->tutorial->starter->createStory->step2->desc
  133. );
  134. $starter->tasks['createStory']['steps'][] = array(
  135. 'type' => 'click',
  136. 'target' => '#actionBar a.create-story-btn',
  137. 'page' => 'product-browse',
  138. 'url' => array('product', 'browse', 'productID=1'),
  139. 'title' => $lang->tutorial->starter->createStory->step3->name,
  140. 'desc' => $lang->tutorial->starter->createStory->step3->desc
  141. );
  142. $starter->tasks['createStory']['steps'][] = array(
  143. 'type' => 'form',
  144. 'page' => 'story-create',
  145. 'title' => $lang->tutorial->starter->createStory->step4->name
  146. );
  147. $starter->tasks['createStory']['steps'][] = array(
  148. 'type' => 'saveForm',
  149. 'page' => 'story-create',
  150. 'title' => $lang->tutorial->starter->createStory->step5->name,
  151. 'desc' => $lang->tutorial->starter->createStory->step5->desc
  152. );
  153. $starter->tasks['createProject'] = array();
  154. $starter->tasks['createProject']['name'] = 'createProject';
  155. $starter->tasks['createProject']['title'] = $lang->tutorial->starter->createProject->title;
  156. $starter->tasks['createProject']['startUrl'] = array('project', 'browse');
  157. $starter->tasks['createProject']['steps'] = array();
  158. $starter->tasks['createProject']['steps'][] = array(
  159. 'type' => 'openApp',
  160. 'app' => 'project',
  161. 'title' => $lang->tutorial->starter->createProject->step1->name,
  162. 'desc' => $lang->tutorial->starter->createProject->step1->desc
  163. );
  164. $starter->tasks['createProject']['steps'][] = array(
  165. 'type' => 'click',
  166. 'target' => '#actionBar .create-project-btn',
  167. 'page' => 'project-browse',
  168. 'title' => $lang->tutorial->starter->createProject->step2->name,
  169. 'desc' => $lang->tutorial->starter->createProject->step2->desc
  170. );
  171. $starter->tasks['createProject']['steps'][] = array(
  172. 'type' => 'click',
  173. 'target' => '#modelList div.scrum div.model-item',
  174. 'page' => 'project-browse',
  175. 'title' => $lang->tutorial->starter->createProject->step3->name,
  176. 'desc' => $lang->tutorial->starter->createProject->step3->desc
  177. );
  178. $starter->tasks['createProject']['steps'][] = array(
  179. 'type' => 'form',
  180. 'target' => '#form-project-create',
  181. 'page' => 'project-create',
  182. 'title' => $lang->tutorial->starter->createProject->step4->name
  183. );
  184. $starter->tasks['createProject']['steps'][] = array(
  185. 'type' => 'saveForm',
  186. 'target' => '#form-project-create .form-actions button[type="submit"]',
  187. 'page' => 'project-create',
  188. 'title' => $lang->tutorial->starter->createProject->step5->name,
  189. 'desc' => $lang->tutorial->starter->createProject->step5->desc
  190. );
  191. $starter->tasks['manageTeam'] = array();
  192. $starter->tasks['manageTeam']['name'] = 'manageTeam';
  193. $starter->tasks['manageTeam']['title'] = $lang->tutorial->starter->manageTeam->title;
  194. $starter->tasks['manageTeam']['startUrl'] = array('project', 'browse');
  195. $starter->tasks['manageTeam']['steps'] = array();
  196. $starter->tasks['manageTeam']['steps'][] = array(
  197. 'type' => 'openApp',
  198. 'app' => 'project',
  199. 'title' => $lang->tutorial->starter->manageTeam->step1->name,
  200. 'desc' => $lang->tutorial->starter->manageTeam->step1->desc
  201. );
  202. $starter->tasks['manageTeam']['steps'][] = array(
  203. 'type' => 'click',
  204. 'target' => '#table-project-browse .dtable-body div[data-row="2"] a',
  205. 'page' => 'project-browse',
  206. 'url' => array('project', 'browse'),
  207. 'title' => $lang->tutorial->starter->manageTeam->step2->name,
  208. 'desc' => $lang->tutorial->starter->manageTeam->step2->desc
  209. );
  210. $starter->tasks['manageTeam']['steps'][] = array(
  211. 'type' => 'clickNavbar',
  212. 'target' => 'settings',
  213. 'page' => 'project-execution',
  214. 'url' => array('project', 'execution', 'status=all&projectID=2'),
  215. 'title' => $lang->tutorial->starter->manageTeam->step3->name,
  216. 'desc' => $lang->tutorial->starter->manageTeam->step3->desc
  217. );
  218. $starter->tasks['manageTeam']['steps'][] = array(
  219. 'type' => 'clickMainNavbar',
  220. 'target' => 'members',
  221. 'page' => 'project-view',
  222. 'title' => $lang->tutorial->starter->manageTeam->step4->name,
  223. 'desc' => $lang->tutorial->starter->manageTeam->step4->desc
  224. );
  225. $starter->tasks['manageTeam']['steps'][] = array(
  226. 'type' => 'click',
  227. 'target' => '#mainContainer #mainMenu #actionBar a',
  228. 'page' => 'project-team',
  229. 'title' => $lang->tutorial->starter->manageTeam->step5->name,
  230. 'desc' => $lang->tutorial->starter->manageTeam->step5->desc
  231. );
  232. $starter->tasks['manageTeam']['steps'][] = array(
  233. 'type' => 'form',
  234. 'target' => '#teamForm table',
  235. 'page' => 'project-manageMembers',
  236. 'title' => $lang->tutorial->starter->manageTeam->step6->name
  237. );
  238. $starter->tasks['manageTeam']['steps'][] = array(
  239. 'type' => 'saveForm',
  240. 'target' => '#teamForm #saveButton',
  241. 'page' => 'project-manageMembers',
  242. 'title' => $lang->tutorial->starter->manageTeam->step7->name,
  243. 'desc' => $lang->tutorial->starter->manageTeam->step7->desc
  244. );
  245. $starter->tasks['createProjectExecution'] = array();
  246. $starter->tasks['createProjectExecution']['name'] = 'createProjectExecution';
  247. $starter->tasks['createProjectExecution']['title'] = $lang->tutorial->starter->createProjectExecution->title;
  248. $starter->tasks['createProjectExecution']['startUrl'] = array('project', 'browse');
  249. $starter->tasks['createProjectExecution']['steps'] = array();
  250. $starter->tasks['createProjectExecution']['steps'][] = array(
  251. 'type' => 'openApp',
  252. 'app' => 'project',
  253. 'title' => $lang->tutorial->starter->createProjectExecution->step1->name,
  254. 'desc' => $lang->tutorial->starter->createProjectExecution->step1->desc
  255. );
  256. $starter->tasks['createProjectExecution']['steps'][] = array(
  257. 'type' => 'click',
  258. 'target' => '#table-project-browse .dtable-body div[data-row="2"] a',
  259. 'page' => 'project-browse',
  260. 'url' => array('project', 'browse'),
  261. 'title' => $lang->tutorial->starter->createProjectExecution->step2->name,
  262. 'desc' => $lang->tutorial->starter->createProjectExecution->step2->desc
  263. );
  264. $starter->tasks['createProjectExecution']['steps'][] = array(
  265. 'type' => 'clickNavbar',
  266. 'target' => 'execution',
  267. 'page' => 'project-execution',
  268. 'url' => array('project', 'execution', 'status=all&projectID=2'),
  269. 'title' => $lang->tutorial->starter->createProjectExecution->step3->name,
  270. 'desc' => $lang->tutorial->starter->createProjectExecution->step3->desc
  271. );
  272. $starter->tasks['createProjectExecution']['steps'][] = array(
  273. 'type' => 'click',
  274. 'target' => '#mainMenu #actionBar a.create-execution-btn',
  275. 'page' => 'project-execution',
  276. 'url' => array('project', 'execution', 'status=all&projectID=2'),
  277. 'title' => $lang->tutorial->starter->createProjectExecution->step4->name,
  278. 'desc' => $lang->tutorial->starter->createProjectExecution->step4->desc
  279. );
  280. $starter->tasks['createProjectExecution']['steps'][] = array(
  281. 'type' => 'form',
  282. 'target' => '#form-execution-create',
  283. 'app' => 'execution',
  284. 'page' => 'execution-create',
  285. 'title' => $lang->tutorial->starter->createProjectExecution->step5->name
  286. );
  287. $starter->tasks['createProjectExecution']['steps'][] = array(
  288. 'type' => 'saveForm',
  289. 'target' => '#form-execution-create .form-actions button[type="submit"]',
  290. 'page' => 'execution-create',
  291. 'title' => $lang->tutorial->starter->createProjectExecution->step6->name,
  292. 'desc' => $lang->tutorial->starter->createProjectExecution->step6->desc
  293. );
  294. $starter->tasks['linkStory'] = array();
  295. $starter->tasks['linkStory']['name'] = 'linkStory';
  296. $starter->tasks['linkStory']['title'] = $lang->tutorial->starter->linkStory->title;
  297. $starter->tasks['linkStory']['startUrl'] = array('execution', 'task', 'executionID=3');
  298. $starter->tasks['linkStory']['steps'] = array();
  299. $starter->tasks['linkStory']['steps'][] = array(
  300. 'type' => 'openApp',
  301. 'app' => 'execution',
  302. 'title' => $lang->tutorial->starter->linkStory->step1->name,
  303. 'desc' => $lang->tutorial->starter->linkStory->step1->desc
  304. );
  305. $starter->tasks['linkStory']['steps'][] = array(
  306. 'type' => 'clickNavbar',
  307. 'target' => 'story',
  308. 'page' => 'execution-task',
  309. 'url' => array('execution', 'task', 'executionID=3'),
  310. 'title' => $lang->tutorial->starter->linkStory->step2->name,
  311. 'desc' => $lang->tutorial->starter->linkStory->step2->desc
  312. );
  313. $starter->tasks['linkStory']['steps'][] = array(
  314. 'type' => 'click',
  315. 'target' => '#actionBar a.link-story-btn',
  316. 'page' => 'execution-story',
  317. 'title' => $lang->tutorial->starter->linkStory->step3->name,
  318. 'desc' => $lang->tutorial->starter->linkStory->step3->desc
  319. );
  320. $starter->tasks['linkStory']['steps'][] = array(
  321. 'type' => 'selectRow',
  322. 'target' => 'div.dtable div.dtable-body div[data-col="id"][data-row="4"]',
  323. 'page' => 'execution-linkstory',
  324. 'title' => $lang->tutorial->starter->linkStory->step4->name
  325. );
  326. $starter->tasks['linkStory']['steps'][] = array(
  327. 'type' => 'click',
  328. 'target' => 'div.dtable .dtable-footer .link-story-btn',
  329. 'page' => 'execution-linkstory',
  330. 'title' => $lang->tutorial->starter->linkStory->step5->name,
  331. 'desc' => $lang->tutorial->starter->linkStory->step5->desc
  332. );
  333. $starter->tasks['createTask'] = array();
  334. $starter->tasks['createTask']['name'] = 'createTask';
  335. $starter->tasks['createTask']['title'] = $lang->tutorial->starter->createTask->title;
  336. $starter->tasks['createTask']['startUrl'] = array('execution', 'task', 'executionID=3');
  337. $starter->tasks['createTask']['steps'] = array();
  338. $starter->tasks['createTask']['steps'][] = array(
  339. 'type' => 'openApp',
  340. 'app' => 'execution',
  341. 'title' => $lang->tutorial->starter->createTask->step1->name,
  342. 'desc' => $lang->tutorial->starter->createTask->step1->desc
  343. );
  344. $starter->tasks['createTask']['steps'][] = array(
  345. 'type' => 'clickNavbar',
  346. 'target' => 'story',
  347. 'page' => 'execution-task',
  348. 'url' => array('execution', 'task', 'executionID=3'),
  349. 'title' => $lang->tutorial->starter->createTask->step2->name,
  350. 'desc' => $lang->tutorial->starter->createTask->step2->desc
  351. );
  352. $starter->tasks['createTask']['steps'][] = array(
  353. 'type' => 'click',
  354. 'target' => '#table-execution-story a.create-task-btn',
  355. 'url' => array('execution', 'story', 'executionID=3'),
  356. 'page' => 'execution-story',
  357. 'app' => 'execution',
  358. 'title' => $lang->tutorial->starter->createTask->step3->name,
  359. 'desc' => $lang->tutorial->starter->createTask->step3->desc
  360. );
  361. $starter->tasks['createTask']['steps'][] = array(
  362. 'type' => 'form',
  363. 'url' => array('task', 'create', 'executionID=3'),
  364. 'app' => 'execution',
  365. 'page' => 'task-create',
  366. 'title' => $lang->tutorial->starter->createTask->step4->name,
  367. );
  368. $starter->tasks['createTask']['steps'][] = array(
  369. 'type' => 'saveForm',
  370. 'target' => 'form button[type="submit"]',
  371. 'page' => 'task-create',
  372. 'title' => $lang->tutorial->starter->createTask->step5->name,
  373. 'desc' => $lang->tutorial->starter->createTask->step5->desc
  374. );
  375. $starter->tasks['createBug'] = array();
  376. $starter->tasks['createBug']['name'] = 'createBug';
  377. $starter->tasks['createBug']['title'] = $lang->tutorial->starter->createBug->title;
  378. $starter->tasks['createBug']['startUrl'] = array('qa', 'index');
  379. $starter->tasks['createBug']['steps'] = array();
  380. $starter->tasks['createBug']['steps'][] = array(
  381. 'type' => 'openApp',
  382. 'app' => 'qa',
  383. 'title' => $lang->tutorial->starter->createBug->step1->name,
  384. 'desc' => $lang->tutorial->starter->createBug->step1->desc
  385. );
  386. $starter->tasks['createBug']['steps'][] = array(
  387. 'type' => 'clickNavbar',
  388. 'target' => 'bug',
  389. 'page' => 'qa-index',
  390. 'title' => $lang->tutorial->starter->createBug->step2->name,
  391. 'desc' => $lang->tutorial->starter->createBug->step2->desc
  392. );
  393. $starter->tasks['createBug']['steps'][] = array(
  394. 'type' => 'click',
  395. 'target' => '#actionBar a.create-bug-btn',
  396. 'page' => 'bug-browse',
  397. 'title' => $lang->tutorial->starter->createBug->step3->name,
  398. 'desc' => $lang->tutorial->starter->createBug->step3->desc
  399. );
  400. $starter->tasks['createBug']['steps'][] = array(
  401. 'type' => 'form',
  402. 'page' => 'bug-create',
  403. 'title' => $lang->tutorial->starter->createBug->step4->name
  404. );
  405. $starter->tasks['createBug']['steps'][] = array(
  406. 'type' => 'saveForm',
  407. 'page' => 'bug-create',
  408. 'title' => $lang->tutorial->starter->createBug->step5->name,
  409. 'desc' => $lang->tutorial->starter->createBug->step5->desc
  410. );