diff --git a/apimanager/users/templates/users/index.html b/apimanager/users/templates/users/index.html
index 7e66939..6ab3ede 100644
--- a/apimanager/users/templates/users/index.html
+++ b/apimanager/users/templates/users/index.html
@@ -8,21 +8,33 @@
Users
- Role:
+
+
Statistics
- Total number of users: {{ statistics.users_num }}
diff --git a/apimanager/users/views.py b/apimanager/users/views.py
index 6f0ec2d..dc9d662 100644
--- a/apimanager/users/views.py
+++ b/apimanager/users/views.py
@@ -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)