diff options
Diffstat (limited to 'routers/user/profile.go')
-rw-r--r-- | routers/user/profile.go | 96 |
1 files changed, 33 insertions, 63 deletions
diff --git a/routers/user/profile.go b/routers/user/profile.go index a7dab18c7a..bda29522d9 100644 --- a/routers/user/profile.go +++ b/routers/user/profile.go @@ -170,74 +170,44 @@ func Profile(ctx *context.Context) { } case "stars": ctx.Data["PageIsProfileStarList"] = true - if len(keyword) == 0 { - repos, err = ctxUser.GetStarredRepos(showPrivate, page, setting.UI.User.RepoPagingNum, orderBy.String()) - if err != nil { - ctx.ServerError("GetStarredRepos", err) - return - } - - count, err = ctxUser.GetStarredRepoCount(showPrivate) - if err != nil { - ctx.ServerError("GetStarredRepoCount", err) - return - } - } else { - repos, count, err = models.SearchRepositoryByName(&models.SearchRepoOptions{ - Keyword: keyword, - OwnerID: ctxUser.ID, - OrderBy: orderBy, - Private: showPrivate, - Page: page, - PageSize: setting.UI.User.RepoPagingNum, - Starred: true, - Collaborate: util.OptionalBoolFalse, - TopicOnly: topicOnly, - }) - if err != nil { - ctx.ServerError("SearchRepositoryByName", err) - return - } + repos, count, err = models.SearchRepositoryByName(&models.SearchRepoOptions{ + Keyword: keyword, + OrderBy: orderBy, + Private: ctx.IsSigned, + UserIsAdmin: ctx.IsUserSiteAdmin(), + UserID: ctx.Data["SignedUserID"].(int64), + Page: page, + PageSize: setting.UI.User.RepoPagingNum, + StarredByID: ctxUser.ID, + Collaborate: util.OptionalBoolFalse, + TopicOnly: topicOnly, + }) + if err != nil { + ctx.ServerError("SearchRepositoryByName", err) + return } total = int(count) default: - if len(keyword) == 0 { - repos, err = models.GetUserRepositories(ctxUser.ID, showPrivate, page, setting.UI.User.RepoPagingNum, orderBy.String()) - if err != nil { - ctx.ServerError("GetRepositories", err) - return - } - - if showPrivate { - total = ctxUser.NumRepos - } else { - count, err := models.GetPublicRepositoryCount(ctxUser) - if err != nil { - ctx.ServerError("GetPublicRepositoryCount", err) - return - } - total = int(count) - } - } else { - repos, count, err = models.SearchRepositoryByName(&models.SearchRepoOptions{ - Keyword: keyword, - OwnerID: ctxUser.ID, - OrderBy: orderBy, - Private: showPrivate, - Page: page, - IsProfile: true, - PageSize: setting.UI.User.RepoPagingNum, - Collaborate: util.OptionalBoolFalse, - TopicOnly: topicOnly, - }) - if err != nil { - ctx.ServerError("SearchRepositoryByName", err) - return - } - - total = int(count) + repos, count, err = models.SearchRepositoryByName(&models.SearchRepoOptions{ + Keyword: keyword, + OwnerID: ctxUser.ID, + OrderBy: orderBy, + Private: ctx.IsSigned, + UserIsAdmin: ctx.IsUserSiteAdmin(), + UserID: ctx.Data["SignedUserID"].(int64), + Page: page, + IsProfile: true, + PageSize: setting.UI.User.RepoPagingNum, + Collaborate: util.OptionalBoolFalse, + TopicOnly: topicOnly, + }) + if err != nil { + ctx.ServerError("SearchRepositoryByName", err) + return } + + total = int(count) } ctx.Data["Repos"] = repos ctx.Data["Total"] = total |