Browse Source

finish webhook ui,
some ui fix

FuXiaoHei 11 years ago
parent
commit
d34c3bb751
4 changed files with 83 additions and 1 deletions
  1. 1 0
      cmd/web.go
  2. 11 0
      routers/repo/setting.go
  3. 1 1
      templates/admin/nav.tmpl
  4. 70 0
      templates/repo/hooks_edit.tmpl

+ 1 - 0
cmd/web.go

@@ -163,6 +163,7 @@ func runWeb(*cli.Context) {
 		r.Post("/settings/collaboration", repo.CollaborationPost)
 		r.Get("/settings/hooks", repo.WebHooks)
 		r.Get("/settings/hooks/add", repo.WebHooksAdd)
+		r.Get("/settings/hooks/id", repo.WebHooksEdit)
 		r.Get("/action/:action", repo.Action)
 		r.Get("/issues/new", repo.CreateIssue)
 		r.Post("/issues/new", bindIgnErr(auth.CreateIssueForm{}), repo.CreateIssuePost)

+ 11 - 0
routers/repo/setting.go

@@ -235,3 +235,14 @@ func WebHooksAdd(ctx *middleware.Context) {
 	ctx.Data["Title"] = strings.TrimPrefix(ctx.Repo.RepoLink, "/") + " - Add Web Hook"
 	ctx.HTML(200, "repo/hooks_add")
 }
+
+func WebHooksEdit(ctx *middleware.Context) {
+	if !ctx.Repo.IsOwner {
+		ctx.Handle(404, "repo.WebHooksEdit", nil)
+		return
+	}
+
+	ctx.Data["IsRepoToolbarWebHooks"] = true
+	ctx.Data["Title"] = strings.TrimPrefix(ctx.Repo.RepoLink, "/") + " - Web Hook Name"
+	ctx.HTML(200, "repo/hooks_edit")
+}

+ 1 - 1
templates/admin/nav.tmpl

@@ -4,6 +4,6 @@
         <li class="list-group-item{{if .PageIsUsers}} active{{end}}"><a href="/admin/users"><i class="fa fa-users fa-lg"></i> Users</a></li>
         <li class="list-group-item{{if .PageIsRepos}} active{{end}}"><a href="/admin/repos"><i class="fa fa-book fa-lg"></i> Repositories</a></li>
         <li class="list-group-item{{if .PageIsConfig}} active{{end}}"><a href="/admin/config"><i class="fa fa-cogs fa-lg"></i> Configuration</a></li>
-        <li class="list-group-item{{if .PageIsAuths}} active{{end}}"><a href="/admin/auths"><i class="fa fa-cogs fa-lg"></i> Authentication</a></li>
+        <li class="list-group-item{{if .PageIsAuths}} active{{end}}"><a href="/admin/auths"><i class="fa fa-check-square-o fa-lg"></i> Authentication</a></li>
     </ul>
 </div>

+ 70 - 0
templates/repo/hooks_edit.tmpl

@@ -0,0 +1,70 @@
+{{template "base/head" .}}
+{{template "base/navbar" .}}
+{{template "repo/nav" .}}
+{{template "repo/toolbar" .}}
+<div id="body" class="container">
+    {{template "repo/setting_nav" .}}
+    <div id="repo-setting-container" class="col-md-10">
+        {{template "base/alert" .}}
+        <form id="repo-hooks-edit-form" action="/{{.Owner.Name}}/{{.Repository.Name}}/settings/hooks/edit" method="post">
+            <div class="panel panel-default">
+                <div class="panel-heading">
+                    Manage Webhook
+                </div>
+                <div class="panel-body">
+                    <div class="col-md-7">
+                        <p>We’ll send a POST request to the URL below with details of any subscribed events.</p>
+                        <hr/>
+                        <div class="form-group">
+                            <label for="payload-url">Payload URL</label>
+                            <input id="payload-url" class="form-control" type="url" required="required" name="url"/>
+                        </div>
+                        <div class="form-group">
+                            <label for="payload-version">Payload Version</label>
+                            <select name="version" id="payload-version" class="form-control">
+                                <option value="json">application/json</option>
+                            </select>
+                        </div>
+                        <div class="form-group">
+                            <label for="payload-secret">Secret</label>
+                            <input id="payload-secret" class="form-control" type="text" required="required" name="secret"/>
+                        </div>
+                        <hr/>
+                        <div class="form-group">
+                            <label>Which events would you like to trigger this webhook?</label>
+
+                            <div class="radio">
+                                <label>
+                                    <input class="form-control" type="radio" value="push" name="trigger"/> Just the
+                                    <i>push</i> event.
+                                </label>
+                            </div>
+                        </div>
+                        <hr/>
+                        <div class="form-group">
+                            <label>
+                                <input type="checkbox" name="active" value="Active" checked/>&nbsp;&nbsp;
+                                Active
+                            </label>
+
+                            <p class="help-block">We will deliver event details when this hook is triggered.</p>
+                        </div>
+                    </div>
+                </div>
+                <div class="panel-footer">
+                    <button class="btn btn-primary">Update Webhook</button>&nbsp;&nbsp;
+                    <a href="/{{.Owner.Name}}/{{.Repository.Name}}/settings/hooks?remove="><button class="btn btn-danger">Delete Webhook</button></a>
+                </div>
+            </div>
+        </form>
+        <div class="panel panel-default">
+        	  <div class="panel-heading">
+        			<h3 class="panel-title">Recent Deliveries</h3>
+        	  </div>
+        	  <div class="panel-body">
+        			Coming soon
+        	  </div>
+        </div>
+    </div>
+</div>
+{{template "base/footer" .}}