From e3bdfd51ff4a3987c9c14d46d4c145f550b42d01 Mon Sep 17 00:00:00 2001 From: Unknwon Date: Sat, 8 Aug 2015 17:24:10 +0800 Subject: better fork permission check --- models/repo.go | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'models') diff --git a/models/repo.go b/models/repo.go index 910ccee3..8135bc57 100644 --- a/models/repo.go +++ b/models/repo.go @@ -1421,6 +1421,13 @@ func IsStaring(uid, repoId int64) bool { // \___ / \____/|__| |__|_ \ // \/ \/ +// HasForkedRepo checks if given user has already forked a repository with given ID. +func HasForkedRepo(ownerID, repoID int64) (*Repository, bool) { + repo := new(Repository) + has, _ := x.Where("owner_id=? AND fork_id=?", ownerID, repoID).Get(repo) + return repo, has +} + func ForkRepository(u *User, oldRepo *Repository, name, desc string) (_ *Repository, err error) { repo := &Repository{ OwnerId: u.Id, -- cgit v1.2.3