aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--routers/user/home.go42
1 files changed, 25 insertions, 17 deletions
diff --git a/routers/user/home.go b/routers/user/home.go
index e0d90dc6e2..8465216bcf 100644
--- a/routers/user/home.go
+++ b/routers/user/home.go
@@ -285,7 +285,9 @@ func Issues(ctx *context.Context) {
}
opts.LabelIDs = labelIDs
- opts.RepoIDs = repoIDs
+ if len(repoIDs) > 0 {
+ opts.RepoIDs = repoIDs
+ }
issues, err := models.Issues(opts)
if err != nil {
@@ -295,23 +297,29 @@ func Issues(ctx *context.Context) {
showReposMap := make(map[int64]*models.Repository, len(counts))
for repoID := range counts {
- showReposMap[repoID], err = models.GetRepositoryByID(repoID)
- if models.IsErrRepoNotExist(err) {
- ctx.NotFound("GetRepositoryByID", err)
- return
- } else if err != nil {
- ctx.ServerError("GetRepositoryByID", fmt.Errorf("[%d]%v", repoID, err))
- return
- }
+ if repoID > 0 {
+ if _, ok := showReposMap[repoID]; !ok {
+ repo, err := models.GetRepositoryByID(repoID)
+ if models.IsErrRepoNotExist(err) {
+ ctx.NotFound("GetRepositoryByID", err)
+ return
+ } else if err != nil {
+ ctx.ServerError("GetRepositoryByID", fmt.Errorf("[%d]%v", repoID, err))
+ return
+ }
+ showReposMap[repoID] = repo
+ }
+ repo := showReposMap[repoID]
- // Check if user has access to given repository.
- perm, err := models.GetUserRepoPermission(showReposMap[repoID], ctxUser)
- if err != nil {
- ctx.ServerError("GetUserRepoPermission", fmt.Errorf("[%d]%v", repoID, err))
- return
- }
- if !perm.CanRead(models.UnitTypeIssues) {
- log.Error("User created Issues in Repository which they no longer have access to: [%d]", repoID)
+ // Check if user has access to given repository.
+ perm, err := models.GetUserRepoPermission(repo, ctxUser)
+ if err != nil {
+ ctx.ServerError("GetUserRepoPermission", fmt.Errorf("[%d]%v", repoID, err))
+ return
+ }
+ if !perm.CanRead(models.UnitTypeIssues) {
+ log.Error("User created Issues in Repository which they no longer have access to: [%d]", repoID)
+ }
}
}