* Fix some API bugs (#16184) * Repository object only count releases as releases (fix #16144) * EditOrg respect RepoAdminChangeTeamAccess option (fix #16013) * adjut to v1.14tags/v1.14.3
@@ -223,7 +223,7 @@ func TestAPIViewRepo(t *testing.T) { | |||
DecodeJSON(t, resp, &repo) | |||
assert.EqualValues(t, 1, repo.ID) | |||
assert.EqualValues(t, "repo1", repo.Name) | |||
assert.EqualValues(t, 2, repo.Releases) | |||
assert.EqualValues(t, 1, repo.Releases) | |||
assert.EqualValues(t, 1, repo.OpenIssues) | |||
assert.EqualValues(t, 3, repo.OpenPulls) | |||
@@ -89,7 +89,7 @@ func innerToRepo(repo *models.Repository, mode models.AccessMode, isParent bool) | |||
return nil | |||
} | |||
numReleases, _ := models.GetReleaseCountByRepoID(repo.ID, models.FindReleasesOptions{IncludeDrafts: false, IncludeTags: true}) | |||
numReleases, _ := models.GetReleaseCountByRepoID(repo.ID, models.FindReleasesOptions{IncludeDrafts: false, IncludeTags: false}) | |||
mirrorInterval := "" | |||
if repo.IsMirror { |
@@ -31,6 +31,8 @@ type CreateOrgOption struct { | |||
RepoAdminChangeTeamAccess bool `json:"repo_admin_change_team_access"` | |||
} | |||
// TODO: make EditOrgOption fields optional after https://gitea.com/go-chi/binding/pulls/5 got merged | |||
// EditOrgOption options for editing an organization | |||
type EditOrgOption struct { | |||
FullName string `json:"full_name"` | |||
@@ -40,5 +42,5 @@ type EditOrgOption struct { | |||
// possible values are `public`, `limited` or `private` | |||
// enum: public,limited,private | |||
Visibility string `json:"visibility" binding:"In(,public,limited,private)"` | |||
RepoAdminChangeTeamAccess bool `json:"repo_admin_change_team_access"` | |||
RepoAdminChangeTeamAccess *bool `json:"repo_admin_change_team_access"` | |||
} |
@@ -264,7 +264,13 @@ func Edit(ctx *context.APIContext) { | |||
if form.Visibility != "" { | |||
org.Visibility = api.VisibilityModes[form.Visibility] | |||
} | |||
if err := models.UpdateUserCols(org, "full_name", "description", "website", "location", "visibility"); err != nil { | |||
if form.RepoAdminChangeTeamAccess != nil { | |||
org.RepoAdminChangeTeamAccess = *form.RepoAdminChangeTeamAccess | |||
} | |||
if err := models.UpdateUserCols(org, | |||
"full_name", "description", "website", "location", | |||
"visibility", "repo_admin_change_team_access", | |||
); err != nil { | |||
ctx.Error(http.StatusInternalServerError, "EditOrganization", err) | |||
return | |||
} |
@@ -55,7 +55,7 @@ func parseTime(value string) (int64, error) { | |||
// prepareQueryArg unescape and trim a query arg | |||
func prepareQueryArg(ctx *context.APIContext, name string) (value string, err error) { | |||
value, err = url.PathUnescape(ctx.Query(name)) | |||
value = strings.Trim(value, " ") | |||
value = strings.TrimSpace(value) | |||
return | |||
} | |||