|
|
@@ -1,52 +1,96 @@
|
|
|
-{% extends '_layout.html' %}
|
|
|
-
|
|
|
-{% block title %}
|
|
|
- Rapport: Projets
|
|
|
-{% endblock %}
|
|
|
-
|
|
|
-{% block breadcrumb %}
|
|
|
- <li><a href="{% url 'index' %}">Accueil</a></li>
|
|
|
- <li><a href="{% url 'reports' %}">Rapports</a></li>
|
|
|
- <li><a>Revue de Projets</a></li>
|
|
|
-{% endblock %}
|
|
|
-
|
|
|
-{% block main %}
|
|
|
-{% load martortags %}
|
|
|
-
|
|
|
-<section id="backlog">
|
|
|
- <header>
|
|
|
- <div class="flex-row" style="margin-bottom: 20px;">
|
|
|
- <h2 class="flex-extend">Revue de Projets</h2>
|
|
|
- </div>
|
|
|
- </header>
|
|
|
-
|
|
|
- <ul class="alt">
|
|
|
- {% for epic in epics %}
|
|
|
- <li class="epic-li">
|
|
|
- <div class="flex-col" style="margin-bottom: 20px;">
|
|
|
-
|
|
|
- <div class="flex-row">
|
|
|
- <h4>{{ epic.name }}</h4>
|
|
|
- </div>
|
|
|
-
|
|
|
- <div style="margin-bottom: 20px;">
|
|
|
- <div>Contributeurs: {{ epic.contributors }}</div>
|
|
|
- <div>Stories (Total / En cours / Terminées):
|
|
|
- {{ epic.nb_stories }} /
|
|
|
- <span class="valid">{{ epic.nb_active_stories }}</span> /
|
|
|
- <span class="disabled">{{ epic.nb_closed_stories }}</span></div>
|
|
|
- </div>
|
|
|
-
|
|
|
- {% if epic.description %}
|
|
|
- <div style="padding: 0 20px;">
|
|
|
- {{ epic.description|safe_markdown }}
|
|
|
- </div>
|
|
|
- {% endif %}
|
|
|
-
|
|
|
- </div>
|
|
|
- </li>
|
|
|
- {% endfor %}
|
|
|
- </ul>
|
|
|
-
|
|
|
-</section>
|
|
|
+{% extends '_layout.html' %}
|
|
|
+
|
|
|
+{% block title %}
|
|
|
+ Rapport: Projets
|
|
|
+{% endblock %}
|
|
|
+
|
|
|
+{% block breadcrumb %}
|
|
|
+ <li><a href="{% url 'index' %}">Accueil</a></li>
|
|
|
+ <li><a href="{% url 'reports' %}">Rapports</a></li>
|
|
|
+ <li><a>Revue de Projets</a></li>
|
|
|
+{% endblock %}
|
|
|
+
|
|
|
+{% block main %}
|
|
|
+{% load martortags %}
|
|
|
+
|
|
|
+<section id="backlog">
|
|
|
+ <header>
|
|
|
+ <div class="flex-row" style="margin-bottom: 20px;">
|
|
|
+ <h2 class="flex-extend">Revue de Projets</h2>
|
|
|
+ </div>
|
|
|
+ </header>
|
|
|
+
|
|
|
+ <canvas id="chart-activity" width="400" height="120"></canvas>
|
|
|
+
|
|
|
+ <ul class="alt">
|
|
|
+ {% for epic in epics %}
|
|
|
+ <li class="epic-li">
|
|
|
+ <div class="flex-col" style="margin-bottom: 20px;">
|
|
|
+
|
|
|
+ <div class="flex-row">
|
|
|
+ <h4>{{ epic.name }}</h4>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div style="margin-bottom: 20px;">
|
|
|
+ <div>Contributeurs: {{ epic.contributors }}</div>
|
|
|
+ <div>Stories (Total / En cours / Terminées):
|
|
|
+ {{ epic.nb_stories }} /
|
|
|
+ <span class="valid">{{ epic.nb_active_stories }}</span> /
|
|
|
+ <span class="disabled">{{ epic.nb_closed_stories }}</span></div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ {% if epic.description %}
|
|
|
+ <div style="padding: 0 20px;">
|
|
|
+ {{ epic.description|safe_markdown }}
|
|
|
+ </div>
|
|
|
+ {% endif %}
|
|
|
+
|
|
|
+ </div>
|
|
|
+ </li>
|
|
|
+ {% endfor %}
|
|
|
+ </ul>
|
|
|
+
|
|
|
+</section>
|
|
|
+
|
|
|
+<script>
|
|
|
+var ctx = document.getElementById("chart-activity").getContext('2d');
|
|
|
+var myChart = new Chart(ctx, {
|
|
|
+ type: 'line',
|
|
|
+ data: {
|
|
|
+ labels: [{% for epic in epics|dictsort:"id" %}{% if not forloop.last %}"Sprint #{{ sprint.id }}",{% endif %}{% endfor %}],
|
|
|
+ datasets: [{
|
|
|
+ label: 'Vélocité réelle',
|
|
|
+ data: [{% for sprint in sprints|dictsort:"id" %}{% if not forloop.last %}{{ sprint.real_velocity }},{% endif %}{% endfor %}],
|
|
|
+ backgroundColor: [
|
|
|
+ 'rgba(255, 255, 255, 0.2)'
|
|
|
+ ],
|
|
|
+ borderColor: [
|
|
|
+ 'rgba(0,150,0,1)',
|
|
|
+ ],
|
|
|
+ borderWidth: 1
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: 'Vélocité prévue',
|
|
|
+ data: [{% for sprint in sprints|dictsort:"id" %}{% if not forloop.last %}{{ sprint.planned_velocity }},{% endif %}{% endfor %}],
|
|
|
+ backgroundColor: [
|
|
|
+ 'rgba(255, 255, 255, 0.2)'
|
|
|
+ ],
|
|
|
+ borderColor: [
|
|
|
+ 'rgba(0,0,150,1)',
|
|
|
+ ],
|
|
|
+ borderWidth: 1
|
|
|
+ }]
|
|
|
+ },
|
|
|
+ options: {
|
|
|
+ scales: {
|
|
|
+ yAxes: [{
|
|
|
+ ticks: {
|
|
|
+ beginAtZero:true
|
|
|
+ }
|
|
|
+ }]
|
|
|
+ }
|
|
|
+ }
|
|
|
+});
|
|
|
+</script>
|
|
|
+
|
|
|
{% endblock %}
|