api/repo: load attributes when listing user repositories (#4565)

pull/4584/head
Unknwon 2017-06-21 17:41:18 -04:00
parent f59500a90b
commit 11b1498a6e
No known key found for this signature in database
GPG Key ID: 25B575AE3213B2B3
5 changed files with 12 additions and 6 deletions

View File

@ -16,7 +16,7 @@ import (
"github.com/gogits/gogs/pkg/setting"
)
const APP_VER = "0.11.21.0611"
const APP_VER = "0.11.22.0621"
func init() {
setting.AppVer = APP_VER

View File

@ -112,14 +112,12 @@ func (u *User) GetRepositoryAccesses() (map[*Repository]AccessMode, error) {
repo, err := GetRepositoryByID(access.RepoID)
if err != nil {
if errors.IsRepoNotExist(err) {
log.Error(4, "GetRepositoryByID: %v", err)
log.Error(2, "GetRepositoryByID: %v", err)
continue
}
return nil, err
}
if err = repo.GetOwner(); err != nil {
return nil, err
} else if repo.OwnerID == u.ID {
if repo.OwnerID == u.ID {
continue
}
repos[repo] = access.Mode

View File

@ -282,6 +282,8 @@ func (repo *Repository) HTMLURL() string {
return setting.AppURL + repo.FullName()
}
// This method assumes following fields have been assigned with valid values:
// Required - BaseRepo (if fork)
// Arguments that are allowed to be nil: permission
func (repo *Repository) APIFormat(permission *api.Permission) *api.Repository {
cloneLink := repo.CloneLink()

View File

@ -101,6 +101,12 @@ func listUserRepositories(c *context.APIContext, username string) {
return
}
if err = models.RepositoryList(ownRepos).LoadAttributes(); err != nil {
c.Error(500, "LoadAttributes(ownRepos)", err)
return
}
// Early return for querying other user's repositories
if c.User.ID != user.ID {
repos := make([]*api.Repository, len(ownRepos))
for i := range ownRepos {

View File

@ -1 +1 @@
0.11.21.0611
0.11.22.0621