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 2015/01/15 19:29:38 UTC
[2/4] allura git commit: [#7816] ticket:713 Add status to admin user
search & refactoring
[#7816] ticket:713 Add status to admin user search & refactoring
Project: http://git-wip-us.apache.org/repos/asf/allura/repo
Commit: http://git-wip-us.apache.org/repos/asf/allura/commit/24ddf594
Tree: http://git-wip-us.apache.org/repos/asf/allura/tree/24ddf594
Diff: http://git-wip-us.apache.org/repos/asf/allura/diff/24ddf594
Branch: refs/heads/master
Commit: 24ddf594ada7323dc84483a6ff5aa3eee8124438
Parents: ca260f3
Author: Igor Bondarenko <je...@gmail.com>
Authored: Wed Jan 14 11:25:39 2015 +0000
Committer: Igor Bondarenko <je...@gmail.com>
Committed: Wed Jan 14 11:25:39 2015 +0000
----------------------------------------------------------------------
Allura/allura/controllers/site_admin.py | 2 ++
Allura/allura/lib/helpers.py | 21 ++++++++++++++++++++
.../site_admin_search_users_results.html | 4 ++--
.../templates/site_admin_user_details.html | 6 +++---
4 files changed, 28 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/allura/blob/24ddf594/Allura/allura/controllers/site_admin.py
----------------------------------------------------------------------
diff --git a/Allura/allura/controllers/site_admin.py b/Allura/allura/controllers/site_admin.py
index 043678a..d284113 100644
--- a/Allura/allura/controllers/site_admin.py
+++ b/Allura/allura/controllers/site_admin.py
@@ -325,6 +325,7 @@ class SiteAdminController(object):
fields = [('username', 'username'), ('display_name', 'display name')]
add_fields = aslist(tg.config.get('search.user.additional_search_fields'), ',')
r = self._search(M.User, fields, add_fields, q, f, page, limit, **kw)
+ r['objects'] = [dict(u, status=h.get_user_status(u)) for u in r['objects']]
r['search_results_template'] = 'allura:templates/site_admin_search_users_results.html'
r['additional_display_fields'] = \
aslist(tg.config.get('search.user.additional_display_fields'), ',')
@@ -471,6 +472,7 @@ class AdminUserDetailsController(object):
audit_log = self._audit_log(user, limit, page)
info = {
'user': user,
+ 'status': h.get_user_status(user),
'projects': projects,
'audit_log': audit_log,
}
http://git-wip-us.apache.org/repos/asf/allura/blob/24ddf594/Allura/allura/lib/helpers.py
----------------------------------------------------------------------
diff --git a/Allura/allura/lib/helpers.py b/Allura/allura/lib/helpers.py
index 3b6a1d5..ad238e3 100644
--- a/Allura/allura/lib/helpers.py
+++ b/Allura/allura/lib/helpers.py
@@ -1209,3 +1209,24 @@ def auditlog_user(message, *args, **kwargs):
message = 'Done by user: {}\n'.format(c.user.username) + message
return M.AuditLog.log_user(message, *args, **kwargs)
+
+def get_user_status(user):
+ '''
+ Get user status based on disabled and pending attrs
+
+ :param user: a dict or :class:`allura.model.auth.User`
+ '''
+ from allura import model as M
+ if isinstance(user, M.User):
+ disabled = user.disabled
+ pending = user.pending
+ else:
+ disabled = user['disabled']
+ pending = user['pending']
+
+ if not disabled and not pending:
+ return 'enabled'
+ elif disabled:
+ return 'disabled'
+ elif pending:
+ return 'pending'
http://git-wip-us.apache.org/repos/asf/allura/blob/24ddf594/Allura/allura/templates/site_admin_search_users_results.html
----------------------------------------------------------------------
diff --git a/Allura/allura/templates/site_admin_search_users_results.html b/Allura/allura/templates/site_admin_search_users_results.html
index c718b02..bbb0693 100644
--- a/Allura/allura/templates/site_admin_search_users_results.html
+++ b/Allura/allura/templates/site_admin_search_users_results.html
@@ -21,7 +21,7 @@
<th>Display name</th>
<th>Email</th>
<th>Registered</th>
- <th>Disabled?</th>
+ <th>Status</th>
{% for field in additional_display_fields %}
<th>{{ field }}</th>
{% endfor %}
@@ -34,7 +34,7 @@
<td>{{ u['display_name'] }}</td>
<td>{{ u['object'].get_pref('email_address') }}</td>
<td>{{ h.ago(provider.user_registration_date(u['object']).replace(tzinfo=None)) }}</td>
- <td>{{ u['disabled'] }}</td>
+ <td>{{ u['status'] }}</td>
{% for field in additional_display_fields %}
<td>{{ u[field] }}</td>
{% endfor %}
http://git-wip-us.apache.org/repos/asf/allura/blob/24ddf594/Allura/allura/templates/site_admin_user_details.html
----------------------------------------------------------------------
diff --git a/Allura/allura/templates/site_admin_user_details.html b/Allura/allura/templates/site_admin_user_details.html
index f5a8d2d..1288ecb 100644
--- a/Allura/allura/templates/site_admin_user_details.html
+++ b/Allura/allura/templates/site_admin_user_details.html
@@ -42,9 +42,9 @@
<div class="grid-6">
<form action='/nf/admin/user/set_status' method="POST">
<div class='grid-6'>
- <label><input type="radio" name="status" value="enable"{% if not user.disabled and not user.pending %} checked="checked"{% endif %}>Enabled</label><br>
- <label><input type="radio" name="status" value="disable"{% if user.disabled %} checked="checked"{% endif %}>Disabled</label><br>
- <label><input type="radio" name="status" value="pending"{% if user.pending and not user.disabled %} checked="checked"{% endif %}>Pending</label>
+ <label><input type="radio" name="status" value="enable"{% if status == 'enabled' %} checked="checked"{% endif %}>Enabled</label><br>
+ <label><input type="radio" name="status" value="disable"{% if status == 'disabled' %} checked="checked"{% endif %}>Disabled</label><br>
+ <label><input type="radio" name="status" value="pending"{% if status == 'pending' %} checked="checked"{% endif %}>Pending</label>
</div>
<input type='hidden' name='username' value='{{ user.username }}'>
{{lib.csrf_token()}}