aboutsummaryrefslogtreecommitdiff
path: root/models
diff options
context:
space:
mode:
authorUnknwon <u@gogs.io>2017-07-14 18:51:23 -0400
committerUnknwon <u@gogs.io>2017-07-14 18:51:23 -0400
commite02fac4968574694927859105e67aac3f665481d (patch)
tree80dc3c4970e817d97683e232eb51b21388b72fcc /models
parent5a88546a8040c2f56b9cd924b2d4d5b180a63159 (diff)
repo: fix panic on pull request submit (#4572)
Diffstat (limited to 'models')
-rw-r--r--models/repo.go9
-rw-r--r--models/user.go2
2 files changed, 7 insertions, 4 deletions
diff --git a/models/repo.go b/models/repo.go
index 88932449..5a4deba4 100644
--- a/models/repo.go
+++ b/models/repo.go
@@ -2257,10 +2257,13 @@ func (repo *Repository) GetStargazers(page int) ([]*User, error) {
// HasForkedRepo checks if given user has already forked a repository.
// When user has already forked, it returns true along with the repository.
-func HasForkedRepo(ownerID, repoID int64) (*Repository, bool) {
+func HasForkedRepo(ownerID, repoID int64) (*Repository, bool, error) {
repo := new(Repository)
- has, _ := x.Where("owner_id = ? AND fork_id = ?", ownerID, repoID).Get(repo)
- return repo, has
+ has, err := x.Where("owner_id = ? AND fork_id = ?", ownerID, repoID).Get(repo)
+ if err != nil {
+ return nil, false, err
+ }
+ return repo, has, repo.LoadAttributes()
}
// ForkRepository creates a fork of target repository under another user domain.
diff --git a/models/user.go b/models/user.go
index c4be871e..e67def02 100644
--- a/models/user.go
+++ b/models/user.go
@@ -137,7 +137,7 @@ func (u *User) IsLocal() bool {
// HasForkedRepo checks if user has already forked a repository with given ID.
func (u *User) HasForkedRepo(repoID int64) bool {
- _, has := HasForkedRepo(u.ID, repoID)
+ _, has, _ := HasForkedRepo(u.ID, repoID)
return has
}