aboutsummaryrefslogtreecommitdiffstats
path: root/routers/web/user
diff options
context:
space:
mode:
authorLunny Xiao <xiaolunwen@gmail.com>2024-02-23 15:24:04 +0800
committerGitHub <noreply@github.com>2024-02-23 07:24:04 +0000
commit3ef6252e06a1f3981f8b7d1717bfc581418b1dc5 (patch)
tree9ff3962b5b33d3f08e13259eb8d4ebc7c2f228e3 /routers/web/user
parent7fbdb60fc1152acc9a040dc04b1b0f5a3475b081 (diff)
downloadgitea-3ef6252e06a1f3981f8b7d1717bfc581418b1dc5.tar.gz
gitea-3ef6252e06a1f3981f8b7d1717bfc581418b1dc5.zip
Allow options to disable user deletion from the interface on app.ini (#29275)
Extract from #20549 This PR added a new option on app.ini `[admin]USER_DISABLED_FEATURES` to allow the site administrator to disable users visiting deletion user interface or allow. This options are also potentially allowed to define more features in future PRs. --------- Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
Diffstat (limited to 'routers/web/user')
-rw-r--r--routers/web/user/setting/account.go6
1 files changed, 6 insertions, 0 deletions
diff --git a/routers/web/user/setting/account.go b/routers/web/user/setting/account.go
index c7f194a3b5..659c3e29c1 100644
--- a/routers/web/user/setting/account.go
+++ b/routers/web/user/setting/account.go
@@ -233,6 +233,11 @@ func DeleteEmail(ctx *context.Context) {
// DeleteAccount render user suicide page and response for delete user himself
func DeleteAccount(ctx *context.Context) {
+ if setting.Admin.UserDisabledFeatures.Contains(setting.UserFeatureDeletion) {
+ ctx.Error(http.StatusNotFound)
+ return
+ }
+
ctx.Data["Title"] = ctx.Tr("settings")
ctx.Data["PageIsSettingsAccount"] = true
@@ -299,6 +304,7 @@ func loadAccountData(ctx *context.Context) {
ctx.Data["EmailNotificationsPreference"] = ctx.Doer.EmailNotificationsPreference
ctx.Data["ActivationsPending"] = pendingActivation
ctx.Data["CanAddEmails"] = !pendingActivation || !setting.Service.RegisterEmailConfirm
+ ctx.Data["UserDisabledFeatures"] = &setting.Admin.UserDisabledFeatures
if setting.Service.UserDeleteWithCommentsMaxTime != 0 {
ctx.Data["UserDeleteWithCommentsMaxTime"] = setting.Service.UserDeleteWithCommentsMaxTime.String()