manageprojectadmin.html.php 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418
  1. <?php
  2. /**
  3. * The manage project admin view file of group module of ZenTaoPMS.
  4. * @copyright Copyright 2009-2023 禅道软件(青岛)有限公司(ZenTao Software (Qingdao) Co., Ltd. www.zentao.net)
  5. * @license ZPL(https://zpl.pub/page/zplv12.html) or AGPL(https://www.gnu.org/licenses/agpl-3.0.en.html)
  6. * @author Sun Guangming<sunguangming@easycorp.ltd>
  7. * @package group
  8. * @link https://www.zentao.net
  9. */
  10. namespace zin;
  11. sidebar
  12. (
  13. set::id('sidebar'),
  14. moduleMenu(set(array(
  15. 'modules' => $deptTree,
  16. 'activeKey' => $deptID,
  17. 'closeLink' => $this->createLink('group', 'manageProjectAdmin', "groupID={$groupID}"),
  18. 'showDisplay' => false
  19. )))
  20. );
  21. $tbody = array();
  22. $hiddenProgram = in_array($config->systemMode, array('ALM', 'PLM')) && helper::hasFeature('program') ? '' : 'hidden';
  23. $rowspan = in_array($config->systemMode, array('ALM', 'PLM')) && helper::hasFeature('program') ? 4 : 3;
  24. if($projectAdmins)
  25. {
  26. $i = 1;
  27. foreach($projectAdmins as $account => $group)
  28. {
  29. $tbody[] = h::tr
  30. (
  31. setClass("line{$group->group}"),
  32. h::td
  33. (
  34. set::rowspan($rowspan),
  35. picker
  36. (
  37. set::name("members[$group->group][]"),
  38. set::items($allUsers),
  39. set::value($account),
  40. set::multiple(true)
  41. )
  42. ),
  43. h::td
  44. (
  45. setClass($hiddenProgram),
  46. inputGroup
  47. (
  48. $lang->group->manageProgram,
  49. picker
  50. (
  51. set::disabled($group->programs == 'all'),
  52. set::name("program[$group->group][]"),
  53. set::items($programs),
  54. set::value($group->programs == 'all' ? '' : $group->programs),
  55. set::multiple(true)
  56. )
  57. )
  58. ),
  59. h::td
  60. (
  61. setClass("$hiddenProgram text-center"),
  62. checkbox
  63. (
  64. set::name("programAll[$group->group]"),
  65. set::items(array(1 => '')),
  66. set::checked($group->programs == 'all')
  67. )
  68. ),
  69. $hiddenProgram ? h::td
  70. (
  71. setClass('projectTd'),
  72. inputGroup
  73. (
  74. $lang->group->manageProject,
  75. picker
  76. (
  77. set::disabled($group->projects == 'all'),
  78. set::name("project[$group->group][]"),
  79. set::items($projects),
  80. set::checked($group->projects == 'all'),
  81. set::multiple(true)
  82. )
  83. )
  84. ) : null,
  85. $hiddenProgram ? h::td
  86. (
  87. setClass('text-center'),
  88. checkbox
  89. (
  90. set::name("projectAll[$group->group]"),
  91. set::items(array(1 => '')),
  92. set::checked($group->projects == 'all')
  93. )
  94. ) : null,
  95. h::td
  96. (
  97. setClass('text-center'),
  98. set::rowspan($rowspan),
  99. btnGroup
  100. (
  101. set::items
  102. (
  103. array
  104. (
  105. array('icon' => 'plus', 'class' => 'btn ghost btn-add'),
  106. array('icon' => 'trash', 'class' => 'btn ghost btn-delete')
  107. )
  108. )
  109. )
  110. )
  111. );
  112. if(empty($hiddenProgram))
  113. {
  114. $tbody[] = h::tr
  115. (
  116. setClass("line{$group->group}"),
  117. h::td
  118. (
  119. setClass('projectTd'),
  120. inputGroup
  121. (
  122. $lang->group->manageProject,
  123. picker
  124. (
  125. set::disabled($group->projects == 'all'),
  126. set::name("project[$group->group][]"),
  127. set::value($group->projects == 'all' ? '' : $group->projects),
  128. set::items($projects),
  129. set::multiple(true)
  130. )
  131. )
  132. ),
  133. h::td
  134. (
  135. setClass('text-center'),
  136. checkbox
  137. (
  138. set::name("projectAll[$group->group]"),
  139. set::items(array(1 => '')),
  140. set::checked($group->projects == 'all')
  141. )
  142. )
  143. );
  144. }
  145. $tbody[] = h::tr
  146. (
  147. setClass("line{$group->group}"),
  148. h::td
  149. (
  150. setClass('productTd'),
  151. inputGroup
  152. (
  153. $lang->group->manageProduct,
  154. picker
  155. (
  156. set::disabled($group->products == 'all'),
  157. set::name("product[$group->group][]"),
  158. set::items($products),
  159. set::value($group->products == 'all' ? '' : $group->products),
  160. set::multiple(true)
  161. )
  162. )
  163. ),
  164. h::td
  165. (
  166. setClass('text-center'),
  167. checkbox
  168. (
  169. set::name("productAll[$group->group]"),
  170. set::items(array(1 => '')),
  171. set::checked($group->products == 'all')
  172. )
  173. )
  174. );
  175. $tbody[] = h::tr
  176. (
  177. setClass("line{$group->group}"),
  178. h::td
  179. (
  180. setClass('executionTd'),
  181. inputGroup
  182. (
  183. $lang->group->manageExecution,
  184. picker
  185. (
  186. set::disabled($group->executions == 'all'),
  187. set::name("execution[$group->group][]"),
  188. set::value($group->executions == 'all' ? '' : $group->executions),
  189. set::items($executions),
  190. set::multiple(true)
  191. )
  192. )
  193. ),
  194. h::td
  195. (
  196. setClass('text-center'),
  197. checkbox
  198. (
  199. set::name("executionAll[$group->group]]"),
  200. set::items(array(1 => '')),
  201. set::checked($group->executions == 'all')
  202. )
  203. )
  204. );
  205. $i ++;
  206. }
  207. }
  208. else
  209. {
  210. $tbody[] = h::tr
  211. (
  212. setClass('line1'),
  213. h::td
  214. (
  215. set::rowspan($rowspan),
  216. picker
  217. (
  218. set::name('members[1][]'),
  219. set::items($allUsers),
  220. set::multiple(true)
  221. )
  222. ),
  223. h::td
  224. (
  225. setClass($hiddenProgram),
  226. inputGroup
  227. (
  228. $lang->group->manageProgram,
  229. picker
  230. (
  231. set::name('program[1][]'),
  232. set::items($programs),
  233. set::multiple(true)
  234. )
  235. )
  236. ),
  237. h::td
  238. (
  239. setClass("$hiddenProgram text-center"),
  240. checkbox
  241. (
  242. set::name('programAll[1]'),
  243. set::items(array(1 => ''))
  244. )
  245. ),
  246. $hiddenProgram ? h::td
  247. (
  248. setClass('projectTd'),
  249. inputGroup
  250. (
  251. $lang->group->manageProject,
  252. picker
  253. (
  254. set::name('project[1][]'),
  255. set::items($projects),
  256. set::multiple(true)
  257. )
  258. )
  259. ) : null,
  260. $hiddenProgram ? h::td
  261. (
  262. setClass('text-center'),
  263. checkbox
  264. (
  265. set::name('projectAll[1]'),
  266. set::items(array(1 => ''))
  267. )
  268. ) : null,
  269. h::td
  270. (
  271. setClass('text-center'),
  272. set::rowspan($rowspan),
  273. btnGroup
  274. (
  275. set::items
  276. (
  277. array
  278. (
  279. array('icon' => 'plus', 'class' => 'btn ghost btn-add'),
  280. array('icon' => 'trash', 'class' => 'btn ghost btn-delete')
  281. )
  282. )
  283. )
  284. )
  285. );
  286. if(empty($hiddenProgram))
  287. {
  288. $tbody[] = h::tr
  289. (
  290. setClass('line1'),
  291. h::td
  292. (
  293. setClass('projectTd'),
  294. inputGroup
  295. (
  296. $lang->group->manageProject,
  297. picker
  298. (
  299. set::name('project[1][]'),
  300. set::items($projects),
  301. set::multiple(true)
  302. )
  303. )
  304. ),
  305. h::td
  306. (
  307. setClass('text-center'),
  308. checkbox
  309. (
  310. set::name('projectAll[1]'),
  311. set::items(array(1 => ''))
  312. )
  313. )
  314. );
  315. }
  316. $tbody[] = h::tr
  317. (
  318. setClass('line1'),
  319. h::td
  320. (
  321. setClass('productTd'),
  322. inputGroup
  323. (
  324. $lang->group->manageProduct,
  325. picker
  326. (
  327. set::name('product[1][]'),
  328. set::items($products),
  329. set::multiple(true)
  330. )
  331. )
  332. ),
  333. h::td
  334. (
  335. setClass('text-center'),
  336. checkbox
  337. (
  338. set::name('productAll[1]'),
  339. set::items(array(1 => ''))
  340. )
  341. )
  342. );
  343. $tbody[] = h::tr
  344. (
  345. setClass('line1'),
  346. h::td
  347. (
  348. setClass('executionTd'),
  349. inputGroup
  350. (
  351. $lang->group->manageExecution,
  352. picker
  353. (
  354. set::name('execution[1][]'),
  355. set::items($executions),
  356. set::multiple(true)
  357. )
  358. )
  359. ),
  360. h::td
  361. (
  362. setClass('text-center'),
  363. checkbox
  364. (
  365. set::name('executionAll[1]'),
  366. set::items(array(1 => ''))
  367. )
  368. )
  369. );
  370. }
  371. panel
  372. (
  373. form
  374. (
  375. on::click('.btn-add', 'addItem'),
  376. on::click('.btn-delete', 'deleteItem'),
  377. on::change('[name^=programAll]', 'toggleDisabled'),
  378. on::change('[name^=productAll]', 'toggleDisabled'),
  379. on::change('[name^=projectAll]', 'toggleDisabled'),
  380. on::change('[name^=executionAll]', 'toggleDisabled'),
  381. h::table
  382. (
  383. setClass('table condensed bordered'),
  384. h::tr
  385. (
  386. setClass('text-center'),
  387. h::th
  388. (
  389. width('220px'),
  390. $lang->group->inside
  391. ),
  392. h::th($lang->group->object),
  393. h::th
  394. (
  395. width('100px'),
  396. $lang->group->allCheck
  397. ),
  398. h::th
  399. (
  400. width('120px'),
  401. $lang->actions
  402. )
  403. ),
  404. $tbody
  405. )
  406. )
  407. );