Browse Source

fix: 500 error on /explore/repos page. (#946)

for-closed-social
Bo-Yi Wu 7 years ago
committed by Lunny Xiao
parent
commit
a31f64d639
2 changed files with 21 additions and 23 deletions
  1. +14
    -17
      models/repo.go
  2. +7
    -6
      routers/user/profile.go

+ 14
- 17
models/repo.go View File

@ -1198,10 +1198,8 @@ func Repositories(opts *SearchRepoOptions) (_ RepositoryList, err error) {
return nil, fmt.Errorf("Repo: %v", err) return nil, fmt.Errorf("Repo: %v", err)
} }
if opts.Searcher != nil || opts.Starred {
if err = repos.loadAttributes(x); err != nil {
return nil, fmt.Errorf("LoadAttributes: %v", err)
}
if err = repos.loadAttributes(x); err != nil {
return nil, fmt.Errorf("LoadAttributes: %v", err)
} }
return repos, nil return repos, nil
@ -1743,10 +1741,8 @@ func GetRecentUpdatedRepositories(opts *SearchRepoOptions) (repos RepositoryList
return nil, fmt.Errorf("Repo: %v", err) return nil, fmt.Errorf("Repo: %v", err)
} }
if opts.Searcher != nil || opts.Starred {
if err = repos.loadAttributes(x); err != nil {
return nil, fmt.Errorf("LoadAttributes: %v", err)
}
if err = repos.loadAttributes(x); err != nil {
return nil, fmt.Errorf("LoadAttributes: %v", err)
} }
return repos, nil return repos, nil
@ -1781,14 +1777,15 @@ func GetPrivateRepositoryCount(u *User) (int64, error) {
// SearchRepoOptions holds the search options // SearchRepoOptions holds the search options
type SearchRepoOptions struct { type SearchRepoOptions struct {
Keyword string
OwnerID int64
Searcher *User //ID of the person who's seeking
OrderBy string
Private bool // Include private repositories in results
Starred bool
Page int
PageSize int // Can be smaller than or equal to setting.ExplorePagingNum
Keyword string
OwnerID int64
Searcher *User //ID of the person who's seeking
OrderBy string
Private bool // Include private repositories in results
Starred bool
Page int
IsProfile bool
PageSize int // Can be smaller than or equal to setting.ExplorePagingNum
} }
// SearchRepositoryByName takes keyword and part of repository name to search, // SearchRepositoryByName takes keyword and part of repository name to search,
@ -1856,7 +1853,7 @@ func SearchRepositoryByName(opts *SearchRepoOptions) (repos RepositoryList, _ in
return nil, 0, fmt.Errorf("Repo: %v", err) return nil, 0, fmt.Errorf("Repo: %v", err)
} }
if opts.Searcher != nil || opts.Starred {
if !opts.IsProfile {
if err = repos.loadAttributes(x); err != nil { if err = repos.loadAttributes(x); err != nil {
return nil, 0, fmt.Errorf("LoadAttributes: %v", err) return nil, 0, fmt.Errorf("LoadAttributes: %v", err)
} }

+ 7
- 6
routers/user/profile.go View File

@ -192,12 +192,13 @@ func Profile(ctx *context.Context) {
ctx.Data["Total"] = total ctx.Data["Total"] = total
} else { } else {
repos, count, err = models.SearchRepositoryByName(&models.SearchRepoOptions{ repos, count, err = models.SearchRepositoryByName(&models.SearchRepoOptions{
Keyword: keyword,
OwnerID: ctxUser.ID,
OrderBy: orderBy,
Private: showPrivate,
Page: page,
PageSize: setting.UI.User.RepoPagingNum,
Keyword: keyword,
OwnerID: ctxUser.ID,
OrderBy: orderBy,
Private: showPrivate,
Page: page,
IsProfile: true,
PageSize: setting.UI.User.RepoPagingNum,
}) })
if err != nil { if err != nil {
ctx.Handle(500, "SearchRepositoryByName", err) ctx.Handle(500, "SearchRepositoryByName", err)

Loading…
Cancel
Save