diff --git a/RapportTicket/RapportTicket.md b/RapportTicket/RapportTicket.md index 4304423dee51f7ba3713838b7c1b6964f7e4dc65..a0ef5e4ea6a86c2a21faee3910be40a50fb63ddc 100644 --- a/RapportTicket/RapportTicket.md +++ b/RapportTicket/RapportTicket.md @@ -113,14 +113,33 @@ romain t'as rien branlé en 1h30 ### 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. + +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 :  +<<<<<<< HEAD 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. 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 +======= + +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` Avec le code HTML : ``` @@ -135,19 +154,29 @@ Avec le code HTML : </div> <div class=evaluations></div> </section> +<<<<<<< HEAD ``` romain t'as rien branlé en 1h30 +======= +``` + + +>>>>>>> df63bd2901ef79a995d4eb5e766a13d065f3c414 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 +<<<<<<< HEAD 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 - 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 choix fait - plus simple car juste une section a recuperer puis injecter l'idéée d'implementation romain t'as rien branlé en 1h30 diff --git a/app/scodoc/sco_page_etud.py b/app/scodoc/sco_page_etud.py index cd82fe18fe04d388b2fdb0790ecc2ac6f07b97ea..906f170bea081186f90ce0374e26baae324eb6de 100644 --- a/app/scodoc/sco_page_etud.py +++ b/app/scodoc/sco_page_etud.py @@ -44,7 +44,9 @@ from app.models import ( Identite, ScoDocSiteConfig, ValidationDUT120, - ModuleImpl + ModuleImpl, + Evaluation, + NotesNotes ) from app.scodoc import ( codes_cursus, @@ -715,13 +717,14 @@ def get_ressources(etud: Identite) -> str: <div class="notes"> """ """Ajouter les notes pour la ressource""" - res += getNoteFromModule(ressource, etud) + res += get_note_from_module(ressource, etud) res += f"""</div> </div> </section>""" if m_list[scu.ModuleType.SAE]: res += f"""<section> - <div> + <div> if (adresse and adresse.telephonemobile) + <h2> SAE </h2> """ for sae in m_list[scu.ModuleType.SAE]: @@ -741,10 +744,23 @@ def get_ressources(etud: Identite) -> str: """ return res -def getNoteFromModule(module: ModuleImpl, etud: Identite) -> str: - """Renvoie la note d'un module""" - if module.note: - return f"""<span class="note">{module.note}</span>""" +def get_note_from_module(module: ModuleImpl, etud: Identite) -> str: + """Renvoie les notes d'un module donné""" + res = "" + + # 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 "" def _format_adresse(adresse: Adresse | None) -> dict: