Added more statistics to consumers list

Now shows the same as /admin/consumer/list at API
This commit is contained in:
Sebastian Henschel 2016-11-21 15:14:31 +01:00
parent 00cc8e8d76
commit b9d54cc1e8
2 changed files with 21 additions and 3 deletions

View File

@ -31,6 +31,8 @@
<h2>Statistics</h2>
<ul id="statistics">
<li>Total number of consumers: {{ statistics.consumers_num }}</li>
<li>Total number of unique developer email addresses: {{ statistics.unique_developerEmail_num }}</li>
<li>Total number of unique consumer names: {{ statistics.unique_name_num }}</li>
</ul>
<div class="table-responsive">

View File

@ -47,6 +47,24 @@ class IndexView(LoginRequiredMixin, TemplateView):
consumer['created'], settings.API_DATETIMEFORMAT)
return consumers
def compile_statistics(self, consumers):
"""Compiles a set of statistical values for the given consumers"""
unique_developer_email = {}
unique_name = {}
for consumer in consumers:
unique_developer_email[consumer['developerEmail']] = True
unique_name[consumer['name']] = True
unique_developer_email = unique_developer_email.keys()
unique_name = unique_name.keys()
statistics = {
'consumers_num': len(consumers),
'unique_developerEmail_num': len(unique_developer_email),
'unique_name_num': len(unique_name),
}
return statistics
def get_context_data(self, **kwargs):
context = super(IndexView, self).get_context_data(**kwargs)
consumers = []
@ -66,9 +84,7 @@ class IndexView(LoginRequiredMixin, TemplateView):
context.update({
'consumers': consumers,
'statistics': {
'consumers_num': len(consumers),
},
'statistics': self.compile_statistics(consumers),
})
return context