summaryrefslogtreecommitdiffstats
path: root/modules/middleware/repo.go
diff options
context:
space:
mode:
authorUnknwon <u@gogs.io>2015-11-27 01:50:38 -0500
committerUnknwon <u@gogs.io>2015-11-27 01:50:38 -0500
commite42fcb033d4a7ee44fe397be3e933d7031b7d8f7 (patch)
treea203fff39c92f947c4585a746e2345b3ebc67b3c /modules/middleware/repo.go
parent392f3ee21016476fb9794f78882d6c447acb8449 (diff)
downloadgitea-e42fcb033d4a7ee44fe397be3e933d7031b7d8f7.tar.gz
gitea-e42fcb033d4a7ee44fe397be3e933d7031b7d8f7.zip
wiki: finish edit
Diffstat (limited to 'modules/middleware/repo.go')
-rw-r--r--modules/middleware/repo.go18
1 files changed, 12 insertions, 6 deletions
diff --git a/modules/middleware/repo.go b/modules/middleware/repo.go
index 210e563730..84c3f1d4f0 100644
--- a/modules/middleware/repo.go
+++ b/modules/middleware/repo.go
@@ -6,7 +6,6 @@ package middleware
import (
"fmt"
- "net/url"
"path"
"strings"
@@ -225,6 +224,8 @@ func RetrieveBaseRepo(ctx *Context, repo *models.Repository) {
func RepoAssignment(args ...bool) macaron.Handler {
return func(ctx *Context) {
+ ctx.Repo = &RepoContext{}
+
var (
displayBare bool // To display bare page if it is a bare repo.
)
@@ -335,6 +336,7 @@ func RepoAssignment(args ...bool) macaron.Handler {
ctx.Data["Owner"] = ctx.Repo.Repository.Owner
ctx.Data["IsRepositoryOwner"] = ctx.Repo.IsOwner()
ctx.Data["IsRepositoryAdmin"] = ctx.Repo.IsAdmin()
+ ctx.Data["IsRepositoryPusher"] = ctx.Repo.IsPusher()
ctx.Data["DisableSSH"] = setting.DisableSSH
ctx.Repo.CloneLink, err = repo.CloneLink()
@@ -397,11 +399,15 @@ func RepoAssignment(args ...bool) macaron.Handler {
func RequireRepoAdmin() macaron.Handler {
return func(ctx *Context) {
if !ctx.Repo.IsAdmin() {
- if !ctx.IsSigned {
- ctx.SetCookie("redirect_to", "/"+url.QueryEscape(setting.AppSubUrl+ctx.Req.RequestURI), 0, setting.AppSubUrl)
- ctx.Redirect(setting.AppSubUrl + "/user/login")
- return
- }
+ ctx.Handle(404, ctx.Req.RequestURI, nil)
+ return
+ }
+ }
+}
+
+func RequireRepoPusher() macaron.Handler {
+ return func(ctx *Context) {
+ if !ctx.Repo.IsPusher() {
ctx.Handle(404, ctx.Req.RequestURI, nil)
return
}