264 lines
8.1 KiB
Twig
264 lines
8.1 KiB
Twig
{% extends '@CadolesCore/base.html.twig' %}
|
|
|
|
{% block pagewrapper %}
|
|
<h1 class="page-header">Statistiques</h1>
|
|
|
|
<div class="panel panel-primary">
|
|
<div class="panel-heading">
|
|
<i class="fa fa-table fa-fw"></i> Compteur de visites journalière
|
|
</div>
|
|
|
|
<div class="panel-body">
|
|
<div id="totcptvisite"></div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="panel panel-primary">
|
|
<div class="panel-heading">
|
|
<i class="fa fa-table fa-fw"></i> Compteur de visites journalière des groupes de travail
|
|
</div>
|
|
|
|
<div class="panel-body">
|
|
<div id="totcptvisitegroup"></div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col col-md-6">
|
|
<div class="panel panel-primary">
|
|
<div class="panel-heading">
|
|
<i class="fa fa-table fa-fw"></i> Evolution du nombre de message dans les tchat
|
|
</div>
|
|
|
|
<div class="panel-body">
|
|
<div id="totcptmessage"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col col-md-6">
|
|
<div class="panel panel-primary">
|
|
<div class="panel-heading">
|
|
<i class="fa fa-table fa-fw"></i> Evolution du nombre d'articles de blog
|
|
</div>
|
|
|
|
<div class="panel-body">
|
|
<div id="totcptblogarticle"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col col-md-6">
|
|
<div class="panel panel-primary">
|
|
<div class="panel-heading">
|
|
<i class="fa fa-table fa-fw"></i> Evolution du nombre de tâches
|
|
</div>
|
|
|
|
<div class="panel-body">
|
|
<div id="totcptprojecttask"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col col-md-6">
|
|
<div class="panel panel-primary">
|
|
<div class="panel-heading">
|
|
<i class="fa fa-table fa-fw"></i> TOP 20 des groupes les plus visités
|
|
</div>
|
|
|
|
<div class="panel-body">
|
|
<div id="groupcptvisite"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col col-md-6">
|
|
<div class="panel panel-primary">
|
|
<div class="panel-heading">
|
|
<i class="fa fa-table fa-fw"></i> TOP 20 des groupes avec le plus de messages chat
|
|
</div>
|
|
|
|
<div class="panel-body">
|
|
<div id="groupcptmessage"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col col-md-6">
|
|
<div class="panel panel-primary">
|
|
<div class="panel-heading">
|
|
<i class="fa fa-table fa-fw"></i> TOP 20 des groupes avec le plus d'articles de blog
|
|
</div>
|
|
|
|
<div class="panel-body">
|
|
<div id="groupcptblogarticle"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col col-md-6">
|
|
<div class="panel panel-primary">
|
|
<div class="panel-heading">
|
|
<i class="fa fa-table fa-fw"></i> TOP 20 des groupes avec le plus de tâches
|
|
</div>
|
|
|
|
<div class="panel-body">
|
|
<div id="groupcptprojecttask"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{% endblock %}
|
|
|
|
{% block localjavascript %}
|
|
$(document).ready(function() {
|
|
totcptvisite();
|
|
totcptvisitegroup();
|
|
totcptmessage();
|
|
totcptblogarticle();
|
|
totcptprojecttask();
|
|
groupcptvisite();
|
|
groupcptmessage();
|
|
groupcptblogarticle();
|
|
groupcptprojecttask();
|
|
|
|
$(window).resize(function() {
|
|
window.totcptvisite.redraw();
|
|
window.totcptvisitegroup.redraw();
|
|
window.totcptmessage.redraw();
|
|
window.totcptblogarticle.redraw();
|
|
window.totcptprojecttask.redraw();
|
|
});
|
|
});
|
|
|
|
function totcptvisite() {
|
|
window.totcptvisite = Morris.Area({
|
|
element: 'totcptvisite',
|
|
data: [
|
|
{% set before = 0 %}
|
|
{% for date, cpt in totcptvisite.value %}
|
|
{% set now = cpt - before %}
|
|
{% set before = cpt %}
|
|
{ x: '{{ date }}', a: {{ now }} }{% if not loop.last %},{%endif%}
|
|
{% endfor %}
|
|
],
|
|
xkey: 'x',
|
|
ykeys: ['a'],
|
|
labels: ['Nombre de visites']
|
|
});
|
|
}
|
|
|
|
|
|
function totcptvisitegroup() {
|
|
window.totcptvisitegroup = Morris.Area({
|
|
element: 'totcptvisitegroup',
|
|
data: [
|
|
{% set before = 0 %}
|
|
{% for date, cpt in totcptvisitegroup.value %}
|
|
{% set now = cpt - before %}
|
|
{% set before = cpt %}
|
|
{ x: '{{ date }}', a: {{ now }} }{% if not loop.last %},{%endif%}
|
|
{% endfor %}
|
|
],
|
|
xkey: 'x',
|
|
ykeys: ['a'],
|
|
labels: ['Nombre de visites des groupes']
|
|
});
|
|
}
|
|
|
|
function totcptmessage() {
|
|
window.totcptmessage = Morris.Area({
|
|
element: 'totcptmessage',
|
|
data: [
|
|
{% for date, cpt in totcptmessage.value %}
|
|
{ x: '{{ date }}', a: {{ cpt }} }{% if not loop.last %},{%endif%}
|
|
{% endfor %}
|
|
],
|
|
xkey: 'x',
|
|
ykeys: ['a'],
|
|
labels: ['Nombre total de messages tchat']
|
|
});
|
|
}
|
|
|
|
function totcptblogarticle() {
|
|
window.totcptblogarticle = Morris.Area({
|
|
element: 'totcptblogarticle',
|
|
data: [
|
|
{% for date, cpt in totcptblogarticle.value %}
|
|
{ x: '{{ date }}', a: {{ cpt }} }{% if not loop.last %},{%endif%}
|
|
{% endfor %}
|
|
],
|
|
xkey: 'x',
|
|
ykeys: ['a'],
|
|
labels: ["Nombre total d'articles de blog"]
|
|
});
|
|
}
|
|
|
|
function totcptprojecttask() {
|
|
window.totcptprojecttask = Morris.Area({
|
|
element: 'totcptprojecttask',
|
|
data: [
|
|
{% for date, cpt in totcptprojecttask.value %}
|
|
{ x: '{{ date }}', a: {{ cpt }} }{% if not loop.last %},{%endif%}
|
|
{% endfor %}
|
|
],
|
|
xkey: 'x',
|
|
ykeys: ['a'],
|
|
labels: ["Nombre total de tâches"]
|
|
});
|
|
}
|
|
|
|
function groupcptvisite() {
|
|
window.groupcptvisite = Morris.Donut({
|
|
element: 'groupcptvisite',
|
|
data: [
|
|
{% for cpt in groupcptvisite %}
|
|
{label: "{{ cpt.name|raw }}", value: {{ cpt.value }}}{% if not loop.last %},{%endif%}
|
|
{% endfor %}
|
|
],
|
|
resize: true,
|
|
redraw: true
|
|
});
|
|
}
|
|
|
|
function groupcptmessage() {
|
|
window.groupcptmessage = Morris.Donut({
|
|
element: 'groupcptmessage',
|
|
data: [
|
|
{% for cpt in groupcptmessage %}
|
|
{label: "{{ cpt.name|raw }}", value: {{ cpt.value }}}{% if not loop.last %},{%endif%}
|
|
{% endfor %}
|
|
],
|
|
resize: true,
|
|
redraw: true
|
|
});
|
|
}
|
|
|
|
function groupcptblogarticle() {
|
|
window.groupcptblogarticle = Morris.Donut({
|
|
element: 'groupcptblogarticle',
|
|
data: [
|
|
{% for cpt in groupcptblogarticle %}
|
|
{label: "{{ cpt.name|raw }}", value: {{ cpt.value }}}{% if not loop.last %},{%endif%}
|
|
{% endfor %}
|
|
],
|
|
resize: true,
|
|
redraw: true
|
|
});
|
|
}
|
|
|
|
function groupcptprojecttask() {
|
|
window.groupcptprojecttask = Morris.Donut({
|
|
element: 'groupcptprojecttask',
|
|
data: [
|
|
{% for cpt in groupcptprojecttask %}
|
|
{label: "{{ cpt.name|raw }}", value: {{ cpt.value }}}{% if not loop.last %},{%endif%}
|
|
{% endfor %}
|
|
],
|
|
resize: true,
|
|
redraw: true
|
|
});
|
|
}
|
|
{% endblock %}
|