diff --git a/RapportTicket/RapportTicket.md b/RapportTicket/RapportTicket.md index 850808489968e9d4cb2a08f19e05a6133fe86789..f726f141cd1265fdc6c909a804cb1bb6e08c6166 100644 --- a/RapportTicket/RapportTicket.md +++ b/RapportTicket/RapportTicket.md @@ -34,7 +34,9 @@ En effet, on peut tout d'abord voir que le ticket contient le label `Enhancement ### 2.1 - Contexte de l'implémentation Tout d'abord on cherche à quel endroit sur scodoc sera ajouter la fonctionnalité. -On cherche donc la page d'un etudiant. + +Vu que le ticket nous demande d'ajouter une liste de modules où l'étudiant est inscrit, avec un formulaire de saisie de notes, il nous semble convenable d'implementer cette fonctionnalité sur la fiche étudiante. + Accès à la page d'un étudiant :  @@ -62,7 +64,47 @@ adresse_template = ( ) ``` -Après une analyse du code, +Après une analyse du code, on observe que dans `/app/scodoc/sco_page_etud.py`, la fiche étudiante est créer dans une méthode "fiche_etud(etudid)", où différentes parties de l'HTML sont misent dans un tableau "info": + +```python +if has_debouche: + info[ + "debouche_html" + ] = f"""<div id="fichedebouche" + data-readonly="{suivi_readonly}" + data-etudid="{info['etudid']}"> + <span class="debouche_tit">Devenir:</span> + <div><form> + <ul class="listdebouches"> + {link_add_suivi} + </ul> + </form></div> + </div>""" +``` + +La méthode renvois un "render_template" de flask à laquelle nous donnons: +une template j2 donnant la structure de base de la page, ainsi qu'une variable "tmpl" organisant le coeur des informations de la page qui viennent du tableau "info" ainsi que le tableau info, les classes CSS et le JavaScript de la page. + +```python +return render_template( + "sco_page_dept.j2", + content=tmpl % info, + title=f"Fiche étudiant {etud.nomprenom}", + cssstyles=[ + "libjs/jQuery-tagEditor/jquery.tag-editor.css", + "css/jury_but.css", + "css/cursus_but.css", + ], + javascripts=[ + "libjs/jinplace-1.2.1.min.js", + "js/ue_list.js", + "libjs/jQuery-tagEditor/jquery.tag-editor.min.js", + "libjs/jQuery-tagEditor/jquery.caret.min.js", + "js/recap_parcours.js", + "js/etud_debouche.js", + ], +``` + ### 2.2 - Proposition d'implémentation