diff --git a/src/main/scala/gitbucket/core/controller/AccountController.scala b/src/main/scala/gitbucket/core/controller/AccountController.scala index ef6ba46..b04ce63 100644 --- a/src/main/scala/gitbucket/core/controller/AccountController.scala +++ b/src/main/scala/gitbucket/core/controller/AccountController.scala @@ -360,6 +360,7 @@ // FileUtils.deleteDirectory(getWikiRepositoryDir(userName, repositoryName)) // FileUtils.deleteDirectory(getTemporaryDir(userName, repositoryName)) // } + suspendAccount(account) session.invalidate redirect("/") } diff --git a/src/main/scala/gitbucket/core/service/AccountService.scala b/src/main/scala/gitbucket/core/service/AccountService.scala index 3728455..1fc1e6f 100644 --- a/src/main/scala/gitbucket/core/service/AccountService.scala +++ b/src/main/scala/gitbucket/core/service/AccountService.scala @@ -181,6 +181,15 @@ description = description ) + def suspendAccount(account: Account)(implicit s: Session): Unit ={ + // Remove from GROUP_MEMBER and COLLABORATOR + removeUserRelatedData(account.userName) + updateAccount(account.copy(isRemoved = true)) + + // call hooks + PluginRegistry().getAccountHooks.foreach(_.deleted(account.userName)) + } + def updateAccount(account: Account)(implicit s: Session): Unit = Accounts .filter { a =>