admin: big data time

master
informatic 2020-03-30 23:36:35 +02:00
parent 464e7cf127
commit 36f60172e0
2 changed files with 24 additions and 3 deletions

View File

@ -41,7 +41,7 @@ class IndexView(AdminSecurityMixin, flask_admin.AdminIndexView):
func.sum(FaceshieldRequest.faceshield_full_delivered).label('faceshield_full_delivered'),
func.sum(FaceshieldRequest.faceshield_front_required).label('faceshield_front_required'),
func.sum(FaceshieldRequest.faceshield_front_delivered).label('faceshield_front_delivered'),
).group_by(FaceshieldRequest.status).all()
).filter(FaceshieldRequest.status != Status.rejected, FaceshieldRequest.status != Status.spam).group_by(FaceshieldRequest.status).all()
vstats = FaceshieldRequest.query.select_from(FaceshieldRequest).with_entities(
PostalCode.voivodeship.label('voivodeship'),
@ -50,9 +50,14 @@ class IndexView(AdminSecurityMixin, flask_admin.AdminIndexView):
func.sum(FaceshieldRequest.faceshield_full_delivered).label('faceshield_full_delivered'),
func.sum(FaceshieldRequest.faceshield_front_required).label('faceshield_front_required'),
func.sum(FaceshieldRequest.faceshield_front_delivered).label('faceshield_front_delivered'),
).join(FaceshieldRequest.postalcode_info).group_by(PostalCode.voivodeship).order_by(func.count().desc()).all()
).filter(FaceshieldRequest.status != Status.rejected, FaceshieldRequest.status != Status.spam).join(FaceshieldRequest.postalcode_info).group_by(PostalCode.voivodeship).order_by(func.count().desc()).all()
return self.render('admin_index.html', stats=stats, vstats=vstats)
dstats = FaceshieldRequest.query.select_from(FaceshieldRequest).with_entities(
func.date_trunc('day', FaceshieldRequest.created).label('date'),
func.count().label('count'),
).filter(FaceshieldRequest.status != Status.rejected, FaceshieldRequest.status != Status.spam).group_by(func.date_trunc('day', FaceshieldRequest.created)).order_by(func.count().desc()).all()
return self.render('admin_index.html', stats=stats, vstats=vstats, dstats=dstats)
class FaceshieldRequestAdmin(ModelView):

View File

@ -23,6 +23,22 @@
{% endfor %}
</tbody>
</table>
<h1>
Creation date
</h1>
<table class="table">
<thead>
<tr>
<th>Status</th>
<th>Count</th>
</tr>
</thead>
<tbody>
{% for row in dstats %}
<tr><td>{{ row.date }}</td><td>{{ row.count }}</td></tr>
{% endfor %}
</tbody>
</table>
</div>
<div class="col-md-6">
<h1>Voivodeship breakdown</h1>