diff options
Diffstat (limited to 'routers/repo/repo.go')
-rw-r--r-- | routers/repo/repo.go | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/routers/repo/repo.go b/routers/repo/repo.go index ebbce1e19c..dbe78f6d1e 100644 --- a/routers/repo/repo.go +++ b/routers/repo/repo.go @@ -34,6 +34,21 @@ func MustBeNotBare(ctx *context.Context) { } } +// MustBeEditable check that repo can be edited +func MustBeEditable(ctx *context.Context) { + if !ctx.Repo.Repository.CanEnableEditor() || ctx.Repo.IsViewCommit { + ctx.Handle(404, "", nil) + return + } +} + +// MustBeAbleToUpload check that repo can be uploaded to +func MustBeAbleToUpload(ctx *context.Context) { + if !setting.Repository.Upload.Enabled { + ctx.Handle(404, "", nil) + } +} + func checkContextUser(ctx *context.Context, uid int64) *models.User { orgs, err := models.GetOwnedOrgsByUserIDDesc(ctx.User.ID, "updated_unix") if err != nil { |