summaryrefslogtreecommitdiffstats
path: root/modules
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 /modules
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 'modules')
-rw-r--r--modules/auth/org.go15
-rw-r--r--modules/structs/org.go23
2 files changed, 21 insertions, 17 deletions
diff --git a/modules/auth/org.go b/modules/auth/org.go
index 367468e587..2abffdf74e 100644
--- a/modules/auth/org.go
+++ b/modules/auth/org.go
@@ -33,13 +33,14 @@ func (f *CreateOrgForm) Validate(ctx *macaron.Context, errs binding.Errors) bind
// UpdateOrgSettingForm form for updating organization settings
type UpdateOrgSettingForm struct {
- Name string `binding:"Required;AlphaDashDot;MaxSize(40)" locale:"org.org_name_holder"`
- FullName string `binding:"MaxSize(100)"`
- Description string `binding:"MaxSize(255)"`
- Website string `binding:"ValidUrl;MaxSize(255)"`
- Location string `binding:"MaxSize(50)"`
- Visibility structs.VisibleType
- MaxRepoCreation int
+ Name string `binding:"Required;AlphaDashDot;MaxSize(40)" locale:"org.org_name_holder"`
+ FullName string `binding:"MaxSize(100)"`
+ Description string `binding:"MaxSize(255)"`
+ Website string `binding:"ValidUrl;MaxSize(255)"`
+ Location string `binding:"MaxSize(50)"`
+ Visibility structs.VisibleType
+ MaxRepoCreation int
+ RepoAdminChangeTeamAccess bool
}
// Validate validates the fields
diff --git a/modules/structs/org.go b/modules/structs/org.go
index 08ab139975..4b79a4e70a 100644
--- a/modules/structs/org.go
+++ b/modules/structs/org.go
@@ -6,14 +6,15 @@ package structs
// Organization represents an organization
type Organization struct {
- ID int64 `json:"id"`
- UserName string `json:"username"`
- FullName string `json:"full_name"`
- AvatarURL string `json:"avatar_url"`
- Description string `json:"description"`
- Website string `json:"website"`
- Location string `json:"location"`
- Visibility string `json:"visibility"`
+ ID int64 `json:"id"`
+ UserName string `json:"username"`
+ FullName string `json:"full_name"`
+ AvatarURL string `json:"avatar_url"`
+ Description string `json:"description"`
+ Website string `json:"website"`
+ Location string `json:"location"`
+ Visibility string `json:"visibility"`
+ RepoAdminChangeTeamAccess bool `json:"repo_admin_change_team_access"`
}
// CreateOrgOption options for creating an organization
@@ -26,7 +27,8 @@ type CreateOrgOption struct {
Location string `json:"location"`
// possible values are `public` (default), `limited` or `private`
// enum: public,limited,private
- Visibility string `json:"visibility" binding:"In(,public,limited,private)"`
+ Visibility string `json:"visibility" binding:"In(,public,limited,private)"`
+ RepoAdminChangeTeamAccess bool `json:"repo_admin_change_team_access"`
}
// EditOrgOption options for editing an organization
@@ -37,5 +39,6 @@ type EditOrgOption struct {
Location string `json:"location"`
// possible values are `public`, `limited` or `private`
// enum: public,limited,private
- Visibility string `json:"visibility" binding:"In(,public,limited,private)"`
+ Visibility string `json:"visibility" binding:"In(,public,limited,private)"`
+ RepoAdminChangeTeamAccess bool `json:"repo_admin_change_team_access"`
}