gitea源码

collaboration.tmpl 6.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. {{template "repo/settings/layout_head" (dict "ctxData" . "pageClass" "repository settings collaboration")}}
  2. <div class="repo-setting-content">
  3. <h4 class="ui top attached header">
  4. {{ctx.Locale.Tr "repo.settings.collaboration"}}
  5. </h4>
  6. {{if .Collaborators}}
  7. <div class="ui attached segment">
  8. <div class="flex-list">
  9. {{range .Collaborators}}
  10. <div class="flex-item tw-items-center">
  11. <div class="flex-item-leading">
  12. <a href="{{.HomeLink}}">{{ctx.AvatarUtils.Avatar . 32}}</a>
  13. </div>
  14. <div class="flex-item-main">
  15. <div class="flex-item-title">
  16. {{template "shared/user/name" .}}
  17. </div>
  18. </div>
  19. <div class="flex-item-trailing">
  20. <div class="flex-text-block">
  21. {{svg "octicon-shield-lock"}}
  22. <div class="ui dropdown custom access-mode" data-url="{{$.Link}}/access_mode" data-uid="{{.ID}}" data-last-value="{{.Collaboration.Mode}}">
  23. <div class="text">{{if eq .Collaboration.Mode 1}}{{ctx.Locale.Tr "repo.settings.collaboration.read"}}{{else if eq .Collaboration.Mode 2}}{{ctx.Locale.Tr "repo.settings.collaboration.write"}}{{else if eq .Collaboration.Mode 3}}{{ctx.Locale.Tr "repo.settings.collaboration.admin"}}{{else}}{{ctx.Locale.Tr "repo.settings.collaboration.undefined"}}{{end}}</div>
  24. {{svg "octicon-triangle-down" 14 "dropdown icon"}}
  25. <div class="menu">
  26. <div class="item" data-value="3">{{ctx.Locale.Tr "repo.settings.collaboration.admin"}}</div>
  27. <div class="item" data-value="2">{{ctx.Locale.Tr "repo.settings.collaboration.write"}}</div>
  28. <div class="item" data-value="1">{{ctx.Locale.Tr "repo.settings.collaboration.read"}}</div>
  29. </div>
  30. </div>
  31. </div>
  32. <button class="ui red tiny button link-action" data-modal-confirm="#repo-collaborator-delete-modal" data-url="{{$.Link}}/delete?id={{.ID}}">
  33. {{ctx.Locale.Tr "repo.settings.delete_collaborator"}}
  34. </button>
  35. </div>
  36. </div>
  37. {{end}}
  38. </div>
  39. </div>
  40. {{end}}
  41. <div class="ui bottom attached segment">
  42. <form class="ui form" id="repo-collab-form" action="{{.Link}}" method="post">
  43. {{.CsrfTokenHtml}}
  44. <div id="search-user-box" class="ui search input tw-align-middle">
  45. <input class="prompt" name="collaborator" placeholder="{{ctx.Locale.Tr "search.user_kind"}}" autocomplete="off" autofocus required>
  46. </div>
  47. <button class="ui primary button">{{ctx.Locale.Tr "repo.settings.add_collaborator"}}</button>
  48. </form>
  49. </div>
  50. {{if $.Repository.Owner.IsOrganization}}
  51. <h4 class="ui top attached header">
  52. {{ctx.Locale.Tr "repo.settings.teams"}}
  53. </h4>
  54. {{$allowedToChangeTeams := (or (.Org.RepoAdminChangeTeamAccess) (.Permission.IsOwner))}}
  55. {{if .Teams}}
  56. <div class="ui attached segment">
  57. <div class="flex-list">
  58. {{range $t, $team := .Teams}}
  59. <div class="flex-item">
  60. <div class="flex-item-main">
  61. <a class="flex-item-title text primary" href="{{AppSubUrl}}/org/{{$.OrgName|PathEscape}}/teams/{{.LowerName|PathEscape}}">
  62. {{.Name}}
  63. </a>
  64. <div class="flex-item-body flex-text-block">
  65. {{/*FIXME: TEAM-UNIT-PERMISSION this display is not right, search the fixme keyword to see more details */}}
  66. {{svg "octicon-shield-lock"}}
  67. {{if eq .AccessMode 0}}
  68. {{ctx.Locale.Tr "repo.settings.collaboration.per_unit"}}
  69. {{else if eq .AccessMode 1}}
  70. {{ctx.Locale.Tr "repo.settings.collaboration.read"}}
  71. {{else if eq .AccessMode 2}}
  72. {{ctx.Locale.Tr "repo.settings.collaboration.write"}}
  73. {{else if eq .AccessMode 3}}
  74. {{ctx.Locale.Tr "repo.settings.collaboration.admin"}}
  75. {{else if eq .AccessMode 4}}
  76. {{ctx.Locale.Tr "repo.settings.collaboration.owner"}}
  77. {{else}}
  78. {{ctx.Locale.Tr "repo.settings.collaboration.undefined"}}
  79. {{end}}
  80. </div>
  81. {{if or (eq .AccessMode 0) (eq .AccessMode 1) (eq .AccessMode 2)}}
  82. {{$first := true}}
  83. <div class="flex-item-body" data-tooltip-content="{{ctx.Locale.Tr "repo.settings.change_team_permission_tip"}}">
  84. Units:
  85. {{range $u, $unit := $.Units}}
  86. {{- if and ($.Repo.UnitEnabled ctx $unit.Type) ($team.UnitEnabled ctx $unit.Type) -}}
  87. {{- Iif $first "" ", "}}{{ctx.Locale.Tr $unit.NameKey -}}
  88. {{- $first = false -}}
  89. {{- end -}}
  90. {{end}}
  91. {{if $first}}None{{end}}
  92. </div>
  93. {{end}}
  94. </div>
  95. {{if $allowedToChangeTeams}}
  96. <div class="flex-item-trailing" {{if .IncludesAllRepositories}} data-tooltip-content="{{ctx.Locale.Tr "repo.settings.delete_team_tip"}}"{{end}}>
  97. <button class="ui red tiny button link-action {{if .IncludesAllRepositories}}disabled{{end}}" data-modal-confirm="#repo-collaborator-delete-modal" data-url="{{$.Link}}/team/delete?id={{.ID}}">
  98. {{ctx.Locale.Tr "repo.settings.delete_collaborator"}}
  99. </button>
  100. </div>
  101. {{end}}
  102. </div>
  103. {{end}}
  104. </div>
  105. </div>
  106. {{end}}
  107. <div class="ui bottom attached segment">
  108. {{if $allowedToChangeTeams}}
  109. <form class="ui form" id="repo-collab-team-form" action="{{.Link}}/team" method="post">
  110. {{.CsrfTokenHtml}}
  111. <div id="search-team-box" class="ui search input tw-align-middle" data-org-name="{{.OrgName}}">
  112. <input class="prompt" name="team" placeholder="{{ctx.Locale.Tr "search.team_kind"}}" autocomplete="off" required>
  113. </div>
  114. <button class="ui primary button">{{ctx.Locale.Tr "repo.settings.add_team"}}</button>
  115. </form>
  116. {{else}}
  117. <div class="item">
  118. {{ctx.Locale.Tr "repo.settings.change_team_access_not_allowed"}}
  119. </div>
  120. {{end}}
  121. </div>
  122. {{end}}
  123. </div>
  124. <div class="ui small modal" id="repo-collaborator-delete-modal">
  125. <div class="header">{{svg "octicon-trash"}} {{ctx.Locale.Tr "repo.settings.collaborator_deletion"}}</div>
  126. <div class="content"><p>{{ctx.Locale.Tr "repo.settings.collaborator_deletion_desc"}}</p></div>
  127. {{template "base/modal_actions_confirm" .}}
  128. </div>
  129. {{template "repo/settings/layout_footer" .}}