You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@allura.apache.org by br...@apache.org on 2014/09/29 18:17:54 UTC

[23/27] git commit: [#7657] automatically include user who made change in auditlog, if not same user

[#7657] automatically include user who made change in auditlog, if not same user


Project: http://git-wip-us.apache.org/repos/asf/allura/repo
Commit: http://git-wip-us.apache.org/repos/asf/allura/commit/a719b443
Tree: http://git-wip-us.apache.org/repos/asf/allura/tree/a719b443
Diff: http://git-wip-us.apache.org/repos/asf/allura/diff/a719b443

Branch: refs/heads/db/7657
Commit: a719b4439dae253a641c5fdcc62957b1a0efe2b0
Parents: a3d64fd
Author: Dave Brondsema <db...@slashdotmedia.com>
Authored: Fri Sep 26 21:16:06 2014 +0000
Committer: Dave Brondsema <db...@slashdotmedia.com>
Committed: Fri Sep 26 21:57:42 2014 +0000

----------------------------------------------------------------------
 Allura/allura/controllers/site_admin.py           |  2 +-
 Allura/allura/lib/helpers.py                      |  2 ++
 Allura/allura/lib/plugin.py                       | 10 ++--------
 Allura/allura/tests/decorators.py                 |  8 ++++++--
 Allura/allura/tests/functional/test_site_admin.py |  2 +-
 Allura/allura/tests/test_plugin.py                |  4 ++--
 6 files changed, 14 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/allura/blob/a719b443/Allura/allura/controllers/site_admin.py
----------------------------------------------------------------------
diff --git a/Allura/allura/controllers/site_admin.py b/Allura/allura/controllers/site_admin.py
index 9f6cc38..5b84267 100644
--- a/Allura/allura/controllers/site_admin.py
+++ b/Allura/allura/controllers/site_admin.py
@@ -537,7 +537,7 @@ class AdminUserDetailsController(object):
             raise HTTPNotFound()
         pwd = h.random_password()
         AuthenticationProvider.get(request).set_password(user, None, pwd)
-        h.auditlog_user('Set random password by %s', c.user.username, user=user)
+        h.auditlog_user('Set random password', user=user)
         flash('Password is set', 'ok')
         redirect(request.referer)
 

http://git-wip-us.apache.org/repos/asf/allura/blob/a719b443/Allura/allura/lib/helpers.py
----------------------------------------------------------------------
diff --git a/Allura/allura/lib/helpers.py b/Allura/allura/lib/helpers.py
index 45ff1fe..166146b 100644
--- a/Allura/allura/lib/helpers.py
+++ b/Allura/allura/lib/helpers.py
@@ -1208,5 +1208,7 @@ def auditlog_user(message, *args, **kwargs):
     from allura import model as M
     ip_address = request.headers.get('X-Remote-Addr', request.remote_addr)
     message = 'IP Address: {}\n'.format(ip_address) + message
+    if kwargs.get('user') and kwargs['user'] != c.user:
+        message = 'Done by user: {}\n'.format(c.user.username) + message
     M.AuditLog.log_user(message, *args, **kwargs)
 

http://git-wip-us.apache.org/repos/asf/allura/blob/a719b443/Allura/allura/lib/plugin.py
----------------------------------------------------------------------
diff --git a/Allura/allura/lib/plugin.py b/Allura/allura/lib/plugin.py
index 1ad4ef0..701f95b 100644
--- a/Allura/allura/lib/plugin.py
+++ b/Allura/allura/lib/plugin.py
@@ -335,18 +335,12 @@ class LocalAuthenticationProvider(AuthenticationProvider):
     def disable_user(self, user):
         user.disabled = True
         session(user).flush(user)
-        suffix = u''
-        if user != c.user:
-            suffix = u' by %s' % c.user.username
-        h.auditlog_user(u'Account disabled' + suffix, user=user)
+        h.auditlog_user(u'Account disabled', user=user)
 
     def enable_user(self, user):
         user.disabled = False
         session(user).flush(user)
-        suffix = u''
-        if user != c.user:
-            suffix = u' by %s' % c.user.username
-        h.auditlog_user(u'Account enabled' + suffix, user=user)
+        h.auditlog_user(u'Account enabled', user=user)
 
     def validate_password(self, user, password):
         return self._validate_password(user, password)

http://git-wip-us.apache.org/repos/asf/allura/blob/a719b443/Allura/allura/tests/decorators.py
----------------------------------------------------------------------
diff --git a/Allura/allura/tests/decorators.py b/Allura/allura/tests/decorators.py
index df0f0b9..46369d1 100644
--- a/Allura/allura/tests/decorators.py
+++ b/Allura/allura/tests/decorators.py
@@ -165,7 +165,9 @@ def audits(*messages, **kwargs):
     M.AuditLog.query.remove()
     yield
     if kwargs.get('user'):
-        preamble = 'IP Address: .*\n'
+        actor = kwargs.get('actor', '.*')
+        ip_addr = kwargs.get('ip_addr', '.*')
+        preamble = '(Done by user: {}\n)?IP Address: {}\n'.format(actor, ip_addr)
     else:
         preamble = ''
     for message in messages:
@@ -185,7 +187,9 @@ def out_audits(*messages, **kwargs):
     M.AuditLog.query.remove()
     yield
     if kwargs.get('user'):
-        preamble = 'IP Address: .*\n'
+        actor = kwargs.get('actor', '.*')
+        ip_addr = kwargs.get('ip_addr', '.*')
+        preamble = '(Done by user: {}\n)?IP Address: {}\n'.format(actor, ip_addr)
     else:
         preamble = ''
     for message in messages:

http://git-wip-us.apache.org/repos/asf/allura/blob/a719b443/Allura/allura/tests/functional/test_site_admin.py
----------------------------------------------------------------------
diff --git a/Allura/allura/tests/functional/test_site_admin.py b/Allura/allura/tests/functional/test_site_admin.py
index 793f192..e24e734 100644
--- a/Allura/allura/tests/functional/test_site_admin.py
+++ b/Allura/allura/tests/functional/test_site_admin.py
@@ -430,7 +430,7 @@ class TestUserDetails(TestController):
 
     @patch.object(LocalAuthenticationProvider, 'set_password')
     def test_set_random_password(self, set_password):
-        with td.audits('Set random password by test-admin', user=True):
+        with td.audits('Set random password', user=True, actor='test-admin'):
             r = self.app.post('/nf/admin/user/set_random_password', params={'username': 'test-user'})
         assert_in('Password is set', self.webflash(r))
         set_password.assert_called_once()

http://git-wip-us.apache.org/repos/asf/allura/blob/a719b443/Allura/allura/tests/test_plugin.py
----------------------------------------------------------------------
diff --git a/Allura/allura/tests/test_plugin.py b/Allura/allura/tests/test_plugin.py
index 4e9e02c..b3073f3 100644
--- a/Allura/allura/tests/test_plugin.py
+++ b/Allura/allura/tests/test_plugin.py
@@ -259,7 +259,7 @@ class TestLocalAuthenticationProvider(object):
     def test_enable_user(self):
         user = Mock(disabled=True, __ming__=Mock(), is_anonymous=lambda: False, _id=ObjectId())
         c.user = Mock(username='test-admin')
-        with audits('Account enabled by test-admin', user=True):
+        with audits('Account enabled', user=True, actor='test-admin'):
             self.provider.enable_user(user)
             ThreadLocalORMSession.flush_all()
         assert_equal(user.disabled, False)
@@ -267,7 +267,7 @@ class TestLocalAuthenticationProvider(object):
     def test_disable_user(self):
         user = Mock(disabled=False, __ming__=Mock(), is_anonymous=lambda: False, _id=ObjectId())
         c.user = Mock(username='test-admin')
-        with audits('Account disabled by test-admin', user=True):
+        with audits('Account disabled', user=True, actor='test-admin'):
             self.provider.disable_user(user)
             ThreadLocalORMSession.flush_all()
         assert_equal(user.disabled, True)