diff --git a/Projet/ChandelIIEr/settings.py b/Projet/ChandelIIEr/settings.py index 2d79f4d4fd9013236e92ed540ddc0d43fc32b5f1..76841bb9fa784e9d7ce9bf3f72faffca7912e857 100644 --- a/Projet/ChandelIIEr/settings.py +++ b/Projet/ChandelIIEr/settings.py @@ -32,7 +32,6 @@ ALLOWED_HOSTS = [] INSTALLED_APPS = [ 'polls.apps.PollsConfig', - 'polls.templatetags.print_rapport', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', diff --git a/Projet/db.sqlite3 b/Projet/db.sqlite3 index 13c085f49d09fde83fa4becfa1b23d20fce8a47c..cf39e8fe605f663d55f0cb36166af1d4e7e68f82 100644 Binary files a/Projet/db.sqlite3 and b/Projet/db.sqlite3 differ diff --git a/Projet/polls/forms.py b/Projet/polls/forms.py index 0b3b64fb573045815d68f62dcb5e6e26ca3b9480..408a3a6a4643c1d6af1739fedcaa3aaca170ba0f 100644 --- a/Projet/polls/forms.py +++ b/Projet/polls/forms.py @@ -1,34 +1,30 @@ from django import forms -from .models import Rapport class ReportForm(forms.Form): - class Meta: - model = Rapport - fields = ['brouillon', - 'product_owner', - 'scrum_master', - 'dev1', - 'dev2', - 'dev3', - 'dev4', - 'dev5', - 'events', - 'taux_completion', - 'user_stories', - 'retro_retours', - 'retro_futur', - 'retro_amelioration', - 'future_events', - 'postponed_us', - 'new_us', - 'it_nul', - 'it_moyen', - 'it_bien', - 'it_excellent', - 'proj_nul', - 'proj_moyen', - 'proj_bien', - 'proj_excellent'] + product_owner = forms.CharField() + scrum_master = forms.CharField() + dev1=forms.CharField() + dev2=forms.CharField() + dev3=forms.CharField() + dev4=forms.CharField() + dev5=forms.CharField() + events = forms.CharField(widget=forms.Textarea) + taux_completion = forms.CharField(widget=forms.Textarea) + user_stories = forms.CharField(widget=forms.Textarea) + retro_retours = forms.CharField(widget=forms.Textarea) + retro_futur = forms.CharField(widget=forms.Textarea) + retro_ameliorations = forms.CharField(widget=forms.Textarea) + future_events = forms.CharField(widget=forms.Textarea) + postponed_us = forms.CharField(widget=forms.Textarea) + new_us = forms.CharField(widget=forms.Textarea) + it_nul = forms.IntegerField(max_value=7, min_value=0) + it_moyen = forms.IntegerField(max_value=7, min_value=0) + it_bien = forms.IntegerField(max_value=7, min_value=0) + it_excellent = forms.IntegerField(max_value=7, min_value=0) + proj_nul = forms.IntegerField(max_value=7, min_value=0) + proj_moyen = forms.IntegerField(max_value=7, min_value=0) + proj_bien = forms.IntegerField(max_value=7, min_value=0) + proj_excellent = forms.IntegerField(max_value=7, min_value=0) class InscriptionForm(forms.Form): prenom = forms.CharField(max_length=50) diff --git a/Projet/polls/models.py b/Projet/polls/models.py index 47c7b2ee75cb2b1cef165ca609f1f6fba759ded4..38eefa00d03f3b61558e07a55f7d8a3fb8e613b5 100644 --- a/Projet/polls/models.py +++ b/Projet/polls/models.py @@ -1,7 +1,6 @@ # -*- coding: utf-8 -*- from django.db import models -from django.contrib.auth.models import User -from django.contrib.auth.models import Group + class Question(models.Model): question_text = models.CharField(max_length=200) @@ -38,7 +37,7 @@ class Eleve(models.Model): class Groupe(models.Model): nom = models.CharField(default="nom du groupe",max_length=50) prof = models.ForeignKey(Prof,null=True, blank=True) - eleves = models.ManyToManyField(Eleve) + eleves=models.ManyToManyField(Eleve) def __str__(self): return self.nom @@ -48,13 +47,8 @@ class Rapport(models.Model): groupe = models.ForeignKey(Groupe, on_delete=models.CASCADE) nIteration = models.IntegerField(default=0) brouillon = models.BooleanField(default=False) - product_owner = models.CharField(max_length = 150) - scrum_master = models.CharField(max_length = 150) - dev1 = models.CharField(max_length = 150) - dev2 = models.CharField(max_length = 150) - dev3 = models.CharField(max_length = 150) - dev4 = models.CharField(max_length = 150) - dev5 = models.CharField(max_length = 150) + 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) diff --git a/Projet/polls/static/polls/style.css b/Projet/polls/static/polls/style.css index 6f12e40fde3d48cb44bb80b7005ee7f0955929b3..80223293e99fcb2036044d6413f78606bfa6ddfd 100644 --- a/Projet/polls/static/polls/style.css +++ b/Projet/polls/static/polls/style.css @@ -378,24 +378,80 @@ input[type=password], select { text-align: center; } -.right-groupe-icone{ - -webkit-border-radius:25px; - -moz-border-radius:25px; - border-radius:25px; - width:30%; +.right-groupe-icone { + -webkit-border-radius: 25px; + -moz-border-radius: 25px; + border-radius: 25px; + width: 28%; background: white; - border-color: lightblue; + border-color: darkslategrey; border-width: 5px; border-style: solid; - margin: 10px; + margin-left: 1%; + margin-right: 1%; + margin-top: 5px; + margin-bottom: 5px; font-family: "Ubuntu Beta", "Bitstream Vera Sans", DejaVu Sans, Tahoma, sans-serif; text-align: center; font-size: larger; - padding : 10px; + padding: 10px; + transition: border-color 0.2s, color 0.2s, width 0.2s; + color: darkslategrey; } .right-groupe-icone:hover{ border-color: blue; + color:darkblue; + width:30%; +} + +#conteneur{ + display: flex; + flex-wrap: wrap; +} + +#conteneur_bouton_rapport{ + display: flex; + flex-wrap: wrap; +} + +.button_groupe{ + padding:10px 10px 10px 10px; + font-size: larger; + font-weight: bold; + font-family: "Ubuntu Beta", "Bitstream Vera Sans", DejaVu Sans, Tahoma, sans-serif; + background: royalblue; + color:white; + border-radius:2px; + border:none; + border-bottom-left-radius: 25px; + border-bottom-right-radius: 25px; + border-top-left-radius: 25px; + border-top-right-radius: 25px; + margin-left: 1%; + margin-top: 20px; +} + +.button_groupe:hover{ + color: springgreen; } +.icone img{ + border-radius :50%; + border:4px solid gray; + padding:20px; + background: url("groupe_default.jpg"); + height: 10px; +} + +.roundedImage{ + overflow:hidden; + -webkit-border-radius:50px; + -moz-border-radius:50px; + border-radius:50px; + width:90px; + height:90px; + background: url(groupe_default.jpg) no-repeat 0px 0px + +} diff --git a/Projet/polls/templates/polls/gestiongroupe.html b/Projet/polls/templates/polls/gestiongroupe.html index fb0811326d1bc3edb64a7ee3fba258efbb6d9cf8..272ceaa347d40c3b4ece03296ab43b7ffe8994de 100644 --- a/Projet/polls/templates/polls/gestiongroupe.html +++ b/Projet/polls/templates/polls/gestiongroupe.html @@ -26,11 +26,19 @@ <div class="right-report-block2"> Affichage des membres<br/> Lien vers le dernier rapport<br/> + <div id="conteneur_bouton_rapport"> + <input class="button_groupe" type="submit" value="Ajouter/Supprimer un membre" /> + <input class="button_groupe" type="submit" value="Créer un nouveau rapport" /> + </div> + <div class="roundedImage"> </div> - Bouton ajouter/supprimer un membre<br/> - Bouton créer un nouveau rapport pour ce groupe<br/> </div> - <h1 class="right-groupe-icone">Autre groupe</h1> + <div id="conteneur"> + <h1 class="right-groupe-icone">Autre groupe</h1> + <h1 class="right-groupe-icone">Autre groupe</h1> + <h1 class="right-groupe-icone">Autre groupe</h1> + <h1 class="right-groupe-icone">Autre groupe</h1> + </div> </div> </span> </body> diff --git a/Projet/polls/views.py b/Projet/polls/views.py index c3b1762e5853ab3e933898b2cf068b0440e494b8..b3531823ca0bec406b9c9db7dfcb839055891d12 100644 --- a/Projet/polls/views.py +++ b/Projet/polls/views.py @@ -109,7 +109,48 @@ def manage_report(request): proj_excellent = proj_excellent , ) rap.save() - return HttpResponse("loll") + + + + #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" + to_write = to_write + "| **Développeur** | *" + dev1 + "* |\n" + to_write = to_write + "| **Développeur** | *" + dev2 + "* |\n" + to_write = to_write + "| **Développeur** | *" + dev3 + "* |\n" + to_write = to_write + "| **Développeur** | *" + dev4 + "* |\n" + to_write = to_write + "| **Développeur** | *" + dev5 + "* |\n" + to_write = to_write + "\n" + to_write = to_write + "## Bilan de l\'itération précédente\n### Évènements\n *Quels sont les évènements qui ont marqué l\'itération précédente? Répertoriez ici les évènements qui ont eu un impact sur ce qui était prévu à l\'itération précédente.*\n" + to_write = to_write + ">" + events +"\n\n" + to_write = to_write + "### Taux de complétion de l\'itération\n*Quel est le nombre d\'éléments terminés par rapport au nombre total d\'éléments prévu pour l\'itération?*\n" + to_write = to_write + ">" + taux_completion + "\n\n" + to_write = to_write + "### Liste des User Stories terminées\n*Quelles sont les User Stories qui ont été validées par le PO à la fin de l\'itération ?*\n" + to_write = to_write + ">" + user_stories + "\n\n" + to_write = to_write + "## Rétrospective de l\'itération précédente\n\n### Bilans des retours et des précédentes actions\n*Quels sont les retours faits par l\'équipe pendant la rétrospective? Quelles sont les actions qui ont apporté quelque chose ou non?*\n" + to_write = to_write + ">" + retro_retours + "\n\n" + to_write = to_write + "### Actions prises pour la prochaine itération\n*Quelles sont les actions décidées par l\'équipe pour la prochaine itération ?*\n" + to_write = to_write + ">" + retro_futur + "\n\n" + to_write = to_write + "### Axes d\'améliorations\n*Quels sont les axes d\'améliorations pour les personnes qui ont tenu les rôles de PO, SM et Dev sur la précédente itération?*\n" + to_write = to_write + ">" + retro_ameliorations + "\n\n" + to_write = to_write + "## Prévisions de l\'itération suivante\n### Évènements prévus\n*Quels sont les évènements qui vont peut être impacter l\'itération? Répertoriez ici les évènements que vous anticipez comme ayant un impact potentiel pour l\'itération (absences, changement de cap, difficultés, etc.).*\n" + to_write = to_write + ">" + future_events + "\n\n" + to_write = to_write + "### Titre des User Stories reportées\n*Lister ici les éléments des itérations précédentes qui ont été reportés à l\'itération suivante. Ces éléments ont dû être revus et corrigés par le PO.*\n" + to_write = to_write + ">" + postponed_us + "\n\n" + to_write = to_write + "### Titre des nouvelles User Stories\n*Lister ici les nouveaux éléments pour l\'itération suivante. Ces éléments ont dû être revus et corrigés par le PO.*\n" + to_write = to_write + ">" + new_us + "\n\n" + to_write = to_write + "## Confiance\n### Taux de confiance de l\'équipe dans l\'itération\n*Remplir le tableau sachant que :D est une confiance totale dans le fait de livrer les éléments de l\'itération. Mettre le nombre de votes dans chacune des cases. Expliquer en cas de besoin.*\n" + to_write = to_write + "\n| | :( | :| | :) | :D |\n|:--------: |:----: |:----: |:----: |:----: |\n" + to_write = to_write + "| Equipe 7 | *" + str(it_nul) + "* | *" + str(it_moyen) + "* | *" + str(it_bien) + "* | *" + str(it_excellent) + "* |\n\n" + to_write = to_write + "### Taux de confiance de l\'équipe pour la réalisation du projet\n*Remplir le tableau sachant que :D est une confiance totale dans le fait de réaliser le projet. Mettre le nombre de votes dans chacune des cases. Expliquer en cas de besoin.*\n\n" + to_write = to_write + "| Equipe 7 | *" + str(proj_nul) + "* | *" + str(proj_moyen) + "* | *" + str(proj_bien) + "* | *" + str(proj_excellent) + "* |\n\n" + f = open("./test.md",mode='w') + f.write(to_write) + f.close() +""" + # return HttpResponse("loll") def inscription(request): template = loader.get_template('polls/inscription.html')