diff --git a/Projet/polls/models.py b/Projet/polls/models.py index 0e6ec3ac6a0af6a124557cd2c73d298c93106d72..38eefa00d03f3b61558e07a55f7d8a3fb8e613b5 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 d2f00963fd8c5a41262196cf7e9ae2cea770dec1..613977acc46d3820c7237e20c30b4856e2b1d212 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 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 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 Binary files /dev/null and b/Projet/polls/templatetags/__pycache__/__init__.cpython-35.pyc differ 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 Binary files /dev/null and b/Projet/polls/templatetags/__pycache__/print_rapport.cpython-35.pyc differ diff --git a/Projet/polls/templatetags/print_rapport.py b/Projet/polls/templatetags/print_rapport.py new file mode 100644 index 0000000000000000000000000000000000000000..13c7868ac385be1ea10b695c8cf82fea910269eb --- /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 6e61e0330136acd6852008bb637f131be7625705..7c7f320bc9610553c12572108012ad14f0b8852a 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| | 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))