restart.html.php 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. <?php
  2. /**
  3. * The restart view file of task 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 Shujie Tian<tianshujie@easycorp.ltd>
  7. * @package task
  8. * @link https://www.zentao.net
  9. */
  10. namespace zin;
  11. jsVar('confirmFinish', $lang->task->confirmFinish);
  12. jsVar('confirmTeamFinish', $lang->task->confirmTeamFinish);
  13. jsVar('currentTeam', $currentTeam);
  14. /* zin: Set variables to define control for form. */
  15. $assignedToControl = '';
  16. if($task->mode == 'linear')
  17. {
  18. $assignedToControl = inputGroup(
  19. set::className('no-background'),
  20. zget($members, $assignedTo),
  21. input
  22. (
  23. set::className('hidden'),
  24. set::name('assignedTo'),
  25. set::value($assignedTo)
  26. )
  27. );
  28. }
  29. elseif($canRecordEffort)
  30. {
  31. $assignedToControl = select(
  32. set::name('assignedTo'),
  33. set::value($assignedTo),
  34. set::items($members)
  35. );
  36. }
  37. /* ====== Define the page structure with zin widgets ====== */
  38. modalHeader();
  39. if(!$canRecordEffort)
  40. {
  41. if($task->assignedTo != $app->user->account && $task->mode == 'linear')
  42. {
  43. $deniedNotice = sprintf($lang->task->deniedNotice, $task->assignedToRealName, $lang->task->start);
  44. }
  45. else
  46. {
  47. $deniedNotice = sprintf($lang->task->deniedNotice, $lang->task->teamMember, $lang->task->start);
  48. }
  49. div
  50. (
  51. set::className('alert with-icon'),
  52. icon('exclamation-sign icon-3x'),
  53. div
  54. (
  55. set::className('content'),
  56. p
  57. (
  58. set::className('font-bold'),
  59. $deniedNotice
  60. )
  61. )
  62. );
  63. }
  64. else
  65. {
  66. formPanel
  67. (
  68. setID('restartForm'),
  69. set::ajax(array('beforeSubmit' => jsRaw("clickSubmit"))),
  70. formGroup
  71. (
  72. set::className($task->mode == 'multi' ? 'hidden' : ''),
  73. set::width('1/3'),
  74. set::label($lang->task->assignedTo),
  75. $assignedToControl
  76. ),
  77. formGroup
  78. (
  79. set::width('1/3'),
  80. set::label($lang->task->realStarted),
  81. datetimePicker
  82. (
  83. set::name('realStarted'),
  84. set::value(helper::isZeroDate($task->realStarted) ? helper::now() : $task->realStarted)
  85. )
  86. ),
  87. formRow
  88. (
  89. formGroup
  90. (
  91. set::width('1/3'),
  92. set::label(!empty($currentTeam) ? $lang->task->myConsumed : $lang->task->consumed),
  93. inputControl
  94. (
  95. input(set::name('consumed'), set::value(!empty($currentTeam) ? helper::formatHours((float)$currentTeam->consumed) : helper::formatHours((float)$task->consumed)), set::disabled((!empty($currentTeam) || $task->isParent) ? true : false)),
  96. !empty($currentTeam) ? formHidden('consumed', (float)$currentTeam->consumed) : null,
  97. $task->isParent ? formHidden('consumed', (float)$task->consumed) : null,
  98. to::suffix($lang->task->suffixHour),
  99. set::suffixWidth(20)
  100. )
  101. ),
  102. formGroup
  103. (
  104. set::label($lang->task->left),
  105. set::width('1/3'),
  106. inputControl
  107. (
  108. input(set::name('left'), set::value(!empty($currentTeam) ? helper::formatHours((float)$currentTeam->left) : helper::formatHours((float)$task->left)), set::disabled($task->isParent ? true : false)),
  109. $task->isParent ? formHidden('left', $task->left) : null,
  110. to::suffix($lang->task->suffixHour),
  111. set::suffixWidth(20)
  112. )
  113. )
  114. ),
  115. formGroup
  116. (
  117. set::label($lang->comment),
  118. editor(set::name('comment'), set::rows('5'))
  119. )
  120. );
  121. hr();
  122. history();
  123. }
  124. /* ====== Render page ====== */
  125. render();