diff --git a/src/main/resources/update/gitbucket-core_4.11.xml b/src/main/resources/update/gitbucket-core_4.11.xml
index 6026a95..1c41d88 100644
--- a/src/main/resources/update/gitbucket-core_4.11.xml
+++ b/src/main/resources/update/gitbucket-core_4.11.xml
@@ -11,22 +11,4 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/main/resources/update/gitbucket-core_4.14.xml b/src/main/resources/update/gitbucket-core_4.14.xml
index 9f8a9a7..b73fa5b 100644
--- a/src/main/resources/update/gitbucket-core_4.14.xml
+++ b/src/main/resources/update/gitbucket-core_4.14.xml
@@ -19,4 +19,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main/scala/gitbucket/core/controller/AccountController.scala b/src/main/scala/gitbucket/core/controller/AccountController.scala
index 1ca84b7..9d45edb 100644
--- a/src/main/scala/gitbucket/core/controller/AccountController.scala
+++ b/src/main/scala/gitbucket/core/controller/AccountController.scala
@@ -170,13 +170,6 @@
context.loginAccount.exists(x => members.exists { member => member.userName == x.userName && member.isManager }))
}
- // Webhooks
- case "webhooks" =>
- gitbucket.core.account.html.webhook(account,
- if(account.isGroupAccount) Nil else getGroupsByUserName(userName),
- getAccountWebHooks(account.userName)
- )
-
// Repositories
case _ => {
val members = getGroupMembers(account.userName)
@@ -321,40 +314,50 @@
redirect(s"/${userName}/_application")
})
+ get("/:userName/_hooks")(oneselfOnly {
+ val userName = params("userName")
+ getAccountByUserName(userName).map { account =>
+ gitbucket.core.account.html.webhook(account,
+ if(account.isGroupAccount) Nil else getGroupsByUserName(userName),
+ getAccountWebHooks(account.userName)
+ )
+ } getOrElse NotFound()
+ })
+
/**
- * Display the account web hook edit page.
- */
+ * Display the account web hook edit page.
+ */
get("/:userName/_hooks/new")(oneselfOnly {
val userName = params("userName")
getAccountByUserName(userName).map { account =>
val webhook = AccountWebHook(userName, "", WebHookContentType.FORM, None)
html.edithooks(webhook, Set(WebHook.Push), account, if (account.isGroupAccount) Nil else getGroupsByUserName(userName), flash.get("info"), true)
- }
+ } getOrElse NotFound()
})
/**
- * Add the account web hook URL.
- */
+ * Add the account web hook URL.
+ */
post("/:userName/_hooks/new", accountWebHookForm(false))(oneselfOnly { form =>
val userName = params("userName")
addAccountWebHook(userName, form.url, form.events, form.ctype, form.token)
flash += "info" -> s"Webhook ${form.url} created"
- redirect(s"/${userName}?tab=webhooks")
+ redirect(s"/${userName}/_hooks")
})
/**
- * Delete the account web hook URL.
- */
+ * Delete the account web hook URL.
+ */
get("/:userName/_hooks/delete")(oneselfOnly {
val userName = params("userName")
deleteAccountWebHook(userName, params("url"))
flash += "info" -> s"Webhook ${params("url")} deleted"
- redirect(s"/${userName}?tab=webhooks")
+ redirect(s"/${userName}/_hooks")
})
/**
- * Display the account web hook edit page.
- */
+ * Display the account web hook edit page.
+ */
get("/:userName/_hooks/edit")(oneselfOnly {
val userName = params("userName")
getAccountByUserName(userName).map { account =>
@@ -365,20 +368,20 @@
})
/**
- * Update account web hook settings.
- */
+ * Update account web hook settings.
+ */
post("/:userName/_hooks/edit", accountWebHookForm(true))(oneselfOnly { form =>
val userName = params("userName")
updateAccountWebHook(userName, form.url, form.events, form.ctype, form.token)
flash += "info" -> s"webhook ${form.url} updated"
- redirect(s"/${userName}?tab=webhooks")
+ redirect(s"/${userName}/_hooks")
})
/**
- * Send the test request to registered account web hook URLs.
- */
+ * Send the test request to registered account web hook URLs.
+ */
ajaxPost("/:userName/_hooks/test")(oneselfOnly {
- import scala.collection.JavaConverters._
+ // TODO copied & pasted??
import scala.concurrent.duration._
import scala.concurrent._
import scala.util.control.NonFatal
@@ -413,7 +416,7 @@
"headers" -> _headers(req.getAllHeaders),
"payload" -> json
)).recover(toErrorMap), 20 seconds),
- "responce" -> Await.result(resFuture.map(res => Map(
+ "response" -> Await.result(resFuture.map(res => Map(
"status" -> res.getStatusLine(),
"body" -> EntityUtils.toString(res.getEntity()),
"headers" -> _headers(res.getAllHeaders())
diff --git a/src/main/scala/gitbucket/core/controller/RepositorySettingsController.scala b/src/main/scala/gitbucket/core/controller/RepositorySettingsController.scala
index 6a2795f..93fee33 100644
--- a/src/main/scala/gitbucket/core/controller/RepositorySettingsController.scala
+++ b/src/main/scala/gitbucket/core/controller/RepositorySettingsController.scala
@@ -297,7 +297,7 @@
"headers" -> _headers(req.getAllHeaders),
"payload" -> json
)).recover(toErrorMap), 20 seconds),
- "responce" -> Await.result(resFuture.map(res => Map(
+ "response" -> Await.result(resFuture.map(res => Map(
"status" -> res.getStatusLine(),
"body" -> EntityUtils.toString(res.getEntity()),
"headers" -> _headers(res.getAllHeaders())
diff --git a/src/main/twirl/gitbucket/core/account/edithooks.scala.html b/src/main/twirl/gitbucket/core/account/edithooks.scala.html
index 4b33246..f2a49cb 100644
--- a/src/main/twirl/gitbucket/core/account/edithooks.scala.html
+++ b/src/main/twirl/gitbucket/core/account/edithooks.scala.html
@@ -1,128 +1,131 @@
@(webHook: gitbucket.core.model.AccountWebHook,
-events: Set[gitbucket.core.model.WebHook.Event],
-account: gitbucket.core.model.Account,
-groupNames: List[String],
-info: Option[Any],
-create: Boolean)(implicit context: gitbucket.core.controller.Context)
+ events: Set[gitbucket.core.model.WebHook.Event],
+ account: gitbucket.core.model.Account,
+ groupNames: List[String],
+ info: Option[Any],
+ create: Boolean)(implicit context: gitbucket.core.controller.Context)
@import gitbucket.core.view.helpers
@import gitbucket.core.model.WebHook._
@import gitbucket.core.model.WebHookContentType
@check(name: String, event: Event) = {
-name="@(name).@event.name" value="on" @if(events(event)){checked}
+ name="@(name).@event.name" value="on" @if(events(event)){checked}
}
-@gitbucket.core.account.html.main(account, groupNames, "webhooks"){
-
-
Webhook / Manage webhook
-
-
-
-
-
-
-
-
request to
-
-
-
-
-
- ERROR
-
-
- Headers
-
- Payload
-
-
+@gitbucket.core.html.main("Service Hooks"){
+ @gitbucket.core.account.html.menu("hooks", context.settings.ssh){
+
+
Webhook / Manage webhook
+
-
+
+
+
+ }
}
diff --git a/src/main/twirl/gitbucket/core/account/main.scala.html b/src/main/twirl/gitbucket/core/account/main.scala.html
index 747db11..1248bee 100644
--- a/src/main/twirl/gitbucket/core/account/main.scala.html
+++ b/src/main/twirl/gitbucket/core/account/main.scala.html
@@ -43,7 +43,9 @@
} else {
Public activity
}
+ @*
Webhooks
+ *@
@gitbucket.core.plugin.PluginRegistry().getProfileTabs.map { tab =>
@tab(account, context).map { link =>
@link.label
diff --git a/src/main/twirl/gitbucket/core/account/menu.scala.html b/src/main/twirl/gitbucket/core/account/menu.scala.html
index 19470f1..4c46641 100644
--- a/src/main/twirl/gitbucket/core/account/menu.scala.html
+++ b/src/main/twirl/gitbucket/core/account/menu.scala.html
@@ -22,6 +22,12 @@
Applications
+
@gitbucket.core.plugin.PluginRegistry().getAccountSettingMenus.map { menu =>
@menu(context).map { link =>