mirror of
https://github.com/OpenBankProject/API-Manager.git
synced 2026-02-06 10:59:00 +00:00
Added email filter for users list
This commit is contained in:
parent
ca6811fea0
commit
c4fc479620
@ -8,21 +8,33 @@
|
||||
<h1>Users</h1>
|
||||
|
||||
<div id="filter-role" class="filter">
|
||||
Role:
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
{{ active_role_name }} <span class="caret"></span>
|
||||
{% if active_role_name_all %}All Roles{% else %}{{ active_role_name }}{% endif %} <span class="caret"></span>
|
||||
</button>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a href="?role_name=All">All</a></li>
|
||||
<li><a href="?email={{ active_email }}&role_name=All">All Roles</a></li>
|
||||
<li role="separator" class="divider"></li>
|
||||
{% for role_name in role_names %}
|
||||
<li><a href="?role_name={{ role_name }}">{{ role_name }}</a></li>
|
||||
<li><a href="?email={{ active_email }}&role_name={{ role_name }}">{{ role_name }}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="filter-email" class="filter">
|
||||
<div class="btn-group">
|
||||
<form action="" method="get">
|
||||
<input type="hidden" name="role_name" value="{{ active_role_name }}" />
|
||||
<div class="input-group">
|
||||
<span class="input-group-addon" id="basic-addon1"><span class="glyphicon glyphicon-search" aria-hidden="true"></span></span>
|
||||
|
||||
<input type="text" class="form-control" size="30" name="email" placeholder="Enter email address ..." value="{% if not active_email_all %}{{ active_email }}{% endif %}" />
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h2>Statistics</h2>
|
||||
<ul id="statistics">
|
||||
<li>Total number of users: {{ statistics.users_num }}
|
||||
|
||||
@ -25,6 +25,15 @@ class FilterRoleName(BaseFilter):
|
||||
|
||||
|
||||
|
||||
class FilterEmail(BaseFilter):
|
||||
"""Filter users by email address"""
|
||||
filter_type = 'email'
|
||||
|
||||
def _apply(self, data, filter_value):
|
||||
filtered = [x for x in data if x['email'].find(filter_value) != -1]
|
||||
return filtered
|
||||
|
||||
|
||||
class IndexView(LoginRequiredMixin, TemplateView):
|
||||
"""Index view for users"""
|
||||
template_name = "users/index.html"
|
||||
@ -43,6 +52,8 @@ class IndexView(LoginRequiredMixin, TemplateView):
|
||||
role_names.sort()
|
||||
users = FilterRoleName(context, self.request.GET)\
|
||||
.apply(users['users'])
|
||||
users = FilterEmail(context, self.request.GET)\
|
||||
.apply(users)
|
||||
except APIError as err:
|
||||
messages.error(self.request, err)
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user