From b9c34516b198d84ea2b2ca0d3ea48e046e6a2b96 Mon Sep 17 00:00:00 2001 From: Dae <elodie.bouziat@ensiie.fr> Date: Mon, 18 Dec 2017 10:26:34 +0100 Subject: [PATCH] =?UTF-8?q?retour=20=C3=A0=20une=20version=20fonctionnelle?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Projet/ChandelIIEr/settings.py | 1 - Projet/db.sqlite3 | Bin 66560 -> 66560 bytes Projet/polls/forms.py | 52 ++++++------- Projet/polls/models.py | 14 +--- Projet/polls/static/polls/style.css | 72 ++++++++++++++++-- .../polls/templates/polls/gestiongroupe.html | 14 +++- Projet/polls/views.py | 43 ++++++++++- 7 files changed, 145 insertions(+), 51 deletions(-) diff --git a/Projet/ChandelIIEr/settings.py b/Projet/ChandelIIEr/settings.py index 2d79f4d..76841bb 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 GIT binary patch delta 357 zcmZqZU}@-JnIO$rJW<A(v3O&`5_V=jrlXVDIb=5rvMgkpe3WYmqw3}??pY$t?93XQ z*%g?WCo8bXPv%tS*=(YGfk%X$=^q2rKj!Vsxy+N8m6<)5?=aulEXeYVY4blLHpay) zQ&={$STON$aWOE5GVWpuW#pPH;PQ*VQI~_4p;6tDgP-4;gVS-cx@#i4o~gO9v5Cp# z4p$uz+rY@wVDlDNb|yg+1w#`nV+$(-Q$162a}yK8&1c*#1U9o|{Ndh|!XhA`%B;-5 z?8t1*Y|5<9tjVlAS**lxvuDXUrpXE{0+Sa6vusu`zstg`%Iq<jy~ca9Aj>zV%^vl8 z6xbM<-!m}3-z>=Tlv$9Uk%d8-(>WtCFC{g{)6=zR(-Ibu%`6FjnKv`;VOHT{Vr*ex zY+*XY;I>(irHpZN%fkjaDQ-qR2Idva0Zbp5HZTP;i80<`+|1a@7|y7-S&&75al0NP H<0U2liLqZe delta 802 zcmZqZU}@-JnIO$rIZ?)$v2tU=5_V>OrVW$XIb@lbHf$DT>0%NU)@0V@Oe`(Qh%YTp zEs9Ss$}cS_o_v&R38VVvEbdt%%pA;|o7okZm?vu}^9UOoDj1qrnV4A_S?HOY8X1|G zactI5zQZHJ!E}>>=^yiU=3M4U%*xCj%y*b>ZWd%Y$fT;m?8{hCl9rj3Qf!)6mY<xJ zUTBeBWLS`%mS~x8lAB>%WM<5<`JWLRBO4?0PX^|nn*~kYGqbZYvM?}ma%{3-<KdEE zU=C&6#T3dYF<HRn*JOoB{Cx5pybO)%#vJ_o)*PJ1lO<gfCpWt4Y~JF^&Ln7#<VF)i zOEc5WXWT6W*ch3AF);rEn=Z(}%EHLW$-%|Iz`)4-n}PW^SeTuGfrS}l=?+Gg&5S9` z0z&G{;tb4=%+}1N%=*ll%*xENlSN7l8O1ldl$>Xpydao`gG-&2nURr2ZL@OuLl$Or zX1mGkHQp@D&dhe31zBD&aj`ISGOB|Jwap&&dlc9hSQr?X--E527{ETsf@Lww5)p{# z9~99&DqPGAZVZeqOotfUCJVAy#5P%Tu==*JIuZ&^-;iV@zpRWLKbK_V$ndZXzuchg z$gJdYzbdB;-zryAU!y=nzYwo1KNqiz$f}eaf0wW<zsV0TicFq+i6bntJTt<`%`nA1 zBP}JuFDE(2GBYyVuP7?qG}|*PKQqd`AR{R^rOYSSuPiAqs4_9!votay%plR(6s|70 z($p`>C@3e%)hi>?s3a#TH*j*{W#P#h7d=FbbTQM==9Y&Ia&o*3CmEPmFb6PwVA{YG z$Rx&ihjBAwD`PmL9>YI|lamEmmNOZvPd<1<-o;4Q&|JaL)XKoz%Ft5J(9qb@*j!JI vlYw87QIL_-(ZV?~xumq1DLR(L$iUEC*ATAW5S(reEX_?Uw(Bu6USa|OOa<Go diff --git a/Projet/polls/forms.py b/Projet/polls/forms.py index 0b3b64f..408a3a6 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 47c7b2e..38eefa0 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 6f12e40..8022329 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 fb08113..272ceaa 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 c3b1762..b353182 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') -- GitLab