createguide.html.php 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. <?php
  2. /**
  3. * The create guide 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 Yanyi Cao<caoyanyi@easycorp.ltd>
  7. * @package project
  8. * @link https://www.zentao.net
  9. */
  10. namespace zin;
  11. jsVar('isInModal', isInModal());
  12. jsVar('appTab', $config->vision == 'or' ? 'charter' : 'project');
  13. div
  14. (
  15. setClass('modal-header justify-center font-bold p-0 pb-2'),
  16. h3($lang->project->chooseProgramType)
  17. );
  18. $hasWaterfall = helper::hasFeature('waterfall');
  19. $hasWaterfallPlus = helper::hasFeature('waterfallplus');
  20. $createLink = createLink("project", "create", "model=%s&programID=$programID&copyProjectID=0&extra=productID=$productID,branchID=$branchID");
  21. $projectModel = array();
  22. foreach($lang->project->modelList as $model => $modelName)
  23. {
  24. if(empty($model)) continue;
  25. if(!$hasWaterfall && $model == 'waterfall') continue;
  26. if(!$hasWaterfallPlus && $model == 'waterfallplus') continue;
  27. $titleKey = "{$model}Title";
  28. $projectModel[] = center
  29. (
  30. setClass('model-block p-2 ' . $model),
  31. div
  32. (
  33. setClass('model-item col items-center cursor-pointer'),
  34. set('data-url', sprintf($createLink, $model)),
  35. set('data-model', $model),
  36. img
  37. (
  38. setClass('border w-52'),
  39. set::src("theme/default/images/main/{$model}.png")
  40. ),
  41. h4
  42. (
  43. setClass('mt-2 font-bold'),
  44. $lang->project->{$model}
  45. ),
  46. p($lang->project->$titleKey)
  47. )
  48. );
  49. }
  50. $createLink = createLink("project", "create", "model=%s&programID=$programID&copyProjectID=%s&extra=productID=$productID,branchID=$branchID,copyType=all,copyFrom=template&pageType=copy");
  51. $projectTemplate = array();
  52. foreach($templates as $template)
  53. {
  54. $titleKey = "template{$template->id}";
  55. $descTitle = $template->desc ? strip_tags($template->desc) : $lang->project->noDesc;
  56. $projectTemplate[] = center
  57. (
  58. setClass('model-block px-2 py-2 w-1/3'),
  59. div
  60. (
  61. setClass('model-item cursor-pointer w-full text-clip border rounded-md'),
  62. set('data-url', sprintf($createLink, $template->model, $template->id)),
  63. div(setClass('p-4'), a
  64. (
  65. setClass('mb-3 font-bold text-normal flex items-center text-clip'),
  66. icon(setClass('mr-1'), $template->model == 'scrum' ? 'sprint' : $template->model),
  67. span(set::title($template->name), $template->name),
  68. set::href('javascript:;')
  69. ), span(setClass('text-sm text-gray text-clip'), set::title($descTitle), $descTitle))
  70. )
  71. );
  72. }
  73. div
  74. (
  75. setStyle(array('height' => '440px')),
  76. tabs
  77. (
  78. set::headerClass('pl-4'),
  79. tabPane
  80. (
  81. set::key('modelList'),
  82. set::title($lang->project->newProject),
  83. div
  84. (
  85. setClass('flex items-center flex-wrap'),
  86. $projectModel,
  87. div
  88. (
  89. setClass('model-block more-model p-2'),
  90. $config->edition == 'ipd' ? setClass('hidden') : null,
  91. div
  92. (
  93. setClass('border text-gray text-center'),
  94. $lang->project->moreModelTitle
  95. )
  96. )
  97. )
  98. ),
  99. tabPane
  100. (
  101. set::key('templateList'),
  102. set::title($lang->project->template),
  103. set::active(!empty($projectTemplate)),
  104. !empty($projectTemplate) ? div
  105. (
  106. setID('templateList'),
  107. setClass('flex items-center flex-wrap'),
  108. $projectTemplate
  109. ) : div(setClass('center h-32'), $lang->project->noTemplateData)
  110. )
  111. ),
  112. on::click('.model-item')->call('window.openCreateProjectLink', jsRaw('$this'), $config->vision == 'or' ? 'charter' : 'project', isInModal())
  113. );