This is an automated email from the ASF dual-hosted git repository.
kentontaylor pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/allura.git
The following commit(s) were added to refs/heads/master by this push:
new fb976605c Only activate+enable users exactly when needed
fb976605c is described below
commit fb976605c51c252074dcca8f9436bc30cc561886
Author: Dave Brondsema <[email protected]>
AuthorDate: Wed Jun 29 14:32:58 2022 -0400
Only activate+enable users exactly when needed
---
Allura/allura/controllers/site_admin.py | 14 ++++++++++----
Allura/allura/tests/functional/test_site_admin.py | 2 +-
Allura/development.ini | 1 +
3 files changed, 12 insertions(+), 5 deletions(-)
diff --git a/Allura/allura/controllers/site_admin.py
b/Allura/allura/controllers/site_admin.py
index 64fe690e3..d7b2cf97a 100644
--- a/Allura/allura/controllers/site_admin.py
+++ b/Allura/allura/controllers/site_admin.py
@@ -705,15 +705,21 @@ class AdminUserDetailsController:
if not user or user.is_anonymous():
raise HTTPNotFound()
if status == 'enable' and (user.disabled or user.pending):
- AuthenticationProvider.get(request).activate_user(user,
audit=False)
- AuthenticationProvider.get(request).enable_user(user)
+ if user.pending:
+ AuthenticationProvider.get(request).activate_user(user,
+ audit=not
user.disabled) # avoid dupe audits
+ if user.disabled:
+ AuthenticationProvider.get(request).enable_user(user)
flash('User enabled')
elif status == 'disable' and not user.disabled:
AuthenticationProvider.get(request).disable_user(user)
flash('User disabled')
elif status == 'pending':
- AuthenticationProvider.get(request).deactivate_user(user)
- AuthenticationProvider.get(request).enable_user(user, audit=False)
+ if user.disabled:
+ AuthenticationProvider.get(request).enable_user(user,
+
audit=user.pending) # skip dupe audits
+ if not user.pending:
+ AuthenticationProvider.get(request).deactivate_user(user)
flash('Set user status to pending')
redirect(six.ensure_text(request.referer or '/'))
diff --git a/Allura/allura/tests/functional/test_site_admin.py
b/Allura/allura/tests/functional/test_site_admin.py
index f7eb9d294..bcf3a5d12 100644
--- a/Allura/allura/tests/functional/test_site_admin.py
+++ b/Allura/allura/tests/functional/test_site_admin.py
@@ -580,7 +580,7 @@ class TestUserDetails(TestController):
assert_equal(form['username'].value, 'test-user-3')
assert_equal(form['status'].value, 'pending')
form['status'].value = 'enable'
- with td.audits('Account enabled', user=True):
+ with td.audits('Account activated', user=True):
r = form.submit()
assert_equal(M.AuditLog.query.find().count(), 1)
assert_in('User enabled', self.webflash(r))
diff --git a/Allura/development.ini b/Allura/development.ini
index af474b5f6..12332a257 100644
--- a/Allura/development.ini
+++ b/Allura/development.ini
@@ -187,6 +187,7 @@ auth.ldap.password.salt_len = 16
; Set "autoregister" to false to require user to register in Allura to create
; the LDAP record and Allura record for the user.
auth.ldap.autoregister = true
+; see also user_prefs_storage.ldap.* settings later
auth.allow_user_registration = true
auth.allow_user_to_disable_account = true