mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-11-02 20:06:06 +01:00 
			
		
		
		
	Fix some API bugs (#16184)
* Repository object only count releases as releases (fix #16144) * EditOrg respect RepoAdminChangeTeamAccess option (fix #16013)
This commit is contained in:
		@@ -223,7 +223,7 @@ func TestAPIViewRepo(t *testing.T) {
 | 
				
			|||||||
	DecodeJSON(t, resp, &repo)
 | 
						DecodeJSON(t, resp, &repo)
 | 
				
			||||||
	assert.EqualValues(t, 1, repo.ID)
 | 
						assert.EqualValues(t, 1, repo.ID)
 | 
				
			||||||
	assert.EqualValues(t, "repo1", repo.Name)
 | 
						assert.EqualValues(t, "repo1", repo.Name)
 | 
				
			||||||
	assert.EqualValues(t, 3, repo.Releases)
 | 
						assert.EqualValues(t, 2, repo.Releases)
 | 
				
			||||||
	assert.EqualValues(t, 1, repo.OpenIssues)
 | 
						assert.EqualValues(t, 1, repo.OpenIssues)
 | 
				
			||||||
	assert.EqualValues(t, 3, repo.OpenPulls)
 | 
						assert.EqualValues(t, 3, repo.OpenPulls)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -91,7 +91,7 @@ func innerToRepo(repo *models.Repository, mode models.AccessMode, isParent bool)
 | 
				
			|||||||
		return nil
 | 
							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 := ""
 | 
						mirrorInterval := ""
 | 
				
			||||||
	if repo.IsMirror {
 | 
						if repo.IsMirror {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -31,6 +31,8 @@ type CreateOrgOption struct {
 | 
				
			|||||||
	RepoAdminChangeTeamAccess bool   `json:"repo_admin_change_team_access"`
 | 
						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
 | 
					// EditOrgOption options for editing an organization
 | 
				
			||||||
type EditOrgOption struct {
 | 
					type EditOrgOption struct {
 | 
				
			||||||
	FullName    string `json:"full_name"`
 | 
						FullName    string `json:"full_name"`
 | 
				
			||||||
@@ -40,5 +42,5 @@ type EditOrgOption struct {
 | 
				
			|||||||
	// possible values are `public`, `limited` or `private`
 | 
						// possible values are `public`, `limited` or `private`
 | 
				
			||||||
	// enum: public,limited,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"`
 | 
						RepoAdminChangeTeamAccess *bool  `json:"repo_admin_change_team_access"`
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -264,7 +264,13 @@ func Edit(ctx *context.APIContext) {
 | 
				
			|||||||
	if form.Visibility != "" {
 | 
						if form.Visibility != "" {
 | 
				
			||||||
		org.Visibility = api.VisibilityModes[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)
 | 
							ctx.Error(http.StatusInternalServerError, "EditOrganization", err)
 | 
				
			||||||
		return
 | 
							return
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -55,7 +55,7 @@ func parseTime(value string) (int64, error) {
 | 
				
			|||||||
// prepareQueryArg unescape and trim a query arg
 | 
					// prepareQueryArg unescape and trim a query arg
 | 
				
			||||||
func prepareQueryArg(ctx *context.APIContext, name string) (value string, err error) {
 | 
					func prepareQueryArg(ctx *context.APIContext, name string) (value string, err error) {
 | 
				
			||||||
	value, err = url.PathUnescape(ctx.Query(name))
 | 
						value, err = url.PathUnescape(ctx.Query(name))
 | 
				
			||||||
	value = strings.Trim(value, " ")
 | 
						value = strings.TrimSpace(value)
 | 
				
			||||||
	return
 | 
						return
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user