diff options
author | Lunny Xiao <xiaolunwen@gmail.com> | 2014-04-05 15:30:49 +0800 |
---|---|---|
committer | Lunny Xiao <xiaolunwen@gmail.com> | 2014-04-05 15:30:49 +0800 |
commit | a92826a8feee904440d86fd851ac4ecce35520fd (patch) | |
tree | e813b36b2b6db0807e02abd61a4f220a971cc84e /routers/repo | |
parent | 493b0c5ac212a28f46938cf8dfb2efb79f658548 (diff) | |
parent | e41ab839c7dbbdffc60a4e02775f24add9d126d9 (diff) | |
download | gitea-a92826a8feee904440d86fd851ac4ecce35520fd.tar.gz gitea-a92826a8feee904440d86fd851ac4ecce35520fd.zip |
Merge branch 'dev' of github.com:gogits/gogs into dev
Conflicts:
routers/repo/repo.go
Diffstat (limited to 'routers/repo')
-rw-r--r-- | routers/repo/repo.go | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/routers/repo/repo.go b/routers/repo/repo.go index cb7febd210..b6a5d1780c 100644 --- a/routers/repo/repo.go +++ b/routers/repo/repo.go @@ -338,10 +338,11 @@ func Http(ctx *middleware.Context, params martini.Params) { } } + dir := models.RepoPath(username, reponame) + prefix := path.Join("/", username, params["reponame"]) server := webdav.NewServer( - models.RepoPath(username, reponame), - prefix, true) + dir, prefix, true) server.ServeHTTP(ctx.ResponseWriter, ctx.Req) } @@ -406,6 +407,29 @@ func SettingPost(ctx *middleware.Context) { ctx.HTML(200, "repo/setting") } log.Trace("%s Repository updated: %s/%s", ctx.Req.RequestURI, ctx.Repo.Owner.Name, ctx.Repo.Repository.Name) + case "transfer": + if len(ctx.Repo.Repository.Name) == 0 || ctx.Repo.Repository.Name != ctx.Query("repository") { + ctx.RenderWithErr("Please make sure you entered repository name is correct.", "repo/setting", nil) + return + } + + newOwner := ctx.Query("owner") + // Check if new owner exists. + isExist, err := models.IsUserExist(newOwner) + if err != nil { + ctx.Handle(404, "repo.SettingPost(transfer: check existence)", err) + return + } else if !isExist { + ctx.RenderWithErr("Please make sure you entered owner name is correct.", "repo/setting", nil) + return + } else if err = models.TransferOwnership(ctx.User, newOwner, ctx.Repo.Repository); err != nil { + ctx.Handle(404, "repo.SettingPost(transfer repository)", err) + return + } + log.Trace("%s Repository transfered: %s/%s -> %s", ctx.Req.RequestURI, ctx.User.Name, ctx.Repo.Repository.Name, newOwner) + + ctx.Redirect("/") + return case "delete": if len(ctx.Repo.Repository.Name) == 0 || ctx.Repo.Repository.Name != ctx.Query("repository") { ctx.RenderWithErr("Please make sure you entered repository name is correct.", "repo/setting", nil) |