review.html.php 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <?php
  2. /**
  3. * The link view file of mr 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 Zeng Gang<zenggang@easycorp.ltd>
  7. * @package mr
  8. * @link https://www.zentao.net
  9. */
  10. namespace zin;
  11. $module = $app->tab == 'devops' ? 'repo' : $app->tab;
  12. dropmenu
  13. (
  14. set::module($module),
  15. set::tab($module),
  16. set::url(createLink($module, 'ajaxGetDropMenu', "objectID=$objectID&module={$app->rawModule}&method={$app->rawMethod}"))
  17. );
  18. jsVar('appTab', $app->tab);
  19. foreach($bugs as $bug)
  20. {
  21. $repo = zget($repos, $bug->repo, $repo);
  22. $bug->repoName = $repo->name;
  23. $v1 = $bug->v1;
  24. $v2 = $bug->v2;
  25. $bug->entry = $this->repo->decodePath($bug->entry);
  26. $bug->revisionA = substr($repo->SCM != 'Subversion' ? strtr($v2, '*', '-') : $v2, 0, 10);
  27. $lines = trim($bug->lines, ',');
  28. $fileEntry = $this->repo->encodePath("{$bug->entry}#{$bug->lines}");
  29. if(empty($v1))
  30. {
  31. $v2 = $repo->SCM != 'Subversion' ? strtr($v2, '*', '-') : $v2;
  32. $revision = $repo->SCM != 'Subversion' ? $this->repo->getGitRevisionName($v2, (int)zget($historys, $v2)) : $v2;
  33. $bug->link = $this->repo->createLink('view', "repoID={$bug->repo}&objectID={$objectID}&entry={$fileEntry}&revision={$v2}");
  34. }
  35. else
  36. {
  37. $revision = $repo->SCM != 'Subversion' ? substr($v1, 0, 10) : $v1;
  38. $revision .= ' : ';
  39. $revision .= $repo->SCM != 'Subversion' ? substr($v2, 0, 10) : $v2;
  40. if($repo->SCM != 'Subversion') $revision .= ' (' . zget($historys, $v1) . ' : ' . zget($historys, $v2) . ')';
  41. if(strpos($v1, $v2) === 0 || strpos($v2, $v1) === 0) $v1 = $v2;
  42. $bug->link = $this->repo->createLink('diff', "repoID={$bug->repo}&objectID={$objectID}&entry={$fileEntry}&oldRevision={$v1}&newRevision={$v2}");
  43. }
  44. }
  45. $bugs = initTableData($bugs, $config->repo->reviewDtable->fieldList);
  46. if($app->tab == 'project' || $app->tab == 'execution') $repoID = 0;
  47. \zin\featureBar
  48. (
  49. set::current($browseType),
  50. set::linkParams("repoID={$repoID}&browseType={key}&objectID={$objectID}")
  51. );
  52. dtable
  53. (
  54. set::userMap($users),
  55. set::cols($config->repo->reviewDtable->fieldList),
  56. set::data($bugs),
  57. set::sortLink(createLink('repo', 'review', "repoID=$repoID&browseType=$browseType&objectID={$objectID}&orderBy={name}_{sortType}&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}&pageID={$pager->pageID}")),
  58. set::orderBy($orderBy),
  59. set::onRenderCell(jsRaw('window.renderRepobugList')),
  60. set::footPager(usePager())
  61. );