From 906de76651e33383d77e08582673ded7ac28fa2d Mon Sep 17 00:00:00 2001
From: "hugo.boulanger.oib@gmail.com" <hugo.boulanger.oib@gmail.com>
Date: Sat, 16 Dec 2017 13:05:42 +0100
Subject: [PATCH] amelioration toujours bug

---
 Projet/polls/models.py                        |  24 +++++++--
 Projet/polls/templates/polls/eleve.html       |  43 ++-------------
 Projet/polls/templatetags/__init__.py         |   0
 .../__pycache__/__init__.cpython-35.pyc       | Bin 0 -> 164 bytes
 .../__pycache__/print_rapport.cpython-35.pyc  | Bin 0 -> 2634 bytes
 Projet/polls/templatetags/print_rapport.py    |  50 ++++++++++++++++++
 Projet/polls/views.py                         |  34 ++++++++++--
 7 files changed, 106 insertions(+), 45 deletions(-)
 create mode 100644 Projet/polls/templatetags/__init__.py
 create mode 100644 Projet/polls/templatetags/__pycache__/__init__.cpython-35.pyc
 create mode 100644 Projet/polls/templatetags/__pycache__/print_rapport.cpython-35.pyc
 create mode 100644 Projet/polls/templatetags/print_rapport.py

diff --git a/Projet/polls/models.py b/Projet/polls/models.py
index 0e6ec3a..38eefa0 100644
--- a/Projet/polls/models.py
+++ b/Projet/polls/models.py
@@ -44,10 +44,30 @@ class Groupe(models.Model):
 
 
 class Rapport(models.Model):
-    url = models.CharField(default="index.html", max_length = 50)
     groupe = models.ForeignKey(Groupe, on_delete=models.CASCADE)
     nIteration = models.IntegerField(default=0)
     brouillon = models.BooleanField(default=False)
+    product_owner = models.CharField(max_length = 250,null=True)
+    scrum_master = models.CharField(max_length = 250)
+    events = models.CharField(max_length = 5000)
+    taux_completion = models.CharField(max_length = 1000)
+    user_stories = models.CharField(max_length = 5000)
+    retro_retours = models.CharField(max_length = 5000)
+    retro_futur = models.CharField(max_length = 5000)
+    retro_ameliorations = models.CharField(max_length = 5000)
+    future_events = models.CharField(max_length = 5000)
+    postponed_us = models.CharField(max_length = 5000)
+    new_us = models.CharField(max_length = 5000)
+    it_nul = models.IntegerField()
+    it_moyen = models.IntegerField()
+    it_bien = models.IntegerField()
+    it_excellent = models.IntegerField()
+    proj_nul = models.IntegerField()
+    proj_moyen = models.IntegerField()
+    proj_bien = models.IntegerField()
+    proj_excellent = models.IntegerField()
+
+
     date_modif= models.DateTimeField(auto_now=True,blank=True,null=True)
 
     def __str__(self):
@@ -56,5 +76,3 @@ class Rapport(models.Model):
         else:
             b=""
         return "{0} Itération n°{1} {2}".format(self.groupe,self.nIteration,b)
