tips.html.php 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. <?php
  2. /**
  3. * The tips view file of project 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 Mengyi Liu
  7. * @package project
  8. * @link https://www.zentao.net
  9. */
  10. namespace zin;
  11. $productID = key($products);
  12. $objectID = !empty($executionID) ? $executionID : $projectID;
  13. $executionLang = $lang->execution->typeList['sprint'];
  14. if($project->model == 'kanban') $executionLang = $lang->execution->typeList['kanban'];
  15. if($project->model == 'waterfall' || $project->model == 'waterfallplus') $executionLang = $lang->execution->typeList['stage'];
  16. $isKanbanProject = $project->model == 'kanban';
  17. $hasProduct = !empty($project->hasProduct);
  18. $multiple = !empty($project->multiple);
  19. $showLinkStory = !$isKanbanProject && $hasProduct;
  20. $showCreateStory = !$isKanbanProject && !$hasProduct;
  21. $showCreateTask = !$multiple && strpos(',scrum,agileplus,', ",{$project->model},") !== false;
  22. $showCreateExecution = $multiple && strpos(',scrum,agileplus,kanban,', ",{$project->model},") !== false;
  23. $showSetDoc = !$isKanbanProject;
  24. $showBackToTaskList = !$isKanbanProject && !$multiple;
  25. $showBackToKanban = $isKanbanProject && !$multiple;
  26. $showBackToExecutionList = $multiple;
  27. $backUrl = createLink('project', 'execution', "status=undone&projectID={$projectID}");
  28. if(!$isKanbanProject && !$multiple) $backUrl = createLink('execution', 'task', "executionID={$executionID}");
  29. if($isKanbanProject) $backUrl = $multiple ? createLink('project', 'index', "projectID={$projectID}") : createLink('execution', 'kanban', "executionID={$executionID}");
  30. panel
  31. (
  32. setID('tipsModal'),
  33. set::title($lang->project->tips),
  34. set::headingActions(array
  35. (
  36. array('url' => $backUrl, 'icon' => 'close', 'class' => 'ghost', 'data-app' => 'project')
  37. )),
  38. setClass('m-auto'),
  39. div
  40. (
  41. set::className('flex items-center mt-2'),
  42. icon('check-circle text-success icon-2x mr-2'),
  43. span
  44. (
  45. set::className('text-md font-bold tip-title'),
  46. $lang->project->afterInfo
  47. )
  48. ),
  49. div
  50. (
  51. setClass('mt-5 mb-5 flex gap-y-2 flex-wrap'),
  52. btn
  53. (
  54. set::className('mr-2 tipBtn'),
  55. $lang->project->setTeam,
  56. set::target('_blank'),
  57. set::url(createLink('project', 'team', "projectID={$projectID}"))
  58. ),
  59. $showLinkStory ? btn
  60. (
  61. set::className('mr-2 tipBtn linkstory-btn'),
  62. $lang->project->linkStory,
  63. set::target('_blank'),
  64. set::url(createLink($multiple ? 'projectstory' : 'execution', 'linkstory', "objectID={$objectID}") . '#app=project')
  65. ) : null,
  66. $showCreateStory ? btn
  67. (
  68. set::className('mr-2 tipBtn'),
  69. $lang->project->createStory,
  70. set::target('_blank'),
  71. set::url(createLink('story', 'create', "productID={$productID}&branch=0&moduleID=0&storyID=0&objectID=$objectID") . '#app=project')
  72. ) : null,
  73. $showCreateTask ? btn
  74. (
  75. set::className('mr-2 tipBtn'),
  76. $lang->project->createTask,
  77. set::target('_blank'),
  78. set::url(createLink('task', 'create', "executionID=$executionID") . '#app=project')
  79. ) : null,
  80. $showCreateExecution ? btn
  81. (
  82. set::className('mr-2 tipBtn'),
  83. sprintf($lang->project->createExecutionTip, $executionLang),
  84. set::target('_blank'),
  85. set::url(createLink('execution', 'create', "projectID=$projectID"))
  86. ) : null,
  87. $showSetDoc ? btn
  88. (
  89. set::className('mr-2 tipBtn'),
  90. $lang->project->setDoc,
  91. set::target('_blank'),
  92. set::url(createLink('doc', 'projectSpace', "objectID=$objectID") . '#app=project')
  93. ) : null,
  94. $showBackToTaskList ? btn
  95. (
  96. set::className('mr-2 tipBtn'),
  97. $lang->project->backToTaskList,
  98. set::target('_blank'),
  99. set::url(createLink('execution', 'task', "executionID={$executionID}") . '#app=project')
  100. ) : null,
  101. $showBackToKanban ? btn
  102. (
  103. set::className('mr-2 tipBtn'),
  104. $lang->project->backToKanban,
  105. set::target('_blank'),
  106. set::url(createLink('execution', 'kanban', "executionID={$executionID}") . '#app=project')
  107. ) : null,
  108. $showBackToExecutionList ? btn
  109. (
  110. set::className('mr-2 tipBtn'),
  111. sprintf($lang->project->backToExecutionList, $executionLang),
  112. set::target('_blank'),
  113. set::url(createLink('project', 'execution', "status=undone&projectID={$projectID}"))
  114. ) : null,
  115. btn
  116. (
  117. set::className('tipBtn'),
  118. $lang->project->backToProjectList,
  119. set::target('_blank'),
  120. set::url(createLink('project', 'browse'))
  121. )
  122. )
  123. );