From 2158e6fc43a17e8290f2ae1123d67ba01fab0f3f Mon Sep 17 00:00:00 2001 From: Unknwon Date: Thu, 19 Nov 2015 11:40:00 -0500 Subject: [PATCH] fix #1997 --- gogs.go | 2 +- models/access.go | 22 +++++++++++----------- modules/middleware/repo.go | 2 +- templates/.VERSION | 2 +- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/gogs.go b/gogs.go index af403e0006..4e3cf117d2 100644 --- a/gogs.go +++ b/gogs.go @@ -17,7 +17,7 @@ import ( "github.com/gogits/gogs/modules/setting" ) -const APP_VER = "0.7.18.1118 Beta" +const APP_VER = "0.7.18.1119 Beta" func init() { runtime.GOMAXPROCS(runtime.NumCPU()) diff --git a/models/access.go b/models/access.go index 8a7729b734..5eef32819e 100644 --- a/models/access.go +++ b/models/access.go @@ -36,19 +36,19 @@ func accessLevel(e Engine, u *User, repo *Repository) (AccessMode, error) { mode = ACCESS_MODE_READ } - if u != nil { - if u.Id == repo.OwnerID { - return ACCESS_MODE_OWNER, nil - } - - a := &Access{UserID: u.Id, RepoID: repo.ID} - if has, err := e.Get(a); !has || err != nil { - return mode, err - } - return a.Mode, nil + if u == nil { + return mode, nil } - return mode, nil + if u.Id == repo.OwnerID { + return ACCESS_MODE_OWNER, nil + } + + a := &Access{UserID: u.Id, RepoID: repo.ID} + if has, err := e.Get(a); !has || err != nil { + return mode, err + } + return a.Mode, nil } // AccessLevel returns the Access a user has to a repository. Will return NoneAccess if the diff --git a/modules/middleware/repo.go b/modules/middleware/repo.go index a78e079d8d..7780fa5cd5 100644 --- a/modules/middleware/repo.go +++ b/modules/middleware/repo.go @@ -275,7 +275,7 @@ func RepoAssignment(redirect bool, args ...bool) macaron.Handler { } // Admin has super access. - if ctx.User.IsAdmin { + if ctx.IsSigned && ctx.User.IsAdmin { ctx.Repo.AccessMode = models.ACCESS_MODE_OWNER } else { mode, err := models.AccessLevel(ctx.User, repo) diff --git a/templates/.VERSION b/templates/.VERSION index a2ed39f2d9..aa65a45b56 100644 --- a/templates/.VERSION +++ b/templates/.VERSION @@ -1 +1 @@ -0.7.18.1118 Beta \ No newline at end of file +0.7.18.1119 Beta \ No newline at end of file