setmodule.html.php 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. <?php
  2. /**
  3. * The set module view file of admin 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 Gang Liu <liugang@easycorp.ltd>
  7. * @package admin
  8. * @link https://www.zentao.net
  9. */
  10. namespace zin;
  11. global $app;
  12. $app->loadLang('project');
  13. jsVar('confirmDisableStoryType', $lang->admin->notice->confirmDisableStoryType);
  14. jsVar('edition', $config->edition);
  15. jsVar('enableER', $config->enableER);
  16. jsVar('URAndSR', $config->URAndSR);
  17. jsVar('ERCommon', $lang->ERCommon);
  18. jsVar('URCommon', $lang->URCommon);
  19. jsVar('changeLang', $lang->admin->setModule->change);
  20. jsVar('deliverableLang', $lang->admin->setModule->deliverable);
  21. jsVar('cmLang', $lang->admin->setModule->cm);
  22. jsVar('openDependFeature', $lang->admin->notice->openDependFeature);
  23. jsVar('closeDependFeature', $lang->admin->notice->closeDependFeature);
  24. if(strpos(",$disabledFeatures,", ",productUR,") !== false) $disabledFeatures .= ',productER';
  25. if($config->systemMode != 'ALM' && $config->systemMode != 'PLM') $disabledFeatures .= ',otherProgram';
  26. if(!empty($config->hiddenFeature)) $disabledFeatures .= ',' . implode(',', $config->hiddenFeature);
  27. $isEn = $app->getClientLang() == 'en';
  28. $rows = array();
  29. foreach($config->featureGroup as $group => $features)
  30. {
  31. if(strpos(",$disabledFeatures,", ",$group,") !== false) continue;
  32. $hasData = false;
  33. foreach($features as $feature)
  34. {
  35. $code = $group . ucfirst($feature);
  36. if(strpos(",$disabledFeatures,", ",$code,") !== false) continue;
  37. $hasData = true;
  38. }
  39. if($hasData)
  40. {
  41. $items = array();
  42. foreach($features as $feature)
  43. {
  44. $code = $group . ucfirst($feature);
  45. if(strpos(",$disabledFeatures,", ",$code,") !== false) continue;
  46. $value = strpos(",$closedFeatures,", ",$code,") === false ? '1' : '0';
  47. if($code == 'myScore') $value = $useScore ? 1 : 0;
  48. $items[] = checkbox
  49. (
  50. setID("module{$code}"),
  51. set::rootClass('w-40'),
  52. set::name("module[{$code}]"),
  53. set::value(1),
  54. set::checked($value == 1),
  55. on::change('checkModule'),
  56. $lang->admin->setModule->{$feature}
  57. );
  58. $items[] = input
  59. (
  60. setID("module{$code}"),
  61. set::type('hidden'),
  62. set::name("module[{$code}]"),
  63. set::value($value)
  64. );
  65. }
  66. $rows[] = h::tr
  67. (
  68. setClass('border-t', !empty($config->hiddenGroup) && in_array($group, $config->hiddenGroup) ? 'hidden' : ''),
  69. h::td
  70. (
  71. setClass('p-2.5'),
  72. checkbox
  73. (
  74. setID("allChecker{$group}"),
  75. set::name("allChecker[$group]"),
  76. on::change('checkGroup'),
  77. $lang->admin->setModule->{$group}
  78. )
  79. ),
  80. h::td
  81. (
  82. setClass('flex flex-wrap p-2.5 border-l'),
  83. $items
  84. )
  85. );
  86. }
  87. }
  88. formPanel
  89. (
  90. set::id('setModuleForm'),
  91. set::title($lang->admin->setModuleIndex),
  92. set::actions(false),
  93. set::ajax(array('beforeSubmit' => jsRaw("submitForm"))),
  94. h::table
  95. (
  96. setClass('border w-full'),
  97. h::thead
  98. (
  99. h::tr
  100. (
  101. h::th
  102. (
  103. setClass('text-md p-2.5'),
  104. setStyle(array('width' => $isEn ? '140px' : '100px')),
  105. $lang->admin->setModule->module
  106. ),
  107. h::th
  108. (
  109. setClass('text-md p-2.5 border-l'),
  110. $lang->admin->setModule->optional
  111. )
  112. )
  113. ),
  114. h::tbody
  115. (
  116. $rows,
  117. h::tr
  118. (
  119. setClass('border-t'),
  120. h::td
  121. (
  122. setClass('p-2.5'),
  123. checkbox
  124. (
  125. setID('allCheckeer'),
  126. on::change('checkAll'),
  127. $lang->selectAll
  128. )
  129. ),
  130. h::td
  131. (
  132. setClass('form-actions inline-flex gap-4 p-2.5 border-l'),
  133. button
  134. (
  135. setClass('btn primary'),
  136. set::type('submit'),
  137. $lang->save
  138. ),
  139. button
  140. (
  141. setClass('btn open-url'),
  142. setData(array('back' => 'APP')),
  143. $lang->goback
  144. )
  145. )
  146. )
  147. )
  148. )
  149. );
  150. render();