* Fix release counter on API repository info (#10968) * correct Pull Count to v1.11 Fixturestags/v1.11.5
@@ -209,13 +209,31 @@ func getRepo(t *testing.T, repoID int64) *models.Repository { | |||
func TestAPIViewRepo(t *testing.T) { | |||
defer prepareTestEnv(t)() | |||
var repo api.Repository | |||
req := NewRequest(t, "GET", "/api/v1/repos/user2/repo1") | |||
resp := MakeRequest(t, req, http.StatusOK) | |||
var repo api.Repository | |||
DecodeJSON(t, resp, &repo) | |||
assert.EqualValues(t, 1, repo.ID) | |||
assert.EqualValues(t, "repo1", repo.Name) | |||
assert.EqualValues(t, 1, repo.Releases) | |||
assert.EqualValues(t, 1, repo.OpenIssues) | |||
assert.EqualValues(t, 2, repo.OpenPulls) | |||
req = NewRequest(t, "GET", "/api/v1/repos/user12/repo10") | |||
resp = MakeRequest(t, req, http.StatusOK) | |||
DecodeJSON(t, resp, &repo) | |||
assert.EqualValues(t, 10, repo.ID) | |||
assert.EqualValues(t, "repo10", repo.Name) | |||
assert.EqualValues(t, 1, repo.OpenPulls) | |||
assert.EqualValues(t, 1, repo.Forks) | |||
req = NewRequest(t, "GET", "/api/v1/repos/user5/repo4") | |||
resp = MakeRequest(t, req, http.StatusOK) | |||
DecodeJSON(t, resp, &repo) | |||
assert.EqualValues(t, 4, repo.ID) | |||
assert.EqualValues(t, "repo4", repo.Name) | |||
assert.EqualValues(t, 1, repo.Stars) | |||
} | |||
func TestAPIOrgRepos(t *testing.T) { |
@@ -173,7 +173,6 @@ type Repository struct { | |||
NumMilestones int `xorm:"NOT NULL DEFAULT 0"` | |||
NumClosedMilestones int `xorm:"NOT NULL DEFAULT 0"` | |||
NumOpenMilestones int `xorm:"-"` | |||
NumReleases int `xorm:"-"` | |||
IsPrivate bool `xorm:"INDEX"` | |||
IsEmpty bool `xorm:"INDEX"` | |||
@@ -364,6 +363,8 @@ func (repo *Repository) innerAPIFormat(e Engine, mode AccessMode, isParent bool) | |||
allowSquash = config.AllowSquash | |||
} | |||
numReleases, _ := GetReleaseCountByRepoID(repo.ID, FindReleasesOptions{IncludeDrafts: false, IncludeTags: true}) | |||
return &api.Repository{ | |||
ID: repo.ID, | |||
Owner: repo.Owner.APIFormat(), | |||
@@ -387,7 +388,7 @@ func (repo *Repository) innerAPIFormat(e Engine, mode AccessMode, isParent bool) | |||
Watchers: repo.NumWatches, | |||
OpenIssues: repo.NumOpenIssues, | |||
OpenPulls: repo.NumOpenPulls, | |||
Releases: repo.NumReleases, | |||
Releases: int(numReleases), | |||
DefaultBranch: repo.DefaultBranch, | |||
Created: repo.CreatedUnix.AsTime(), | |||
Updated: repo.UpdatedUnix.AsTime(), |
@@ -396,7 +396,7 @@ func RepoAssignment() macaron.Handler { | |||
ctx.Data["RepoExternalIssuesLink"] = unit.ExternalTrackerConfig().ExternalTrackerURL | |||
} | |||
count, err := models.GetReleaseCountByRepoID(ctx.Repo.Repository.ID, models.FindReleasesOptions{ | |||
ctx.Data["NumReleases"], err = models.GetReleaseCountByRepoID(ctx.Repo.Repository.ID, models.FindReleasesOptions{ | |||
IncludeDrafts: false, | |||
IncludeTags: true, | |||
}) | |||
@@ -404,7 +404,6 @@ func RepoAssignment() macaron.Handler { | |||
ctx.ServerError("GetReleaseCountByRepoID", err) | |||
return | |||
} | |||
ctx.Repo.Repository.NumReleases = int(count) | |||
ctx.Data["Title"] = owner.Name + "/" + repo.Name | |||
ctx.Data["Repository"] = repo |
@@ -86,7 +86,7 @@ | |||
{{if and (.Permission.CanRead $.UnitTypeReleases) (not .IsEmptyRepo) }} | |||
<a class="{{if .PageIsReleaseList}}active{{end}} item" href="{{.RepoLink}}/releases"> | |||
<i class="octicon octicon-tag"></i> {{.i18n.Tr "repo.releases"}} <span class="ui {{if not .Repository.NumReleases}}gray{{else}}blue{{end}} small label">{{.Repository.NumReleases}}</span> | |||
<i class="octicon octicon-tag"></i> {{.i18n.Tr "repo.releases"}} <span class="ui {{if not .NumReleases}}gray{{else}}blue{{end}} small label">{{.NumReleases}}</span> | |||
</a> | |||
{{end}} | |||