Rename charts snippets and add register chart file
This commit is contained in:
parent
2a88753e17
commit
fa241b08e7
|
@ -95,9 +95,9 @@
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<div class="columns">
|
<div class="columns is-multiline">
|
||||||
<div class="column">
|
<div class="column">
|
||||||
<h3>{% trans "User signup activity" %}</h3>
|
<h3>{% trans "Total users" %}</h3>
|
||||||
<div class="box">
|
<div class="box">
|
||||||
<canvas id="user_stats"></canvas>
|
<canvas id="user_stats"></canvas>
|
||||||
</div>
|
</div>
|
||||||
|
@ -108,6 +108,12 @@
|
||||||
<canvas id="status_stats"></canvas>
|
<canvas id="status_stats"></canvas>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="column">
|
||||||
|
<h3>{% trans "User signup activity" %}</h3>
|
||||||
|
<div class="box">
|
||||||
|
<canvas id="user_stats"></canvas>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -115,6 +121,7 @@
|
||||||
|
|
||||||
{% block scripts %}
|
{% block scripts %}
|
||||||
<script src="https://cdn.jsdelivr.net/npm/chart.js@3.5.1/dist/chart.min.js"></script>
|
<script src="https://cdn.jsdelivr.net/npm/chart.js@3.5.1/dist/chart.min.js"></script>
|
||||||
{% include 'settings/dashboard/dashboard_user_chart.html' %}
|
{% include 'settings/dashboard/user_chart.html' %}
|
||||||
{% include 'settings/dashboard/dashboard_status_chart.html' %}
|
{% include 'settings/dashboard/status_chart.html' %}
|
||||||
|
{% include 'settings/dashboard/registration_chart.html' %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
@ -0,0 +1,24 @@
|
||||||
|
{% load i18n %}
|
||||||
|
<script>
|
||||||
|
const labels = [{% for label in registration_stats.labels %}"{{ label }}",{% endfor %}];
|
||||||
|
const data = {
|
||||||
|
labels: labels,
|
||||||
|
datasets: [{
|
||||||
|
label: '{% trans "Active this month" %}',
|
||||||
|
backgroundColor: 'rgb(75, 192, 192)',
|
||||||
|
borderColor: 'rgb(75, 192, 192)',
|
||||||
|
data: {{ register_stats.total }},
|
||||||
|
}]
|
||||||
|
};
|
||||||
|
|
||||||
|
const config = {
|
||||||
|
type: 'line',
|
||||||
|
data: data,
|
||||||
|
options: {}
|
||||||
|
};
|
||||||
|
|
||||||
|
var userStats = new Chart(
|
||||||
|
document.getElementById('user_stats'),
|
||||||
|
config
|
||||||
|
);
|
||||||
|
</script>
|
|
@ -63,6 +63,16 @@ class Dashboard(View):
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
register_chart = Chart(
|
||||||
|
queryset=user_queryset,
|
||||||
|
queries = {
|
||||||
|
"total": lambda q, s, e: q.filter(
|
||||||
|
created_date__gt=s,
|
||||||
|
created_date__lte=e,
|
||||||
|
).count()
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
data = {
|
data = {
|
||||||
"start": start.strftime("%Y-%m-%d"),
|
"start": start.strftime("%Y-%m-%d"),
|
||||||
"end": end.strftime("%Y-%m-%d"),
|
"end": end.strftime("%Y-%m-%d"),
|
||||||
|
@ -79,6 +89,7 @@ class Dashboard(View):
|
||||||
).count(),
|
).count(),
|
||||||
"user_stats": user_chart.get_chart(start, end, interval),
|
"user_stats": user_chart.get_chart(start, end, interval),
|
||||||
"status_stats": status_chart.get_chart(start, end, interval),
|
"status_stats": status_chart.get_chart(start, end, interval),
|
||||||
|
"register_stats": register_chart.get_chart(start, end, interval),
|
||||||
}
|
}
|
||||||
return TemplateResponse(request, "settings/dashboard/dashboard.html", data)
|
return TemplateResponse(request, "settings/dashboard/dashboard.html", data)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue