From 8962b39648a7ac8895b4281b428a1091c410f8f0 Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 19 Feb 2014 21:45:43 -0500 Subject: [PATCH] Add routers for create and delete repo --- routers/repo/repo.go | 44 ++++++++++++++++++++++++++++++++++++++ routers/user/user.go | 9 +++++++- templates/repo/create.tmpl | 12 +++++++++++ templates/repo/delete.tmpl | 12 +++++++++++ templates/user/delete.tmpl | 12 +++++++++++ web.go | 3 +++ 6 files changed, 91 insertions(+), 1 deletion(-) create mode 100644 routers/repo/repo.go create mode 100644 templates/repo/create.tmpl create mode 100644 templates/repo/delete.tmpl create mode 100644 templates/user/delete.tmpl diff --git a/routers/repo/repo.go b/routers/repo/repo.go new file mode 100644 index 00000000..cf79d539 --- /dev/null +++ b/routers/repo/repo.go @@ -0,0 +1,44 @@ +// Copyright 2014 The Gogs Authors. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +package repo + +import ( + "fmt" + "net/http" + + "github.com/martini-contrib/render" + + "github.com/gogits/gogs/models" +) + +func Create(req *http.Request, r render.Render) { + if req.Method == "GET" { + r.HTML(200, "repo/create", map[string]interface{}{ + "Title": "Create repository", + }) + return + } + + u := &models.User{} + _, err := models.CreateRepository(u, "") + r.HTML(403, "status/403", map[string]interface{}{ + "Title": fmt.Sprintf("%v", err), + }) +} + +func Delete(req *http.Request, r render.Render) { + if req.Method == "GET" { + r.HTML(200, "repo/delete", map[string]interface{}{ + "Title": "Delete repository", + }) + return + } + + u := &models.User{} + err := models.DeleteRepository(u, "") + r.HTML(403, "status/403", map[string]interface{}{ + "Title": fmt.Sprintf("%v", err), + }) +} diff --git a/routers/user/user.go b/routers/user/user.go index 35666012..6fafcc47 100644 --- a/routers/user/user.go +++ b/routers/user/user.go @@ -52,7 +52,14 @@ func SignUp(req *http.Request, r render.Render) { }) } -func Delete(r render.Render) { +func Delete(req *http.Request, r render.Render) { + if req.Method == "GET" { + r.HTML(200, "user/delete", map[string]interface{}{ + "Title": "Delete user", + }) + return + } + u := &models.User{} err := models.DeleteUser(u) r.HTML(403, "status/403", map[string]interface{}{ diff --git a/templates/repo/create.tmpl b/templates/repo/create.tmpl new file mode 100644 index 00000000..4ec4f6f1 --- /dev/null +++ b/templates/repo/create.tmpl @@ -0,0 +1,12 @@ +{{template "base/head" .}} +{{template "base/navbar" .}} +
+
+
+
+ +
+
+
+
+{{template "base/footer" .}} \ No newline at end of file diff --git a/templates/repo/delete.tmpl b/templates/repo/delete.tmpl new file mode 100644 index 00000000..0b95c3fb --- /dev/null +++ b/templates/repo/delete.tmpl @@ -0,0 +1,12 @@ +{{template "base/head" .}} +{{template "base/navbar" .}} +
+
+
+
+ +
+
+
+
+{{template "base/footer" .}} \ No newline at end of file diff --git a/templates/user/delete.tmpl b/templates/user/delete.tmpl new file mode 100644 index 00000000..55993633 --- /dev/null +++ b/templates/user/delete.tmpl @@ -0,0 +1,12 @@ +{{template "base/head" .}} +{{template "base/navbar" .}} +
+
+
+
+ +
+
+
+
+{{template "base/footer" .}} \ No newline at end of file diff --git a/web.go b/web.go index 17e7cbfe..1d36e8a1 100644 --- a/web.go +++ b/web.go @@ -14,6 +14,7 @@ import ( "github.com/martini-contrib/render" "github.com/gogits/gogs/routers" + "github.com/gogits/gogs/routers/repo" "github.com/gogits/gogs/routers/user" "github.com/gogits/gogs/utils" "github.com/gogits/gogs/utils/log" @@ -50,6 +51,8 @@ func runWeb(*cli.Context) { m.Get("/user/signin", user.SignIn) m.Any("/user/signup", user.SignUp) m.Any("/user/delete", user.Delete) + m.Any("/repo/create", repo.Create) + m.Any("/repo/delete", repo.Delete) listenAddr := fmt.Sprintf("%s:%s", utils.Cfg.MustValue("server", "HTTP_ADDR"),