Jelajahi Sumber

Add routers for create and delete repo

Unknown 11 tahun lalu
induk
melakukan
8962b39648
6 mengubah file dengan 91 tambahan dan 1 penghapusan
  1. 44 0
      routers/repo/repo.go
  2. 8 1
      routers/user/user.go
  3. 12 0
      templates/repo/create.tmpl
  4. 12 0
      templates/repo/delete.tmpl
  5. 12 0
      templates/user/delete.tmpl
  6. 3 0
      web.go

+ 44 - 0
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),
+	})
+}

+ 8 - 1
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{}{

+ 12 - 0
templates/repo/create.tmpl

@@ -0,0 +1,12 @@
+{{template "base/head" .}}
+{{template "base/navbar" .}}
+<div class="container">
+	<form action="/repo/create" method="post" class="form-horizontal">
+		<div class="form-group">
+		    <div class="col-md-offset-4 col-md-3">
+		    	<button type="submit" class="btn btn-info">Create repository</button>
+		    </div>
+		</div>
+	</form>
+</div>
+{{template "base/footer" .}}

+ 12 - 0
templates/repo/delete.tmpl

@@ -0,0 +1,12 @@
+{{template "base/head" .}}
+{{template "base/navbar" .}}
+<div class="container">
+	<form action="/repo/delete" method="post" class="form-horizontal">
+		<div class="form-group">
+		    <div class="col-md-offset-4 col-md-3">
+		    	<button type="submit" class="btn btn-danger">Delete repository</button>
+		    </div>
+		</div>
+	</form>
+</div>
+{{template "base/footer" .}}

+ 12 - 0
templates/user/delete.tmpl

@@ -0,0 +1,12 @@
+{{template "base/head" .}}
+{{template "base/navbar" .}}
+<div class="container">
+	<form action="/user/delete" method="post" class="form-horizontal">
+		<div class="form-group">
+		    <div class="col-md-offset-4 col-md-3">
+		    	<button type="submit" class="btn btn-danger">Delete user</button>
+		    </div>
+		</div>
+	</form>
+</div>
+{{template "base/footer" .}}

+ 3 - 0
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"),