-
-
diff --git a/Projet/polls/templates/polls/eleve.html b/Projet/polls/templates/polls/eleve.html
index d2f0096..613977a 100644
--- a/Projet/polls/templates/polls/eleve.html
+++ b/Projet/polls/templates/polls/eleve.html
@@ -9,6 +9,7 @@
 {#{% endif %}#}
 
 {% load static %}
+{% load print_rapport %}
 
 <link rel="stylesheet" type="text/css" href="{% static 'polls/style.css' %}" />
 <body>
@@ -24,44 +25,8 @@
     </ul>
     </div>
     <div class="right-student-block">
-        <p> Lorem ipsum
-            dolor sit amet, consectetur adipiscing elit.
-            Vivamus sed odio eget tortor porttitor consequat vehicula sit amet arcu.
-            Donec elementum sit amet mi at sodales. Praesent ac enim consequat, dapibus sem hendrerit, rutrum dui.
-            Donec mollis auctor efficitur. Phasellus gravida orci eu metus sollicitudin, vitae mattis nulla fermentum.
-            Proin dignissim nulla vitae sagittis sodales. Duis eu venenatis felis, quis maximus metus.
-            Sed malesuada vestibulum magna in condimentum. Duis consectetur sollicitudin dui eu scelerisque.
-            Donec rutrum tristique eros, vitae ultricies eros cursus eu.
-            Vestibulum ac mi ornare, maximus metus at, convallis eros.</p>
-
-        <p>Ut molestie mi eu dui rhoncus elementum. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
-            Proin ipsum nibh, sagittis et sem pharetra, elementum tempus risus. Nam bibendum condimentum pulvinar.
-            Integer at lacus vitae dui lobortis interdum in eget tortor. Duis non fermentum nisi.
-            Donec malesuada diam velit, ut laoreet neque porta vitae. Etiam arcu lacus, sollicitudin ut feugiat eu, cursus non enim.
-            Sed porta, massa at tincidunt faucibus, elit tortor porta eros, sit amet posuere neque dui sit amet ex.
-            In vel sem ac mi laoreet blandit sed eget dolor. Etiam ultricies aliquet tellus, at sollicitudin nisi iaculis et.
-            Sed et volutpat erat. </p>
-    </div>
-        <div class="right-student-block">
-            <p>Ceci est le template pour la partie élève</p>
-        </div>
-    <div class="right-student-block">
-        <p> Lorem ipsum dolor sit amet, consectetur adipiscing elit.
-            Vivamus sed odio eget tortor porttitor consequat vehicula sit amet arcu.
-            Donec elementum sit amet mi at sodales. Praesent ac enim consequat, dapibus sem hendrerit, rutrum dui.
-            Donec mollis auctor efficitur. Phasellus gravida orci eu metus sollicitudin, vitae mattis nulla fermentum.
-            Proin dignissim nulla vitae sagittis sodales. Duis eu venenatis felis, quis maximus metus.
-            Sed malesuada vestibulum magna in condimentum. Duis consectetur sollicitudin dui eu scelerisque.
-            Donec rutrum tristique eros, vitae ultricies eros cursus eu.
-            Vestibulum ac mi ornare, maximus metus at, convallis eros.</p>
-
-        <p>Ut molestie mi eu dui rhoncus elementum. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
-            Proin ipsum nibh, sagittis et sem pharetra, elementum tempus risus. Nam bibendum condimentum pulvinar.
-            Integer at lacus vitae dui lobortis interdum in eget tortor. Duis non fermentum nisi.
-            Donec malesuada diam velit, ut laoreet neque porta vitae. Etiam arcu lacus, sollicitudin ut feugiat eu, cursus non enim.
-            Sed porta, massa at tincidunt faucibus, elit tortor porta eros, sit amet posuere neque dui sit amet ex.
-            In vel sem ac mi laoreet blandit sed eget dolor. Etiam ultricies aliquet tellus, at sollicitudin nisi iaculis et.
-            Sed et volutpat erat. </p>
+        {% print_rapport latest_rapport as rapport %}
+        {{ rapport }}
     </div>
     </span>
-</body>
\ No newline at end of file
+</body>
diff --git a/Projet/polls/templatetags/__init__.py b/Projet/polls/templatetags/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/Projet/polls/templatetags/__pycache__/__init__.cpython-35.pyc b/Projet/polls/templatetags/__pycache__/__init__.cpython-35.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..b4ae2f975e437118eb3f797733bb346dda51df62
GIT binary patch
literal 164
zcmWgR<>i_frWeJ)z`*brM8Gg30|SEt0|P@b3j+f~3Ijv1CZpd<h9ZzKg7_7vpOK%N
zs-IDso|vN_P?VpQT2id<oROH9lA4p5nOX#6dwRMSLFM%e@^f;E^-EH73vv=mQcDuk
hi}mB<GxIV_;^XxSDsOSv<mRW8=A_zztSSaM2LL^4DxUxV

literal 0
HcmV?d00001

diff --git a/Projet/polls/templatetags/__pycache__/print_rapport.cpython-35.pyc b/Projet/polls/templatetags/__pycache__/print_rapport.cpython-35.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..8a719168c914efc9e7c67a44d6bfbddef5fbf9c3
GIT binary patch
literal 2634
zcmWgR<>e|5*NY0`Wng&BfCQKs7#JKF7#NC885kH+7#LC*8FCmHav2$-7#SE-85y#e
z7@8RvqL>*{nHjQJ7*d!RQkWT97#Nxv8KPJjQdk&*HCbPR%+qAN#Zi))Tac4jlA6p2
z5@BFq0GSTL&LA67nZU-^Ffe2>Fo>rxF^JbPGSo1F3={_mGBSv#u)qab8Nh-}aKQ>W
zh7x9m6gH66F0ld(wM<~m>|h;*9t`0iqd34k5Q`Je;)0mO!XTc)4Hx8rv!K$fDAK&>
z(rhTweCX2bDAN4s(i{xpDFSdoK{yL)Hz$g2A#`aj6lq~}X>Js05p-!D6lqbov>2Qv
z4hbM$2JsXL2JsR;22gD9gTfhEKmc7p5M4kBB7lfPL~Kanw@etK6Jfgux_~IUfEYvo
zi)F!@Qhuc>3=9l58HRR2i3J7uMI{O;>X{{nR~99fWaj57SSe(dq(a!GyFd!{GYsvx
z6l^k#?40v+3-XII!OBun6>`)MuPiLhEJ(G{&oHv%vMEVS%1Kp7PR+?FE=Wwy%uBab
zH#8`yPzMVYB&MXmg{;*Tib``*i*3~tb8^%bic2bUQf<|f@{3YZi>!+Cb23vD3=1k0
zl5!H0v#r%ZMi<#B*py`0+31&KKv<p#7Y7s_UYUG&WlCyZNh(x<eo2uXSCxWI30Pl>
zT|iNON@;S5f`55lYLSACeo2a*O-YJf6*q(lQ7#Wx9-LfMnycWOSX_dv`Xws^14F4L
zC`?L<!1@(j4zDar&B-q)NG&ab7*ztY?C?t6B2aeEEG|w=2e~N)<Z_UcIBoR7!DPo(
z>I5<<!^qAlGbb@m0UVx4(NKWmDRB5^7~380EIYg+FEuwcucX*UKf~CLtBTpCz^;nb
zM!&$0t5g?kq_JH{Vrd1)#N_<kf}F!E5fO&40HV888>+)6v$!NxAtkj~A+$KPNFlf+
zzbG@cSfM1fC^s|j@XA!EZKZi&^+t9<hgX&q<rf#ECYNNEfix=QASWX1t_S<H7;H;X
zYDs=+QL#d537CtlzE~kK8RTM^m7v1cCd1gy5hAKkP?TAmTC7lzUs|M)lc-Qol%JfD
zn3<QVfbO{}7Eq{^%7dM3Z0A^!TC9+wo|t=hWlm;3B!$E5@BynavI8ZhvdrSl{5+5|
zQT<e0npu_zPGZ<%LjmN4vQn6Vuy75@EGYs74_deurGhdZB3!GqKt4n$&dV<?OU=na
ziw<a<`9dA*oS&DLnV6Rh%YPZj5f7CDr2=?9RY*z9D@O4Y#KfvuG|s#5tP5gTX@D~+
zm|25hY9g2}5GEv7a)5FrIJ1KC4kX`}x`Ts&pnqX$r0DR<#GK4xNCB5p3Q99ssU;B4
zYl`3E%JYO3dAE2AAVo!dKB%a;#ZwF_3gUCYMZqoBqQt!P)LU$+WuOdri@zkXv?3my
z$x=Zn_7+cRacWU~F(mWc;w?%oDawzBCiPp~5N=v&Nomn7VF)KNHx-c<Z}EcVQsbe<
z^AzM4mlWjZrKZG}7T;paODzY}=|%aa1*x}~i%W`bv1OLT=auH%;>awC&&{t)&AY{(
zSrVU=nVNTtC$l6zwE|Qcr{<O1;wUJ}&jKsu0<$2BIl*kOay~E<u0fOe7JCt-dbq`2
zk{_RvSzK_7F>@tDksJd9!>=&?jQreG{fyG|#2o#AqWrAXl45=5jKsW@)SS%B)FK$$
z)6=yGDz9IVpOaIp4{HXMB&HYZ7ZhdYmBd5s(JQC~g+7u9sJtx(HNY5{1X)BGMHz(|
z`53tvxtK&5xfr1sC!32U5~P+HL>4J9FfjOOvfW}!$x6&i&o5$PU|_h#?vt5Rlvq@G
zi=!wt9aR1m-Qr6uF3wEP1C_7wC5h=^ePACW5uozq7Kcr4eoARhsvW2`SIok|z#zcH
G!vp{{-u2D^

literal 0
HcmV?d00001

diff --git a/Projet/polls/templatetags/print_rapport.py b/Projet/polls/templatetags/print_rapport.py
new file mode 100644
index 0000000..13c7868
--- /dev/null
+++ b/Projet/polls/templatetags/print_rapport.py
@@ -0,0 +1,50 @@
+from django import template
+
+register = template.Library()
+
+@register.assignment_tag
+def print_rapport(rapport):
+    to_disp = "<h1>Rapport d'itération : iteration" + rapport.nIteration + "</h1>\n " \
+                                                                        "<h2>Composition de l'équipe</h2>\n" \
+                                                                        "<table cellspacing='10px' cellpadding='10px;' rules='all' style='border:solid 1px black;'>\n" \
+                                                                        "<tr> <th></th> <th>Itération Précédente</th> </tr>\n"
+    to_disp = to_disp + "<tr> <td>Product Owner </td><td>" + rapport.product_owner + "</td></tr>\n"
+    to_disp = to_disp + "<tr> <td>Scrum Master </td><td>" + rapport.scrum_master + "</td></tr>\n"
+    for i in range(5):
+        to_disp = to_disp + "<tr><td> Développeur</td><td>Pré-remplissage</td></tr>\n"
+    to_disp = to_disp + "</table>\n"
+    to_disp = to_disp + "<h2>Bilan de l'itération précédente</h2>\n" \
+                        "<h3>Évènements</h3>\n"
+    to_disp = to_disp + "<p>" + rapport.events + "</p>\n"
+    to_disp = to_disp + "<h3>Taux de complétion de l'itération</h3>\n"
+    to_disp = to_disp + "<p>" + rapport.taux_completion + "</p>\n"
+    to_disp = to_disp + "<h3>Liste des User Stories terminées</h3>\n"
+    to_disp = to_disp + "<p>" + rapport.user_stories + "</p>\n"
+    to_disp = to_disp + "<h2>Rétrospective de l'itération précédente</h2>\n" \
+                        "<h3>Bilans des retours et des précédentes actions</h3>\n"
+    to_disp = to_disp + "<p>" + rapport.retro_retours + "</p>\n"
+    to_disp = to_disp + "<h3>Actions prises pour la prochaine itération</h3>\n"
+    to_disp = to_disp + "<p>" + rapport.retro_futur + "</p>"
+    to_disp = to_disp + "<h3>Axes d'améliorations</h3>\n"
+    to_disp = to_disp + "<p>" + rapport.retro_ameliorations + "</p>\n"
+    to_disp = to_disp + "<h2>Prévisions de l'itération suivante</h2>\n" \
+                        "<h3>Évènements prévus</h3>\n"
+    to_disp = to_disp + "<p>" + rapport.future_events + "</p>\n"
+    to_disp = to_disp + "<h3>Titre des User Stories reportées</h3>\n"
+    to_disp = to_disp + "<p>" + rapport.postponed_us + "</p>\n"
+    to_disp = to_disp + "<h3>Titre des nouvelles User Stories</h3>\n"
+    to_disp = to_disp + "<p>" + rapport.new_us + "</p>\n"
+    to_disp = to_disp + "<h2>Confiance</h2>\n" \
+                        "<h3>Taux de confiance de l'équipe dans l'itération</h3>\n"
+    to_disp = to_disp + "<table cellspacing='10px' cellpadding='10px;' rules='all' style='border:solid 1px black;'>\n" \
+                        "<tr><th></th><th>:(</th><th>:|</th><th>:)</th><th>:D</th></tr>\n"
+    to_disp = to_disp + "<tr><td>" + rapport.groupe + "</td><td>" + str(rapport.it_nul) + "</td><td>" + str(
+        rapport.it_moyen) + "</td><td>" + str(
+        rapport.it_bien) + "</td><td>" + str(rapport.it_excellent) + "</td></tr>\n"
+    to_disp = to_disp + "</table>\n"
+    to_disp = to_disp + "<h3>Taux de confiance de l'équipe pour la réalisation du projet</h3>\n"
+    to_disp = to_disp + "<tr><td>" + rapport.groupe + "</td><td>" + str(rapport.proj_nul) + "</td><td>" + str(
+        rapport.proj_moyen) + "</td><td>" + str(
+        rapport.proj_bien) + "</td><td>" + str(rapport.proj_excellent) + "</td></tr>\n"
+    to_disp = to_disp + "</table>\n"
+    return to_disp
\ No newline at end of file
diff --git a/Projet/polls/views.py b/Projet/polls/views.py
index 6e61e03..7c7f320 100644
--- a/Projet/polls/views.py
+++ b/Projet/polls/views.py
@@ -85,8 +85,35 @@ def manage_report(request):
         proj_bien = form.cleaned_data['proj_bien']
         proj_excellent = form.cleaned_data['proj_excellent']
 
-        #FAIRE LA TRANSFORMATION EN MARKDOWN
+        #SAUVEGARDER DANS LA BD
+
+        rap = Rapport(groupe = Groupe.all()[0],
+            product_owner = product_owner,
+            scrum_master = scrum_master,
+            events = events,
+            taux_completion = taux_completion,
+            user_stories = user_stories,
+            retro_retours = retro_retours,
+            retro_futur = retro_futur,
+            retro_ameliorations = retro_ameliorations,
+            future_events = future_events,
+            postponed_us = postponed_us,
+            new_us = new_us,
+            it_nul = it_nul,
+            it_moyen = it_moyen,
+            it_bien = it_bien,
+            it_excellent = it_excellent,
+            proj_nul = proj_nul,
+            proj_moyen = proj_moyen,
+            proj_bien = proj_bien ,
+            proj_excellent = proj_excellent ,
+)
+        rap.save()
+
+
 
+        #FAIRE LA TRANSFORMATION EN MARKDOWN
+"""
         to_write = "# Rapport d\'itération : iteration 0\n\n## Composition de l\'équipe\n*Remplir ce tableau avec la composition de l\'équipe et les rôles.*\n\n|  &nbsp;                 | Itération précédente     |\n| -------------           |-------------             |\n"
         to_write = to_write + "| **Product Owner**       | *" + product_owner + "* |\n"
         to_write = to_write + "| **Scrum Master**        | *" + scrum_master + "* |\n"
@@ -122,6 +149,7 @@ def manage_report(request):
         f = open("./test.md",mode='w')
         f.write(to_write)
         f.close()
+"""
         return HttpResponse("loll")
 
 def inscription(request):
@@ -306,10 +334,10 @@ def prof(request):
 
 
 def eleve(request):
-    latest_rapport_list = Rapport.objects.order_by('url')[:5]
+    latest_rapport = Rapport.objects.order_by('nIteration')[0]
     template = loader.get_template('polls/eleve.html')
     context = {
-        'latest_rapport_list': latest_rapport_list,
+        'latest_rapport': latest_rapport,
     }
 
     return HttpResponse(template.render(context, request))
-- 
GitLab