From a5b0400be7c8868b685403e0718bdd66149c3e84 Mon Sep 17 00:00:00 2001 From: Unknwon Date: Sat, 5 Mar 2016 20:45:23 -0500 Subject: #1146 finish new access rights for collaborators --- routers/repo/setting.go | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'routers/repo/setting.go') diff --git a/routers/repo/setting.go b/routers/repo/setting.go index e6b3580a..cf6f6a11 100644 --- a/routers/repo/setting.go +++ b/routers/repo/setting.go @@ -142,6 +142,10 @@ func SettingsPost(ctx *middleware.Context, form auth.RepoSettingForm) { ctx.Redirect(ctx.Repo.RepoLink + "/settings") case "convert": + if !ctx.Repo.IsOwner() { + ctx.Error(404) + return + } if repo.Name != form.RepoName { ctx.RenderWithErr(ctx.Tr("form.enterred_invalid_repo_name"), SETTINGS_OPTIONS, nil) return @@ -172,6 +176,10 @@ func SettingsPost(ctx *middleware.Context, form auth.RepoSettingForm) { ctx.Redirect(setting.AppSubUrl + "/" + ctx.Repo.Owner.Name + "/" + repo.Name) case "transfer": + if !ctx.Repo.IsOwner() { + ctx.Error(404) + return + } if repo.Name != form.RepoName { ctx.RenderWithErr(ctx.Tr("form.enterred_invalid_repo_name"), SETTINGS_OPTIONS, nil) return @@ -205,7 +213,12 @@ func SettingsPost(ctx *middleware.Context, form auth.RepoSettingForm) { log.Trace("Repository transfered: %s/%s -> %s", ctx.Repo.Owner.Name, repo.Name, newOwner) ctx.Flash.Success(ctx.Tr("repo.settings.transfer_succeed")) ctx.Redirect(setting.AppSubUrl + "/" + newOwner + "/" + repo.Name) + case "delete": + if !ctx.Repo.IsOwner() { + ctx.Error(404) + return + } if repo.Name != form.RepoName { ctx.RenderWithErr(ctx.Tr("form.enterred_invalid_repo_name"), SETTINGS_OPTIONS, nil) return @@ -226,7 +239,12 @@ func SettingsPost(ctx *middleware.Context, form auth.RepoSettingForm) { ctx.Flash.Success(ctx.Tr("repo.settings.deletion_success")) ctx.Redirect(ctx.Repo.Owner.DashboardLink()) + case "delete-wiki": + if !ctx.Repo.IsOwner() { + ctx.Error(404) + return + } if repo.Name != form.RepoName { ctx.RenderWithErr(ctx.Tr("form.enterred_invalid_repo_name"), SETTINGS_OPTIONS, nil) return -- cgit v1.2.3