Skip to content
Snippets Groups Projects
Commit 16f61e4d authored by Romain Degez's avatar Romain Degez
Browse files
parents 33c66127 d9ac2332
Branches
No related tags found
No related merge requests found
......@@ -34,12 +34,14 @@ 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 :
![Page étudiant](./images/page_etudiant.png )
Ensuite on a besoin de savoir où cette page est généré dans le code, pour cela on recherche dans le code la chaine de caractere `Adresse :` que l'on peut voir sur la page. Cela nous permet de trouver le fichier `sco_page_etud.py` dans lequel est générer tous le html pour la page.
Ensuite on a besoin de savoir où cette page est généré dans le code, pour cela on recherche dans le code la chaine de caractere `Adresse :` que l'on peut voir sur la page. Cela nous permet de trouver le fichier `/app/scodoc/sco_page_etud.py` dans lequel est générer tous le html pour la page.
```python
adresse_template = (
......@@ -62,6 +64,47 @@ adresse_template = (
)
```
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
......
......@@ -421,17 +421,18 @@ def fiche_etud(etudid=None):
# Modules & Notes
info["module_html"] = """<section>
<div>
<h2>Ressources</h2>
<div class=CTA_Liste>
Liste <svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="#ffffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M18 15l-6-6-6 6" />
</svg>
</div>
#added brut ui classes, to remove later
info["module_html"] = f"""
<div id=ressources class="ui-accordion ui-widget ui-helper-reset"
data-etudid="{info['etudid']}">
<span class="modules ui-accordion-header ui-helper-reset ui-state-default ui-corner-all ui-accordion-icons"> Ressources: </span>
<div> <form>
<ul class="listressources">
rien mdr
</ul>
</form> </div>
</div>
<div class=evaluations></div>
</section>"""
"""
# Devenir de l'étudiant:
has_debouche = True
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment