summaryrefslogtreecommitdiffstats
path: root/routers/user
diff options
context:
space:
mode:
authorUnknown <joe2010xtmf@163.com>2014-03-27 19:42:10 -0400
committerUnknown <joe2010xtmf@163.com>2014-03-27 19:42:10 -0400
commiteb6021f73f270b6fad937432964ab15f42e8f0d9 (patch)
tree4b6d560c60e41cfec3a20a9ecf6144c27a3353df /routers/user
parent34f4af9ebf179dbb24a7da6091b4259d66a3c426 (diff)
downloadgitea-eb6021f73f270b6fad937432964ab15f42e8f0d9.tar.gz
gitea-eb6021f73f270b6fad937432964ab15f42e8f0d9.zip
Fix issue pages URL params
Diffstat (limited to 'routers/user')
-rw-r--r--routers/user/user.go25
1 files changed, 22 insertions, 3 deletions
diff --git a/routers/user/user.go b/routers/user/user.go
index 052a277498..b0fc583978 100644
--- a/routers/user/user.go
+++ b/routers/user/user.go
@@ -289,6 +289,9 @@ func Issues(ctx *middleware.Context) {
ctx.Data["ViewType"] = "all"
page, _ := base.StrTo(ctx.Query("page")).Int()
+ repoId, _ := base.StrTo(ctx.Query("repoid")).Int64()
+
+ ctx.Data["RepoId"] = repoId
var posterId int64 = 0
if ctx.Query("type") == "created_by" {
@@ -299,10 +302,12 @@ func Issues(ctx *middleware.Context) {
// Get all repositories.
repos, err := models.GetRepositories(ctx.User)
if err != nil {
- ctx.Handle(200, "user.Issues(get repository)", err)
+ ctx.Handle(200, "user.Issues(get repositories)", err)
return
}
+ showRepos := make([]models.Repository, 0, len(repos))
+
var closedIssueCount, createdByCount int
// Get all issues.
@@ -315,8 +320,18 @@ func Issues(ctx *middleware.Context) {
}
closedIssueCount += repo.NumClosedIssues
- repos[i].NumOpenIssues = repo.NumIssues - repo.NumClosedIssues
+
+ // Set repository information to issues.
+ for j := range issues {
+ issues[j].Repo = &repos[i]
+ }
allIssues = append(allIssues, issues...)
+
+ repos[i].NumOpenIssues = repo.NumIssues - repo.NumClosedIssues
+ if repos[i].NumOpenIssues > 0 {
+ showRepos = append(showRepos, repos[i])
+
+ }
}
showIssues := make([]models.Issue, 0, len(allIssues))
@@ -335,12 +350,16 @@ func Issues(ctx *middleware.Context) {
createdByCount++
}
+ if repoId > 0 && repoId != allIssues[i].Repo.Id {
+ continue
+ }
+
if isShowClosed == allIssues[i].IsClosed {
showIssues = append(showIssues, allIssues[i])
}
}
- ctx.Data["Repos"] = repos
+ ctx.Data["Repos"] = showRepos
ctx.Data["Issues"] = showIssues
ctx.Data["AllIssueCount"] = len(allIssues)
ctx.Data["ClosedIssueCount"] = closedIssueCount