diff options
author | David Svantesson <davidsvantesson@gmail.com> | 2019-09-23 22:08:03 +0200 |
---|---|---|
committer | Lauris BH <lauris@nix.lv> | 2019-09-23 23:08:03 +0300 |
commit | a0e88dfc2e5cc811facf8f96d0c6ca22dc49b9e1 (patch) | |
tree | a40e42bb05f62acaf64e0af5b49142985387ab42 /templates | |
parent | 63ff61615ec6aaa25887f8ce605c9082c106a34b (diff) | |
download | gitea-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.tmpl | 11 | ||||
-rw-r--r-- | templates/org/settings/options.tmpl | 10 | ||||
-rw-r--r-- | templates/repo/settings/collaboration.tmpl | 59 | ||||
-rw-r--r-- | templates/swagger/v1_json.tmpl | 12 |
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" |