deliverable.html.php 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <?php
  2. namespace zin;
  3. jsVar('canViewProgress', hasPriv('approval', 'progress'));
  4. jsVar('viewApprovalProgress', $lang->project->viewApprovalProgress);
  5. jsVar('deliverableFrozenTips', $lang->project->deliverableFrozenTips);
  6. jsVar('updateVersionLang', $lang->project->updateVersion);
  7. featureBar
  8. (
  9. set::current($browseType),
  10. set::linkParams("projectID={$projectID}&browseType={key}&param={$param}&orderBy={$orderBy}&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}&pageID={$pager->pageID}"),
  11. li(searchToggle(set::module('projectDeliverable'), set::open($browseType == 'bysearch')))
  12. );
  13. toolbar(hasPriv('project', 'createDeliverable') ? item(set(array
  14. (
  15. 'icon' => 'plus',
  16. 'class' => 'primary',
  17. 'text' => $lang->project->createDeliverableAbbr,
  18. 'data-toggle' => 'modal',
  19. 'url' => createLink('project', 'createDeliverable', "id={$projectID}")
  20. ))) : null);
  21. sidebar
  22. (
  23. moduleMenu
  24. (
  25. set::modules($moduleTree),
  26. set::activeKey($moduleID),
  27. set::closeLink(createLink('project', 'deliverable', "id={$projectID}")),
  28. set::settingText($lang->deliverable->moduleSetting),
  29. set::showDisplay(false),
  30. set::app('project')
  31. )
  32. );
  33. $cols = $this->loadModel('datatable')->getSetting('project', 'deliverable');
  34. $summary = sprintf($lang->deliverable->summary, count($deliverables));
  35. $tableData = initTableData($deliverables, $cols, $this->project);
  36. foreach($tableData as $key => $row)
  37. {
  38. $tableData[$key]->rawStatus = $row->status;
  39. if($row->hasApproval == 0)
  40. {
  41. $tableData[$key]->status = $row->status == 'pass' ? $lang->project->confirmed : $lang->project->needConfirm;
  42. }
  43. else
  44. {
  45. $tableData[$key]->status = zget($lang->review->statusList, $row->status);
  46. }
  47. }
  48. if(isset($cols['submitFrom'])) $cols['submitFrom']['map'] = $this->project->getSubmitFromPairs($projectID);
  49. if(in_array($project->model, array('scrum', 'agileplus'))) unset($cols['isBaseline']);
  50. dtable
  51. (
  52. set::id('deliverable'),
  53. set::cols($cols),
  54. set::data($tableData),
  55. set::userMap($users),
  56. set::orderBy($orderBy),
  57. set::customCols(true),
  58. set::checkable(false),
  59. set::sortLink(createLink('project', 'deliverable', "projectID={$projectID}&browseType=$browseType&param={$param}&orderBy={name}_{sortType}&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}")),
  60. set::footer(array($summary, 'flex', 'pager')),
  61. set::onRenderCell(jsRaw('window.onRenderCell')),
  62. set::footPager(usePager(array
  63. (
  64. 'recTotal' => $pager->recTotal,
  65. 'recPerPage' => $pager->recPerPage,
  66. 'linkCreator' => helper::createLink('project', 'deliverable', "projectID={$projectID}&browseType=$browseType&param={$param}&orderBy=$orderBy&recTotal={$pager->recTotal}&recPerPage={recPerPage}&page={page}")
  67. )))
  68. );