view.html.php 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <?php
  2. /**
  3. * The view file of deliverable module of ZenTaoPMS.
  4. *
  5. * @copyright Copyright 2009-2023 禅道软件(青岛)有限公司(ZenTao Software (Qingdao) Co., Ltd. www.zentao.net)
  6. * @license ZPL(https://zpl.pub/page/zplv12.html) or AGPL(https://www.gnu.org/licenses/agpl-3.0.en.html)
  7. * @author Yuting Wang<wangyuting@easycorp.ltd>
  8. * @package deliverable
  9. * @link https://www.zentao.net
  10. */
  11. namespace zin;
  12. $renderStages = function() use ($deliverable, $lang, $stageList)
  13. {
  14. $stages = array();
  15. foreach($deliverable->stages as $stage => $required)
  16. {
  17. $stages[] = zget($stageList, $stage) . ' ' . zget($lang->deliverable->requiredList, $required) . '<br/>';
  18. }
  19. return $stages;
  20. };
  21. $items[$lang->deliverable->module] = zget($modules, $deliverable->module);
  22. $items[$lang->deliverable->status] = zget($lang->deliverable->statusList, $deliverable->status, '');
  23. if($hasProcess)
  24. {
  25. $items[$lang->deliverable->activity] = array('control' => 'html', 'content' => zget($activities, $deliverable->activity, ''), 'title' => zget($activities, $deliverable->activity, ''));
  26. $items[$lang->deliverable->trimmable] = zget($lang->deliverable->trimmableList, $deliverable->trimmable);
  27. $items[$lang->deliverable->trimRule] = array('control' => 'html', 'content' => $deliverable->trimRule);
  28. }
  29. $items[$lang->deliverable->when] = array('control' => 'html', 'content' => $renderStages);
  30. $items[$lang->deliverable->createdBy] = zget($users, $deliverable->createdBy) . $lang->at . $deliverable->createdDate;
  31. $items[$lang->deliverable->lastEditedBy] = $deliverable->lastEditedBy ? (zget($users, $deliverable->lastEditedBy) . $lang->at . $deliverable->lastEditedDate) : '';
  32. $operateList = $this->loadModel('common')->buildOperateMenu($deliverable);
  33. if($deliverable->deleted)
  34. {
  35. $actions = array();
  36. }
  37. else
  38. {
  39. $actions = $operateList['mainActions'];
  40. $divider = empty($actions) ? array() : array(array('type' => 'divider'));
  41. if (!empty($operateList['suffixActions'])) $actions = array_merge($actions, $divider, $operateList['suffixActions']);
  42. }
  43. /* 初始化主栏内容。Init sections in main column. */
  44. $sections = array();
  45. $sections[] = setting()
  46. ->title($lang->deliverable->desc)
  47. ->control('html')
  48. ->content($deliverable->desc);
  49. if(!empty($deliverable->template))
  50. {
  51. $sections[] = setting()
  52. ->control('deliverable')
  53. ->title($lang->deliverable->template)
  54. ->isTemplate(true)
  55. ->extraCategory($lang->other)
  56. ->onlyShow(true)
  57. ->items($deliverable->template);
  58. }
  59. /* 初始化侧边栏标签页。Init sidebar tabs. */
  60. $tabs = array();
  61. /* 基本信息。Legend basic items. */
  62. $tabs[] = setting()
  63. ->group('basic')
  64. ->title($lang->deliverable->basicInfo)
  65. ->control('datalist')
  66. ->items($items);
  67. detail
  68. (
  69. set::urlFormatter(array('{id}' => $deliverable->id)),
  70. set::sections($sections),
  71. set::tabs($tabs),
  72. set::actions(array_values($actions))
  73. );