Skip to content
Snippets Groups Projects
Commit 4b54c006 authored by Romain Degez's avatar Romain Degez
Browse files
parents a91b74cc df63bd29
No related branches found
No related tags found
No related merge requests found
...@@ -113,14 +113,33 @@ romain t'as rien branlé en 1h30 ...@@ -113,14 +113,33 @@ romain t'as rien branlé en 1h30
### 2.2 - Proposition d'implémentation ### 2.2 - Proposition d'implémentation
Maintenant que nous savons où l'implémentation doit être faite, il faut savoir ce que nous allons rendre accessible afin de résoudre le ticket, dans ce but nous avons deux idées différentes sur comment permettre la visualisation des modules & notes manquantes:
- Nous pourrions implémenter un menu déroulant sur la page de l'etudiant, similaire à la rubrique "Devenir" déjà présente
- Nous pourrions aussi créer une nouvelle page, accessible depuis un bouton "modifier notes" amenant à une page externe, que nous pourrions faire visuellement ressembler au bouton permettant d'inscrire à un autre semestre
Nous avons réfléchi à la manière d'implémenter efficacement l'affichage de toutes les notes sur la page actuelle. Nous avons réfléchi à la manière d'implémenter efficacement l'affichage de toutes les notes sur la page actuelle.
Après avoir regardé ce qui serait le plus logique et s'intégrant le mieux à l'application, nous avons décidé de l'implémenter en menu déroulant.
L'idée serait de reproduire ce que l'on retrouve sur la page `Bas de cas de jury` d'un semestre de l'étudiant, avec toutes les notes de chaque module, comprenant un champ modifiable pour chacune : L'idée serait de reproduire ce que l'on retrouve sur la page `Bas de cas de jury` d'un semestre de l'étudiant, avec toutes les notes de chaque module, comprenant un champ modifiable pour chacune :
![Page étudiant](./images/section_ressources.png ) ![Page étudiant](./images/section_ressources.png )
<<<<<<< HEAD
romain t'as rien branlé en 1h30 romain t'as rien branlé en 1h30
La première difficulté est de retrouver cette mise en page dans le code afin de réutiliser le style avec le HTML et les classes CSS correctes. La première difficulté est de retrouver cette mise en page dans le code afin de réutiliser le style avec le HTML et les classes CSS correctes.
Ensuite, il nous faut trouver comment ajouter des champs modifiables qui mettent à jour la base de données à chaque modification. Ensuite, il nous faut trouver comment ajouter des champs modifiables qui mettent à jour la base de données à chaque modification.
romain t'as rien branlé en 1h30 romain t'as rien branlé en 1h30
=======
Ce ticket nous demande une implémentation en front-end et en back-end, en effet il nous faut une liste sur la page de fiche étudiante, remplie avec les informations nécessaires, ainsi qu'une implémentation de l'ajout de notes dans les évaluations où les notes sont manquantes.
### 2.2.1 - Implémentation graphique
Nous avons plusieurs problèmes qu'il faut palier afin d'implémenter l'interface comme nous le souhaitons. Premièrement il faut récupérer les infos qui composent notre liste.
La première difficulté dans l'implémentation est de retrouver cette mise en page dans le code afin de réutiliser le style avec le HTML et les classes CSS correctes.
>>>>>>> df63bd2901ef79a995d4eb5e766a13d065f3c414
On retrouve le template de l'affichage dans le fichier `app/static/js/releve-but.js` On retrouve le template de l'affichage dans le fichier `app/static/js/releve-but.js`
Avec le code HTML : Avec le code HTML :
``` ```
...@@ -135,19 +154,29 @@ Avec le code HTML : ...@@ -135,19 +154,29 @@ Avec le code HTML :
</div> </div>
<div class=evaluations></div> <div class=evaluations></div>
</section> </section>
<<<<<<< HEAD
``` romain t'as rien branlé en 1h30 ``` romain t'as rien branlé en 1h30
=======
```
>>>>>>> df63bd2901ef79a995d4eb5e766a13d065f3c414
Et les methodes qui le complete `module()` et `evaluation()` Et les methodes qui le complete `module()` et `evaluation()`
Après des recherches dans le code,
pour recupere les notes des ressources on a teste l'api pour recuperer notes d'un étudiant, mais l'endpoint buylletin ne retourne pas tous ce qui est montre dans l'exemple de la doc (dont les notes que l'on a besoijn) apres avoir regarde le code devant rendre ce que retourne l'api on voir que l'attribut ressource n'est jamaismentionner donc la sample est potentoiellement incorrect pour recupere les notes des ressources on a teste l'api pour recuperer notes d'un étudiant, mais l'endpoint buylletin ne retourne pas tous ce qui est montre dans l'exemple de la doc (dont les notes que l'on a besoijn) apres avoir regarde le code devant rendre ce que retourne l'api on voir que l'attribut ressource n'est jamaismentionner donc la sample est potentoiellement incorrect
<<<<<<< HEAD
Maintenant que l'on sait comment faire il faut choisir comment le rndre accessible: romain t'as rien branlé en 1h30 Maintenant que l'on sait comment faire il faut choisir comment le rndre accessible: romain t'as rien branlé en 1h30
- menu deroulant sur la page de l'etudiant comme le menu devenir - menu deroulant sur la page de l'etudiant comme le menu devenir
- lien (bouton modifier notes) amenant a une page externe comme le bouton inscire a un autre semestre romain t'as rien branlé en 1h30 - lien (bouton modifier notes) amenant a une page externe comme le bouton inscire a un autre semestre romain t'as rien branlé en 1h30
=======
>>>>>>> df63bd2901ef79a995d4eb5e766a13d065f3c414
decrire les avantages et incconvenients decrire les avantages et incconvenients
choix fait choix fait
- plus simple car juste une section a recuperer puis injecter l'idéée d'implementation romain t'as rien branlé en 1h30 - plus simple car juste une section a recuperer puis injecter l'idéée d'implementation romain t'as rien branlé en 1h30
......
...@@ -44,7 +44,9 @@ from app.models import ( ...@@ -44,7 +44,9 @@ from app.models import (
Identite, Identite,
ScoDocSiteConfig, ScoDocSiteConfig,
ValidationDUT120, ValidationDUT120,
ModuleImpl ModuleImpl,
Evaluation,
NotesNotes
) )
from app.scodoc import ( from app.scodoc import (
codes_cursus, codes_cursus,
...@@ -715,13 +717,14 @@ def get_ressources(etud: Identite) -> str: ...@@ -715,13 +717,14 @@ def get_ressources(etud: Identite) -> str:
<div class="notes"> <div class="notes">
""" """
"""Ajouter les notes pour la ressource""" """Ajouter les notes pour la ressource"""
res += getNoteFromModule(ressource, etud) res += get_note_from_module(ressource, etud)
res += f"""</div> </div> </section>""" res += f"""</div> </div> </section>"""
if m_list[scu.ModuleType.SAE]: if m_list[scu.ModuleType.SAE]:
res += f"""<section> res += f"""<section>
<div> <div> if (adresse and adresse.telephonemobile)
<h2> SAE </h2> <h2> SAE </h2>
""" """
for sae in m_list[scu.ModuleType.SAE]: for sae in m_list[scu.ModuleType.SAE]:
...@@ -741,10 +744,23 @@ def get_ressources(etud: Identite) -> str: ...@@ -741,10 +744,23 @@ def get_ressources(etud: Identite) -> str:
""" """
return res return res
def getNoteFromModule(module: ModuleImpl, etud: Identite) -> str: def get_note_from_module(module: ModuleImpl, etud: Identite) -> str:
"""Renvoie la note d'un module""" """Renvoie les notes d'un module donné"""
if module.note: res = ""
return f"""<span class="note">{module.note}</span>"""
# if (module.evaluations) :
# moduleEvaluations = list[Evaluation](module.evaluations)
# for evaluation in moduleEvaluations :
# note = NotesNotes(evaluation.get_etud_note(etud))
# res += f"""
# <div class="note">
# <h4> {evaluation.code} </h4>
# <p> Note : {note.note} </p>
# <p> Commentaire : {note.commentaire} </p>
# </div>
# """
return "" return ""
def _format_adresse(adresse: Adresse | None) -> dict: def _format_adresse(adresse: Adresse | None) -> dict:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment