summaryrefslogtreecommitdiffstats
path: root/templates
diff options
context:
space:
mode:
authorDavid Svantesson <davidsvantesson@gmail.com>2019-09-23 22:08:03 +0200
committerLauris BH <lauris@nix.lv>2019-09-23 23:08:03 +0300
commita0e88dfc2e5cc811facf8f96d0c6ca22dc49b9e1 (patch)
treea40e42bb05f62acaf64e0af5b49142985387ab42 /templates
parent63ff61615ec6aaa25887f8ce605c9082c106a34b (diff)
downloadgitea-a0e88dfc2e5cc811facf8f96d0c6ca22dc49b9e1.tar.gz
gitea-a0e88dfc2e5cc811facf8f96d0c6ca22dc49b9e1.zip
Add teams to repo on collaboration page. (#8045)
* Add teams to repo on collaboration page. Signed-off-by: David Svantesson <davidsvantesson@gmail.com> * Add option for repository admins to change teams access to repo. Signed-off-by: David Svantesson <davidsvantesson@gmail.com> * Add comment for functions Signed-off-by: David Svantesson <davidsvantesson@gmail.com> * Make RepoAdminChangeTeamAccess default false in xorm and make it default checked in template instead. Signed-off-by: David Svantesson <davidsvantesson@gmail.com> * Make proper language strings and fix error redirection. * Add unit tests for adding and deleting team from repository. Signed-off-by: David Svantesson <davidsvantesson@gmail.com> * Add database migration Signed-off-by: David Svantesson <davidsvantesson@gmail.com> * Fix redirect Signed-off-by: David Svantesson <davidsvantesson@gmail.com> * Fix locale string mismatch. Signed-off-by: David Svantesson <davidsvantesson@gmail.com> * Move team access mode text logic to template. * Move collaborator access mode text logic to template.
Diffstat (limited to 'templates')
-rw-r--r--templates/org/create.tmpl11
-rw-r--r--templates/org/settings/options.tmpl10
-rw-r--r--templates/repo/settings/collaboration.tmpl59
-rw-r--r--templates/swagger/v1_json.tmpl12
4 files changed, 91 insertions, 1 deletions
diff --git a/templates/org/create.tmpl b/templates/org/create.tmpl
index 5b6080c227..8ae0fc22af 100644
--- a/templates/org/create.tmpl
+++ b/templates/org/create.tmpl
@@ -32,6 +32,17 @@
</div>
</div>
</div>
+
+ <div class="field" id="permission_box">
+ <label>{{.i18n.Tr "org.settings.permission"}}</label>
+ <div class="field">
+ <div class="ui checkbox">
+ <input class="hidden" type="checkbox" name="repo_admin_change_team_access" checked/>
+ <label>{{.i18n.Tr "org.settings.repoadminchangeteam"}}</label>
+ </div>
+ </div>
+ </div>
+
<div class="inline field">
<label></label>
<button class="ui green button">
diff --git a/templates/org/settings/options.tmpl b/templates/org/settings/options.tmpl
index e8cfd97d4e..28660fe365 100644
--- a/templates/org/settings/options.tmpl
+++ b/templates/org/settings/options.tmpl
@@ -56,6 +56,16 @@
</div>
</div>
+ <div class="field" id="permission_box">
+ <label>{{.i18n.Tr "org.settings.permission"}}</label>
+ <div class="field">
+ <div class="ui checkbox">
+ <input class="hidden" type="checkbox" name="repo_admin_change_team_access" checked/>
+ <label>{{.i18n.Tr "org.settings.repoadminchangeteam"}}</label>
+ </div>
+ </div>
+ </div>
+
{{if .SignedUser.IsAdmin}}
<div class="ui divider"></div>
diff --git a/templates/repo/settings/collaboration.tmpl b/templates/repo/settings/collaboration.tmpl
index 4c3c1a5d74..b65fd4e167 100644
--- a/templates/repo/settings/collaboration.tmpl
+++ b/templates/repo/settings/collaboration.tmpl
@@ -20,7 +20,7 @@
<div class="ui eight wide column">
<span class="octicon octicon-shield"></span>
<div class="ui inline dropdown">
- <div class="text">{{$.i18n.Tr .Collaboration.ModeI18nKey}}</div>
+ <div class="text">{{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}}</div>
<i class="dropdown icon"></i>
<div class="access-mode menu" data-url="{{$.Link}}/access_mode" data-uid="{{.ID}}">
<div class="item" data-text="{{$.i18n.Tr "repo.settings.collaboration.admin"}}" data-value="3">{{$.i18n.Tr "repo.settings.collaboration.admin"}}</div>
@@ -51,6 +51,63 @@
<button class="ui green button">{{.i18n.Tr "repo.settings.add_collaborator"}}</button>
</form>
</div>
+
+ <h4 class="ui top attached header">
+ Teams
+ </h4>
+ {{ $allowedToChangeTeams := ( or (.Org.RepoAdminChangeTeamAccess) (.Permission.IsOwner)) }}
+ {{if .Teams}}
+ <div class="ui attached segment collaborator list">
+ {{range $t, $team := .Teams}}
+ <div class="item ui grid">
+ <div class="ui five wide column">
+ <a href="{{AppSubUrl}}/org/{{$.OrgName}}/teams/{{.LowerName}}">
+ {{.Name}}
+ </a>
+ </div>
+ <div class="ui eight wide column poping up" data-content="Team's permission is set on the team setting page and can't be changed per repository">
+ <span class="octicon octicon-shield"></span>
+ <div class="ui inline dropdown">
+ <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>
+ </div>
+ {{ if or (eq .Authorize 1) (eq .Authorize 2) }}
+ {{ $first := true }}
+ <div class="description">
+ 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}}
+ </div>
+ {{end}}
+ </div>
+ {{if $allowedToChangeTeams}}
+ {{ $globalRepoAccess := (eq .LowerName "owners") }}
+ <div class="ui two wide column {{if $globalRepoAccess}}poping up{{end}}" {{if $globalRepoAccess}}data-content="This team has access to all repositories and can't be removed."{{end}}>
+ <button class="ui red tiny button inline text-thin delete-button {{if $globalRepoAccess}}disabled{{end}}" data-url="{{$.Link}}/team/delete" data-id="{{.ID}}">
+ {{$.i18n.Tr "repo.settings.delete_collaborator"}}
+ </button>
+ </div>
+ {{end}}
+ </div>
+ {{end}}
+ </div>
+ {{end}}
+ <div class="ui bottom attached segment">
+ {{if $allowedToChangeTeams}}
+ <form class="ui form" id="repo-collab-team-form" action="{{.Link}}/team" method="post">
+ {{.CsrfTokenHtml}}
+ <div class="inline field ui left">
+ <div id="search-team-box" class="ui search" data-org="{{.OrgID}}">
+ <div class="ui input">
+ <input class="prompt" name="team" placeholder="Search teams..." autocomplete="off" autofocus required>
+ </div>
+ </div>
+ </div>
+ <button class="ui green button">Add Team</button>
+ </form>
+ {{else}}
+ <div class="item">
+ Changing team access for repository has been restricted to organization owner
+ </div>
+ {{end}}
+ </div>
</div>
</div>
diff --git a/templates/swagger/v1_json.tmpl b/templates/swagger/v1_json.tmpl
index 69d100e00c..a5fef2f5e6 100644
--- a/templates/swagger/v1_json.tmpl
+++ b/templates/swagger/v1_json.tmpl
@@ -7718,6 +7718,10 @@
"type": "string",
"x-go-name": "Location"
},
+ "repo_admin_change_team_access": {
+ "type": "boolean",
+ "x-go-name": "RepoAdminChangeTeamAccess"
+ },
"username": {
"type": "string",
"x-go-name": "UserName"
@@ -8262,6 +8266,10 @@
"type": "string",
"x-go-name": "Location"
},
+ "repo_admin_change_team_access": {
+ "type": "boolean",
+ "x-go-name": "RepoAdminChangeTeamAccess"
+ },
"visibility": {
"description": "possible values are `public`, `limited` or `private`",
"type": "string",
@@ -9271,6 +9279,10 @@
"type": "string",
"x-go-name": "Location"
},
+ "repo_admin_change_team_access": {
+ "type": "boolean",
+ "x-go-name": "RepoAdminChangeTeamAccess"
+ },
"username": {
"type": "string",
"x-go-name": "UserName"