You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

collaboration.tmpl 7.5 kB

9 years ago
9 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. {{template "base/head" .}}
  2. <style>
  3. .activatelayer {
  4. position: relative;
  5. z-index: 2;
  6. }
  7. </style>
  8. <div class="repository settings collaboration">
  9. {{template "repo/header" .}} {{template "repo/settings/navbar" .}}
  10. <!-- 内容主体区 -->
  11. <div class="ui container">
  12. <!-- 标题区 -->
  13. {{template "base/alert" .}}
  14. <h4 class="ui attached header">
  15. {{.i18n.Tr "repo.settings.collaboration"}}
  16. </h4>
  17. <!-- 搜索区 -->
  18. <div class="ui attached segment">
  19. <form class="ui form" id="repo-collab-form" action="{{.Link}}" method="post">
  20. {{.CsrfTokenHtml}}
  21. <div class="inline field ui left">
  22. <div id="search-user-box" class="ui search">
  23. <div class="ui input">
  24. <input class="prompt" name="collaborator" placeholder="{{.i18n.Tr "repo.settings.search_user_placeholder"}}" autocomplete="off" autofocus required>
  25. </div>
  26. </div>
  27. </div>
  28. <button class="ui green button">{{.i18n.Tr "repo.settings.add_collaborator"}}</button>
  29. </form>
  30. </div>
  31. <!-- 协作者列表展示区 -->
  32. {{if .Collaborators}}
  33. <div class="ui attached segment collaborator list">
  34. {{range .Collaborators}}
  35. <div class="item ui grid">
  36. <!-- 用户名 -->
  37. <div class="ui five wide column">
  38. <a href="{{AppSubUrl}}/{{.Name}}">
  39. <img class="ui avatar image" src="{{.RelAvatarLink}}"> {{.DisplayName}}
  40. </a>
  41. </div>
  42. <!-- 协作者权限 -->
  43. <div class="ui eight wide column">
  44. {{svg "octicon-shield-lock" 16}}
  45. <div class="ui inline dropdown">
  46. <div class="text">
  47. {{if eq .Collaboration.Mode 1}}{{$.i18n.Tr "repo.settings.collaboration.read"}}{{else if eq .Collaboration.Mode 2}}{{$.i18n.Tr "repo.settings.collaboration.write"}}{{else if eq .Collaboration.Mode 3}}{{$.i18n.Tr "repo.settings.collaboration.admin"}}{{else}}{{$.i18n.Tr "repo.settings.collaboration.undefined"}}{{end}}
  48. </div>
  49. <i class="dropdown icon"></i>
  50. <div class="access-mode menu" data-url="{{$.Link}}/access_mode" data-uid="{{.ID}}">
  51. <div class="item" data-text="{{$.i18n.Tr "repo.settings.collaboration.admin"}}" data-value="3">{{$.i18n.Tr "repo.settings.collaboration.admin"}}</div>
  52. <div class="item" data-text="{{$.i18n.Tr "repo.settings.collaboration.write"}}" data-value="2">{{$.i18n.Tr "repo.settings.collaboration.write"}}</div>
  53. <div class="item" data-text="{{$.i18n.Tr "repo.settings.collaboration.read"}}" data-value="1">{{$.i18n.Tr "repo.settings.collaboration.read"}}</div>
  54. </div>
  55. </div>
  56. </div>
  57. <!-- 删除按钮 -->
  58. <div class="ui two wide column">
  59. <button class="ui red tiny button inline text-thin delete-button" data-url="{{$.Link}}/delete" data-id="{{.ID}}">
  60. {{$.i18n.Tr "repo.settings.delete_collaborator"}}
  61. </button>
  62. </div>
  63. </div>
  64. {{end}}
  65. </div>
  66. {{end}}
  67. <!-- 团队展示区 -->
  68. {{if .RepoOwnerIsOrganization}}
  69. <h4 class="ui attached header">
  70. {{$.i18n.Tr "repo.settings.teams"}}
  71. </h4>
  72. {{ $allowedToChangeTeams := ( or (.Org.RepoAdminChangeTeamAccess) (.Permission.IsOwner)) }}
  73. <div class="ui attached segment">
  74. {{if $allowedToChangeTeams}}
  75. <form class="ui form" id="repo-collab-team-form" action="{{.Link}}/team" method="post">
  76. {{.CsrfTokenHtml}}
  77. <div class="inline field ui left">
  78. <div id="search-team-box" class="ui search" data-org="{{.OrgName}}">
  79. <div class="ui input">
  80. <input class="prompt" name="team" placeholder="{{$.i18n.Tr "repo.settings.search_team"}}" autocomplete="off" autofocus required>
  81. </div>
  82. </div>
  83. </div>
  84. <button class="ui green button">{{$.i18n.Tr "repo.settings.add_team"}}</button>
  85. </form>
  86. {{else}}
  87. <div class="item">
  88. {{$.i18n.Tr "repo.settings.change_team_access_not_allowed"}}
  89. </div>
  90. {{end}}
  91. </div>
  92. {{if .Teams}}
  93. <div class="ui attached segment collaborator list">
  94. {{range $t, $team := .Teams}}
  95. <div class="item ui grid">
  96. <div class="ui five wide column">
  97. <a href="{{AppSubUrl}}/org/{{$.OrgName}}/teams/{{.LowerName}}">
  98. {{.Name}}
  99. </a>
  100. </div>
  101. <div class="ui eight wide column poping up" data-content="{{$.i18n.Tr "repo.settings.change_team_permission_tip"}}">
  102. {{svg "octicon-shield-lock" 16}}
  103. <div class="ui inline dropdown">
  104. <div class="text">{{if eq .Authorize 1}}{{$.i18n.Tr "repo.settings.collaboration.read"}}{{else if eq .Authorize 2}}{{$.i18n.Tr "repo.settings.collaboration.write"}}{{else if eq .Authorize 3}}{{$.i18n.Tr "repo.settings.collaboration.admin"}}{{else if eq .Authorize 4}}{{$.i18n.Tr "repo.settings.collaboration.owner"}}{{else}}{{$.i18n.Tr "repo.settings.collaboration.undefined"}}{{end}}</div>
  105. </div>
  106. {{ if or (eq .Authorize 1) (eq .Authorize 2) }} {{ $first := true }}
  107. <div class="description">
  108. Sections: {{range $u, $unit := $.Units}}{{if and ($.Repo.UnitEnabled $unit.Type) ($team.UnitEnabled $unit.Type)}}{{if $first}}{{ $first = false }}{{else}}, {{end}}{{$.i18n.Tr $unit.NameKey}}{{end}}{{end}} {{if $first}}None{{end}}
  109. </div>
  110. {{end}}
  111. </div>
  112. {{if $allowedToChangeTeams}}
  113. <div class="ui two wide column {{if .IncludesAllRepositories}}poping up{{end}}" {{if .IncludesAllRepositories}} data-content="{{$.i18n.Tr "repo.settings.delete_team_tip"}}"{{end}}>
  114. <button class="ui red tiny button inline text-thin delete-button {{if .IncludesAllRepositories}}disabled{{end}}" data-url="{{$.Link}}/team/delete" data-id="{{.ID}}">
  115. {{$.i18n.Tr "repo.settings.delete_collaborator"}}
  116. </button>
  117. </div>
  118. {{end}}
  119. </div>
  120. {{end}}
  121. </div>
  122. {{end}} {{end}}
  123. </div>
  124. </div>
  125. <!-- 确认删除弹框 -->
  126. <div class="ui small basic delete modal">
  127. <div class="ui icon header">
  128. <i class="trash icon"></i> {{.i18n.Tr "repo.settings.collaborator_deletion"}}
  129. </div>
  130. <div class="content">
  131. <p>{{.i18n.Tr "repo.settings.collaborator_deletion_desc"}}</p>
  132. </div>
  133. {{template "base/delete_modal_actions" .}}
  134. </div>
  135. </div>
  136. {{template "base/footer" .}}
  137. <script>
  138. $(".ui.inline.dropdown").click(function() {
  139. $(this).parent().parent().siblings().removeClass("activatelayer")
  140. $(this).parent().parent().addClass("activatelayer")
  141. })
  142. </script>