browseproject.html.php 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <?php
  2. /**
  3. * The browseproject view file of sonarqube 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 Yanyi Cao <caoyanyi@easycorp.ltd>
  8. * @package sonarqube
  9. * @link https://www.zentao.net
  10. */
  11. namespace zin;
  12. $projectList = array();
  13. foreach($sonarqubeProjectList as $project)
  14. {
  15. $project->jobID = 0;
  16. $project->reportView = 0;
  17. $project->sonarqubeID = $sonarqube->id ;
  18. $project->projectKey = str_replace('-', '*', $project->key);
  19. if(isset($projectJobPairs[$project->key]))
  20. {
  21. $project->jobID = $projectJobPairs[$project->key];
  22. if(in_array($project->jobID, $successJobs)) $project->reportView = 1;
  23. }
  24. $projectList[] = $project;
  25. }
  26. $tableData = initTableData($sonarqubeProjectList, $config->sonarqube->dtable->project->fieldList, $this->sonarqube);
  27. featureBar
  28. (
  29. backBtn
  30. (
  31. set::text($lang->goback),
  32. set::url(createLink('instance', 'view', "id={$sonarqube->instanceID}&type={$sonarqube->type}"))
  33. ),
  34. form
  35. (
  36. set::ajax(array('beforeSubmit' => jsRaw('() => {window.searchProject(); return false;}'))),
  37. setID('searchForm'),
  38. setClass('ml-4'),
  39. set::actions(array()),
  40. formRow
  41. (
  42. input
  43. (
  44. set::placeholder($lang->sonarqube->placeholderSearch),
  45. set::name('keyword'),
  46. set::value($keyword)
  47. ),
  48. btn
  49. (
  50. setClass('primary'),
  51. $lang->sonarqube->search,
  52. on::click('searchProject')
  53. )
  54. )
  55. )
  56. );
  57. hasPriv('instance', 'manage') ? toolbar
  58. (
  59. item
  60. (
  61. set::text($lang->sonarqube->createProject),
  62. set::url($this->createLink('sonarqube', 'createProject', "sonarqubeID={$sonarqube->id}")),
  63. set('data-toggle', 'modal'),
  64. setClass('primary'),
  65. set::icon('plus')
  66. )
  67. ) : null;
  68. dtable
  69. (
  70. set::cols($config->sonarqube->dtable->project->fieldList),
  71. set::data($tableData),
  72. set::sortLink(createLink('sonarqube', 'browseProject', "sonarqubeID={$sonarqube->id}&orderBy={name}_{sortType}")),
  73. set::orderBy($orderBy),
  74. set::footPager(usePager())
  75. );
  76. render();