taskform.html.php 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. <?php
  2. /**
  3. * The create task view of issue module of ZenTaoPMS.
  4. *
  5. * @copyright Copyright 2009-2015 禅道软件(青岛)有限公司(ZenTao Software (Qingdao) Co., Ltd. www.cnezsoft.com)
  6. * @license ZPL(http://zpl.pub/page/zplv12.html) or AGPL(https://www.gnu.org/licenses/agpl-3.0.en.html)
  7. * @author Congzhi Chen <congzhi@cnezsoft.com>
  8. * @package issue
  9. * @version $Id$
  10. * @link http://www.zentao.net
  11. */
  12. ?>
  13. <tr>
  14. <th><?php echo $lang->issue->resolution;?></th>
  15. <td>
  16. <?php echo html::select('resolution', $lang->issue->resolveMethods, $resolution, 'class="form-control chosen" onchange="getSolutions()"');?>
  17. </td>
  18. </tr>
  19. <tr>
  20. <th><?php echo $lang->task->execution;?></th>
  21. <td class="required"><?php echo html::select('execution', $executions, $issue->execution, "class='form-control chosen' onchange='loadAll(this.value)'");?></td><td></td><td></td>
  22. </tr>
  23. <tr>
  24. <th><?php echo $lang->task->type;?></th>
  25. <td class="required"><?php echo html::select('type', $lang->task->typeList, $task->type, "class='form-control chosen'");?></td>
  26. <td>
  27. </td>
  28. </tr>
  29. <tr>
  30. <th><?php echo $lang->task->module;?></th>
  31. <td id='moduleIdBox'><?php echo html::select('module', $moduleOptionMenu, $task->module, "class='form-control chosen'");?></td>
  32. <td>
  33. <div class="checkbox-primary">
  34. <input type="checkbox" id="showAllModule" <?php if($showAllModule) echo 'checked';?>><label for="showAllModule" class="no-margin"><?php echo $lang->task->allModule;?></label>
  35. </div>
  36. </td>
  37. <td></td>
  38. </tr>
  39. <tr>
  40. <th><?php echo $lang->task->assignedTo;?></th>
  41. <td>
  42. <div class="input-group" id="dataPlanGroup">
  43. <?php echo html::select('assignedTo[]', '', $task->assignedTo, "class='form-control chosen'");?>
  44. <span class="input-group-btn team-group hidden"><a class="btn br-0" href="#modalTeam" data-toggle="modal"><?php echo $lang->task->team;?></a></span>
  45. </div>
  46. </td>
  47. </tr>
  48. <tr>
  49. <th><?php echo $lang->task->name;?></th>
  50. <td colspan='3'>
  51. <div class="input-group title-group">
  52. <div class="input-control has-icon-right required">
  53. <?php echo html::input('name', $task->name, "class='form-control'");?>
  54. </div>
  55. <span class="input-group-addon fix-border br-0"><?php echo $lang->task->pri;?></span>
  56. <div class="input-group-btn pri-selector" data-type="pri">
  57. <?php echo html::select('pri', $lang->task->priList, $issue->pri, "class='form-control'");?>
  58. </div>
  59. <div class='table-col w-120px'>
  60. <div class="input-group">
  61. <span class="input-group-addon fix-border br-0"><?php echo $lang->task->estimateAB;?></span>
  62. <input type="text" name="estimate" id="estimate" value="<?php echo $task->estimate;?>" class="form-control" autocomplete="off">
  63. </div>
  64. </div>
  65. </div>
  66. </td>
  67. </tr>
  68. <tr>
  69. <th><?php echo $lang->task->desc;?></th>
  70. <td colspan='3'>
  71. <?php echo html::textarea('desc', $task->desc, "rows='10' class='form-control'");?>
  72. </td>
  73. </tr>
  74. <?php
  75. $hiddenEstStarted = strpos(",$showFields,", ',estStarted,') === false;
  76. $hiddenDeadline = strpos(",$showFields,", ',deadline,') === false;
  77. ?>
  78. <?php if(!$hiddenEstStarted or !$hiddenDeadline):?>
  79. <tr>
  80. <th><?php echo $lang->task->datePlan;?></th>
  81. <td colspan='2'>
  82. <div class='input-group required'>
  83. <?php if(!$hiddenEstStarted):?>
  84. <?php echo html::input('estStarted', $task->estStarted, "class='form-control form-date' placeholder='{$lang->task->estStarted}'");?>
  85. <?php endif;?>
  86. <?php if(!$hiddenEstStarted and !$hiddenDeadline):?>
  87. <span class='input-group-addon fix-border'>~</span>
  88. <?php endif;?>
  89. <?php if(!$hiddenDeadline):?>
  90. <?php echo html::input('deadline', $task->deadline, "class='form-control form-date' placeholder='{$lang->task->deadline}'");?>
  91. <?php endif;?>
  92. </div>
  93. </td>
  94. </tr>
  95. <?php endif;?>
  96. <tr>
  97. <th><?php echo $lang->issue->resolvedBy;?></th>
  98. <td>
  99. <?php echo html::select('resolvedBy', $users, $this->app->user->account, "class='form-control chosen'");?>
  100. </td>
  101. </tr>
  102. <tr>
  103. <th><?php echo $lang->issue->resolvedDate;?></th>
  104. <td>
  105. <div class='input-group has-icon-right'>
  106. <?php echo html::input('resolvedDate', date('Y-m-d'), "class='form-control form-date'");?>
  107. <label for="date" class="input-control-icon-right"><i class="icon icon-delay"></i></label>
  108. </div>
  109. </td>
  110. </tr>
  111. <tr>
  112. <td></td>
  113. <td>
  114. <?php echo html::hidden('status', 'wait');?>
  115. <?php echo html::hidden('fromIssue', $issue->id);?>
  116. <div class='form-action'><?php echo html::submitButton();?></div>
  117. </td>
  118. </tr>
  119. <script>
  120. $(function()
  121. {
  122. executionID = $('#execution').val();
  123. loadAll(executionID);
  124. });
  125. /**
  126. * Load module and members.
  127. *
  128. * @param int $executionID
  129. * @access public
  130. * @return void
  131. */
  132. function loadAll(executionID)
  133. {
  134. if(executionID == null) return;
  135. var moduleID = $('#moduleIdBox #module').val();
  136. var extra = $(this).prop('checked') ? 'allModule' : '';
  137. $('#moduleIdBox').load(createLink('tree', 'ajaxGetOptionMenu', "rootID=" + executionID + '&viewType=task&branch=0&rootModuleID=0&returnType=html&fieldID=&needManage=0&extra=' + extra), function()
  138. {
  139. $('#moduleIdBox #module').val(moduleID).attr('onchange', "setStories(this.value, " + executionID + ")").chosen();
  140. });
  141. loadExecutionMembers(executionID);
  142. }
  143. /**
  144. * Load team members of the project.
  145. *
  146. * @param int $executionID
  147. * @access public
  148. * @return void
  149. */
  150. function loadExecutionMembers(executionID)
  151. {
  152. $.get(createLink('execution', 'ajaxGetMembers', 'executionID=' + executionID + '&assignedTo=' + $('#assignedTo').val()), function(data)
  153. {
  154. $('#assignedTo_chosen').remove();
  155. $('#assignedTo').next('.picker').remove();
  156. $('#assignedTo').replaceWith(data);
  157. $('#assignedTo').attr('name', 'assignedTo[]').chosen();
  158. });
  159. }
  160. </script>