aboutsummaryrefslogtreecommitdiffstats
path: root/routers
diff options
context:
space:
mode:
author6543 <6543@obermui.de>2021-06-27 20:47:35 +0200
committerGitHub <noreply@github.com>2021-06-27 19:47:35 +0100
commit0b27b93728fd3cf2ecc82ac6a2b5859270543ef2 (patch)
treeadbbc5eaec25e5e2c88068d45e3fa75435431dfe /routers
parent2a98ec1c3cd2f8396f3b5148fc8c796802f9c236 (diff)
downloadgitea-0b27b93728fd3cf2ecc82ac6a2b5859270543ef2.tar.gz
gitea-0b27b93728fd3cf2ecc82ac6a2b5859270543ef2.zip
Make allowed Visiblity modes configurable for Users (#16271)
Now that #16069 is merged, some sites may wish to enforce that users are all public, limited or private, and/or disallow users from becoming private. This PR adds functionality and settings to constrain a user's ability to change their visibility. Co-authored-by: zeripath <art27@cantab.net>
Diffstat (limited to 'routers')
-rw-r--r--routers/web/admin/users.go2
-rw-r--r--routers/web/admin/users_test.go4
-rw-r--r--routers/web/user/setting/profile.go1
3 files changed, 3 insertions, 4 deletions
diff --git a/routers/web/admin/users.go b/routers/web/admin/users.go
index dc2a97e526..e1903ab1df 100644
--- a/routers/web/admin/users.go
+++ b/routers/web/admin/users.go
@@ -52,6 +52,7 @@ func NewUser(ctx *context.Context) {
ctx.Data["PageIsAdmin"] = true
ctx.Data["PageIsAdminUsers"] = true
ctx.Data["DefaultUserVisibilityMode"] = setting.Service.DefaultUserVisibilityMode
+ ctx.Data["AllowedUserVisibilityModes"] = setting.Service.AllowedUserVisibilityModesSlice.ToVisibleTypeSlice()
ctx.Data["login_type"] = "0-0"
@@ -211,6 +212,7 @@ func EditUser(ctx *context.Context) {
ctx.Data["PageIsAdminUsers"] = true
ctx.Data["DisableRegularOrgCreation"] = setting.Admin.DisableRegularOrgCreation
ctx.Data["DisableMigrations"] = setting.Repository.DisableMigrations
+ ctx.Data["AllowedUserVisibilityModes"] = setting.Service.AllowedUserVisibilityModesSlice.ToVisibleTypeSlice()
prepareUserInfo(ctx)
if ctx.Written() {
diff --git a/routers/web/admin/users_test.go b/routers/web/admin/users_test.go
index 17c5a309b4..5ce20d8fa7 100644
--- a/routers/web/admin/users_test.go
+++ b/routers/web/admin/users_test.go
@@ -56,7 +56,6 @@ func TestNewUserPost_MustChangePassword(t *testing.T) {
}
func TestNewUserPost_MustChangePasswordFalse(t *testing.T) {
-
models.PrepareTestEnv(t)
ctx := test.MockContext(t, "admin/users/new")
@@ -94,7 +93,6 @@ func TestNewUserPost_MustChangePasswordFalse(t *testing.T) {
}
func TestNewUserPost_InvalidEmail(t *testing.T) {
-
models.PrepareTestEnv(t)
ctx := test.MockContext(t, "admin/users/new")
@@ -125,7 +123,6 @@ func TestNewUserPost_InvalidEmail(t *testing.T) {
}
func TestNewUserPost_VisiblityDefaultPublic(t *testing.T) {
-
models.PrepareTestEnv(t)
ctx := test.MockContext(t, "admin/users/new")
@@ -164,7 +161,6 @@ func TestNewUserPost_VisiblityDefaultPublic(t *testing.T) {
}
func TestNewUserPost_VisibilityPrivate(t *testing.T) {
-
models.PrepareTestEnv(t)
ctx := test.MockContext(t, "admin/users/new")
diff --git a/routers/web/user/setting/profile.go b/routers/web/user/setting/profile.go
index 463c4ec203..682f920578 100644
--- a/routers/web/user/setting/profile.go
+++ b/routers/web/user/setting/profile.go
@@ -38,6 +38,7 @@ const (
func Profile(ctx *context.Context) {
ctx.Data["Title"] = ctx.Tr("settings")
ctx.Data["PageIsSettingsProfile"] = true
+ ctx.Data["AllowedUserVisibilityModes"] = setting.Service.AllowedUserVisibilityModesSlice.ToVisibleTypeSlice()
ctx.HTML(http.StatusOK, tplSettingsProfile)
}