data.html.php 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. <?php
  2. /**
  3. * The data view file of feedback 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 Yidong Wang <yidong@cnezsoft.com>
  8. * @package feedback
  9. * @version $Id$
  10. * @link http://www.zentao.net
  11. */
  12. ?>
  13. <?php include $app->getModuleRoot() . 'common/view/datatable.fix.html.php';?>
  14. <?php if($feedbacks):?>
  15. <?php
  16. $this->loadModel('datatable');
  17. $adminMethod = $this->app->getMethodName() == 'admin';
  18. $datatableId = $this->moduleName . ucfirst($this->methodName);
  19. $useDatatable = (isset($config->datatable->$datatableId->mode) and $config->datatable->$datatableId->mode == 'datatable');
  20. ?>
  21. <form class='main-table table-feedback' method='post' id='feedbackForm' <?php if(!$useDatatable) echo "data-ride='table'";?>>
  22. <div class="table-header fixed-right">
  23. <nav class="btn-toolbar pull-right"></nav>
  24. </div>
  25. <?php
  26. $vars = "browseType=$browseType&param=$param&orderBy=%s&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}";
  27. if($useDatatable) include $app->getModuleRoot() . 'common/view/datatable.html.php';
  28. $canBatchEdit = common::hasPriv('feedback', 'batchEdit');
  29. $canBatchClose = common::hasPriv('feedback', 'batchClose');
  30. $canBatchAssignTo = common::hasPriv('feedback', 'batchAssignTo');
  31. $canBatchAction = $canBatchEdit or $canBatchClose or $canBatchAssignTo;
  32. if($browseType == 'review')
  33. {
  34. $canBatchReview = common::hasPriv('feedback', 'batchReview');
  35. $canBatchAction = $canBatchAction or $canBatchReview;
  36. $config->feedback->datatable->fieldList['actions']['width'] = '120';
  37. }
  38. $setting = $this->loadModel('datatable')->getOldSetting($this->moduleName);
  39. $widths = $this->datatable->setFixedFieldWidth($setting);
  40. if(!$useDatatable) echo '<div class="table-responsive">';
  41. ?>
  42. <table class='table has-sort-head<?php if($useDatatable) echo ' datatable';?>' id='feedbackList' data-fixed-left-width='<?php echo $widths['leftWidth']?>' data-fixed-right-width='<?php echo $widths['rightWidth']?>'>
  43. <thead>
  44. <tr>
  45. <?php
  46. foreach($setting as $key => $value)
  47. {
  48. if($value->show) $this->datatable->printHead($value, $orderBy, $vars, $canBatchAction);
  49. }
  50. ?>
  51. </tr>
  52. </thead>
  53. <tbody>
  54. <?php foreach($feedbacks as $feedback):?>
  55. <tr data-id='<?php echo $feedback->id?>'>
  56. <?php
  57. foreach($setting as $key => $value)
  58. {
  59. if($value->show) $this->feedback->printCell($value, $feedback, $users, $allProducts, $depts, $modulePairs, $viewMethod, $browseType, $stories, $bugs, $todos, $tasks, $tickets, $demands);
  60. }
  61. ?>
  62. </tr>
  63. <?php endforeach;?>
  64. </tbody>
  65. </table>
  66. <?php if(!$useDatatable) echo '</div>';?>
  67. <div class='table-footer'>
  68. <?php if($this->app->methodName == 'admin' or $this->app->methodName == 'feedback'):?>
  69. <?php if($canBatchAction):?>
  70. <div class="checkbox-primary check-all"><label><?php echo $lang->selectAll?></label></div>
  71. <?php endif;?>
  72. <div class="table-actions btn-toolbar">
  73. <?php if($canBatchEdit):?>
  74. <?php
  75. $actionLink = $this->createLink('feedback', 'batchEdit', "browseType=$browseType");
  76. $misc = "onclick=\"setFormAction('$actionLink')\"";
  77. echo html::commonButton($lang->edit, $misc);
  78. ?>
  79. <?php endif;?>
  80. <?php if($browseType == 'review' and $canBatchReview):?>
  81. <div class="btn-group dropup">
  82. <button data-toggle="dropdown" type="button" class="btn"><?php echo $lang->feedback->review;?> <span class="caret"></span></button>
  83. <div class="dropdown-menu search-list">
  84. <div class="list-group">
  85. <?php
  86. foreach($lang->feedback->reviewResultList as $key => $value)
  87. {
  88. if(empty($key)) continue;
  89. $actionLink = $this->createLink('feedback', 'batchReview', "result=$key");
  90. echo html::a("javascript:setFormAction(\"$actionLink\",\"hiddenwin\");", $value, '');
  91. }
  92. ?>
  93. </div>
  94. </div>
  95. </div>
  96. <?php endif;?>
  97. <?php if($canBatchClose):?>
  98. <?php
  99. $actionLink = $this->createLink('feedback', 'batchClose');
  100. $misc = "onclick=\"setFormAction('$actionLink', '', '#feedbackForm')\"";
  101. echo html::commonButton($lang->close, $misc);
  102. ?>
  103. <?php endif;?>
  104. <?php if($canBatchAssignTo and $param != 'all'):?>
  105. <div class="btn-group dropup">
  106. <button data-toggle="dropdown" type="button" class="btn"><?php echo $lang->feedback->assignedTo;?> <span class="caret"></span></button>
  107. <?php $withSearch = count($users) > 10;?>
  108. <?php if($withSearch):?>
  109. <div class="dropdown-menu search-list search-box-sink" data-ride="searchList">
  110. <div class="input-control search-box has-icon-left has-icon-right search-example">
  111. <input id="userSearchBox" type="search" autocomplete="off" class="form-control search-input" />
  112. <label for="userSearchBox" class="input-control-icon-left search-icon"><i class="icon icon-search"></i></label>
  113. <a class="input-control-icon-right search-clear-btn"><i class="icon icon-close icon-sm"></i></a>
  114. </div>
  115. <?php $usersPinYin = common::convert2Pinyin($users);?>
  116. <?php else:?>
  117. <div class="dropdown-menu search-list">
  118. <?php endif;?>
  119. <div class="list-group">
  120. <?php
  121. $actionLink = $this->createLink('feedback', 'batchAssignTo');
  122. echo html::select('assignedTo', $users, '', 'class="hidden"');
  123. foreach($users as $key => $value)
  124. {
  125. if(empty($key)) continue;
  126. $searchKey = $withSearch ? ('data-key="' . zget($usersPinYin, $value, '') . " @$key\"") : "data-key='@$key'";
  127. echo html::a("javascript:$(\"#assignedTo\").val(\"$key\");setFormAction(\"$actionLink\",\"hiddenwin\")", $value, '', $searchKey);
  128. }
  129. ?>
  130. </div>
  131. </div>
  132. </div>
  133. <?php endif;?>
  134. </div>
  135. <?php endif;?>
  136. <?php $pager->show('right', 'pagerjs');?>
  137. </div>
  138. </form>
  139. <script>
  140. <?php if($useDatatable):?>
  141. $(function(){$('#feedbackForm').table();})
  142. <?php endif;?>
  143. </script>
  144. <?php else:?>
  145. <div class="table-empty-tip">
  146. <p><span class="text-muted"><?php echo $lang->feedback->noFeedback;?></span></p>
  147. </div>
  148. <?php endif;?>
  149. <?php include './selectproject.html.php';?>