From 75eacf1e73417c66b3e8738d6818fbbccbf44e80 Mon Sep 17 00:00:00 2001 From: viennet Date: Thu, 15 Aug 2024 21:30:35 +0200 Subject: [PATCH] =?UTF-8?q?API=20inscriptions=20+=20infos=20d=C3=A9veloppe?= =?UTF-8?q?urs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/DevConventions.md | 69 +++++++++++++++++-- docs/GuideDeveloppeurs.md | 4 +- docs/ScoDoc9API.md | 46 +++++++++++++ docs/img/API_Chart.svg | 2 +- .../sample_moduleimpl_etud_desinscrit.json.md | 9 +++ ...sample_moduleimpl_etud_inscription.json.md | 11 +++ .../sample_moduleimpl_etud_inscrit.json.md | 11 +++ 7 files changed, 145 insertions(+), 7 deletions(-) create mode 100644 docs/samples/sample_moduleimpl_etud_desinscrit.json.md create mode 100644 docs/samples/sample_moduleimpl_etud_inscription.json.md create mode 100644 docs/samples/sample_moduleimpl_etud_inscrit.json.md diff --git a/docs/DevConventions.md b/docs/DevConventions.md index 9a4523fd5..a2af78bbd 100644 --- a/docs/DevConventions.md +++ b/docs/DevConventions.md @@ -76,7 +76,8 @@ Les templates suivants sont les plus utilisés pour les pages: - `sco_page.j2` page standard dans un formsemestre: avec sidebar et barre de menu du semestre. Le contenu de la variable `content` est placé comme HTML - brut (*safe*) dans la partie contenu. + brut (*safe*) dans la partie contenu. Passer `sco=ScoData(formsemestre=formsemestre)` + en argument au template. - `sco_page_dept.j2` page dans un département (avec sidebar) mais sans formsemestre (pas de barre de menu) @@ -97,9 +98,69 @@ Pour mémoire, l'appel d'un template dans une vue se fait ainsi: ```py render_template( "votre_template.j2", - title="Changer de référentiel de compétences", - autre_variable=... - ) + title="Changer de référentiel de compétences", + autre_variable=... +) +``` + +### Passage des anciennes pages ScoDoc 7 aux templates Jinja + +Les anciennes pages étaient générées en python selon la structure: + +```py +html_sco_header.sco_header( + cssstyles=["css/....css"], + javascripts=[ + "js/....js", + ], + page_title="titre de la page", +) +... contenu ... +html_sco_header.sco_footer() +``` + +La migration la plus simple consiste à utilise `sco_page.j2`: +```py +render_template( + "sco_page.j2", + content=contenu, + title="titre de la page", + cssstyles=["..."], + javascripts=["..."], +) +``` + +Mais si on souhaite générer le contenu dans un template, cela prendra la forme: + +```jinja-html +{% extends "sco_page.j2" %} + +{% block title %} + ...titre... +{% endblock title %} + +{% block styles %} + {{ super() }} + + +{% endblock styles %} + +{% block app_content %} +
+

titre page

+ ... contenu ... +
+{% endblock %} + +{% block scripts %} + {{ super() }} + + +{% endblock %} ``` diff --git a/docs/GuideDeveloppeurs.md b/docs/GuideDeveloppeurs.md index 3fdb06260..c18f0c0e1 100644 --- a/docs/GuideDeveloppeurs.md +++ b/docs/GuideDeveloppeurs.md @@ -112,7 +112,7 @@ bibliothèques, ou autres expériences de ce genre, vous pouvez le récréer ain Puis soit vous installez les versions "officielles" (testées) ```bash - pip install -r requirements-3.9.txt + pip install -r requirements-3.11.txt ``` Soit vous prenez les versions les plus à jour disponibles. Une façon rapide de @@ -134,7 +134,7 @@ Enfin, pour mettre à jour les paquets pip, il faut dégeler les versions (unpin puis upgrader et re-générer le fichier, comme suit: ```bash -cp requirements-3.11.txt requirements.text +cp requirements-3.11.txt requirements.txt sed -i 's/[~=]=/>=/' requirements.txt pip install -U -r requirements.txt pip freeze > requirements-new.txt diff --git a/docs/ScoDoc9API.md b/docs/ScoDoc9API.md index 7625404c4..f2199fcc4 100644 --- a/docs/ScoDoc9API.md +++ b/docs/ScoDoc9API.md @@ -309,6 +309,8 @@ permet de rechercher une entrée à partir du résultat attendu. | [formsemestre_edit](#formsemestre_edit) | POST | EditFormSemestre | | [formsemestre_edt](#formsemestre_edt-query) | GET | ScoView | | [formsemestre_etat_evaluations](#formsemestre_etat_evaluations) | GET | ScoView | +| [formsemestre_etud_desinscrit](#formsemestre_etud_desinscrit) | POST | EtudInscrit | +| [formsemestre_etud_inscrit](#formsemestre_etud_inscrit) | POST | EtudInscrit | | [formsemestre_etudiants](#formsemestre_etudiants-query) | GET | ScoView | | [formsemestre_get](#formsemestre_get) | GET | ScoView | | [formsemestre_partitions](#formsemestre_partitions) | GET | ScoView | @@ -346,6 +348,8 @@ permet de rechercher une entrée à partir du résultat attendu. | [logo_get_local_dept_by_acronym](#logo_get_local_dept_by_acronym) | GET | ScoSuperAdmin | | [logo_get_local_dept_by_id](#logo_get_local_dept_by_id) | GET | ScoSuperAdmin | | [logo_list_globals](#logo_list_globals) | GET | ScoSuperAdmin | +| [moduleimpl_etud_desinscrit](#moduleimpl_etud_desinscrit) | POST | ScoView | +| [moduleimpl_etud_inscrit](#moduleimpl_etud_inscrit) | POST | ScoView | | [moduleimpl_evaluations](#moduleimpl_evaluations) | GET | ScoView | | [moduleimpl_inscriptions](#moduleimpl_inscriptions) | GET | ScoView | | [moduleimpl_notes](#moduleimpl_notes) | GET | ScoView | @@ -1332,6 +1336,25 @@ Pour uniformiser les résultats des exemples, ceux sont soumis à quelques post- * **Exemple de résultat:** [formsemestre_etat_evaluations.json](./samples/sample_formsemestre_etat_evaluations.json.md) +#### **`formsemestre_etud_desinscrit`** + +* **Route:** `/ScoDoc/api/formsemestre//etudid//desinscrit` +* **Méthode:** `POST` +* **Permission:** `EtudInscrit` +* **Description:** Désinscrit l'étudiant de ce formsemestre et TOUS ses modules + + + +#### **`formsemestre_etud_inscrit`** + +* **Route:** `/ScoDoc/api/formsemestre//etudid//inscrit` +* **Méthode:** `POST` +* **Permission:** `EtudInscrit` +* **Description:** Inscrit l'étudiant à ce formsemestre et TOUS ses modules STANDARDS + (donc sauf les modules bonus sport). + + + #### **`formsemestre_etudiants(-query)`** * **Routes:** @@ -1979,6 +2002,26 @@ Pour uniformiser les résultats des exemples, ceux sont soumis à quelques post- ### API Moduleimpl +#### **`moduleimpl_etud_desinscrit`** + +* **Route:** `/ScoDoc/api/moduleimpl//etudid//desinscrit` +* **Méthode:** `POST` +* **Permission:** `ScoView` +* **Description:** Désinscrit l'étudiant de ce moduleimpl. + +* **Exemple de résultat:** [moduleimpl_etud_desinscrit.json](./samples/sample_moduleimpl_etud_desinscrit.json.md) + + +#### **`moduleimpl_etud_inscrit`** + +* **Route:** `/ScoDoc/api/moduleimpl//etudid//inscrit` +* **Méthode:** `POST` +* **Permission:** `ScoView` +* **Description:** Inscrit l'étudiant à ce moduleimpl. + +* **Exemple de résultat:** [moduleimpl_etud_inscrit.json](./samples/sample_moduleimpl_etud_inscrit.json.md) + + #### **`moduleimpl_inscriptions`** * **Route:** `/ScoDoc/api/moduleimpl//inscriptions` @@ -2189,6 +2232,9 @@ Pour uniformiser les résultats des exemples, ceux sont soumis à quelques post- Voir exemples d'utilisation de l'API en Python, dans `tests/api/`. +!!! info + Cette page a été générée par la commande `flask gen-api-doc`, et les exemples de résultats + sont créés par `tools/test_api.sh --make-samples`. !!! note "Voir aussi" diff --git a/docs/img/API_Chart.svg b/docs/img/API_Chart.svg index 4c29225c9..7ddd978b5 100644 --- a/docs/img/API_Chart.svg +++ b/docs/img/API_Chart.svg @@ -1,2 +1,2 @@ -/ScoDoc/api/tokens?assiduite/<int:assiduite_id>/justificatifs/long?edit??ine/<ine>/create?nip/<nip>/create?etudid/<int:etudid>/create?<int:etudid>/create?delete?assiduites/ine/<ine>/count/query?user_id=<int:user_id>&est_just=<bool:est_just>&moduleimpl_id=<int:moduleimpl_id>&date_debut=<string:date_debut_iso>&date_fin=<string:date_fin_iso>&etat=<array[string]:etat>&formsemestre_id=<int:formsemestre_id>&metric=<array[string]:metric>&split=<bool:split>&?query?user_id=<int:user_id>&est_just=<bool:est_just>&moduleimpl_id=<int:moduleimpl_id>&date_debut=<string:date_debut_iso>&date_fin=<string:date_fin_iso>&etat=<array[string]:etat>&formsemestre_id=<int:formsemestre_id>&with_justifs=<bool:with_justifs>&?evaluations?nip/<nip>/count/query?user_id=<int:user_id>&est_just=<bool:est_just>&moduleimpl_id=<int:moduleimpl_id>&date_debut=<string:date_debut_iso>&date_fin=<string:date_fin_iso>&etat=<array[string]:etat>&formsemestre_id=<int:formsemestre_id>&metric=<array[string]:metric>&split=<bool:split>&?query?user_id=<int:user_id>&est_just=<bool:est_just>&moduleimpl_id=<int:moduleimpl_id>&date_debut=<string:date_debut_iso>&date_fin=<string:date_fin_iso>&etat=<array[string]:etat>&formsemestre_id=<int:formsemestre_id>&with_justifs=<bool:with_justifs>&?evaluations?etudid/<int:etudid>/count/query?user_id=<int:user_id>&est_just=<bool:est_just>&moduleimpl_id=<int:moduleimpl_id>&date_debut=<string:date_debut_iso>&date_fin=<string:date_fin_iso>&etat=<array[string]:etat>&formsemestre_id=<int:formsemestre_id>&metric=<array[string]:metric>&split=<bool:split>&?query?user_id=<int:user_id>&est_just=<bool:est_just>&moduleimpl_id=<int:moduleimpl_id>&date_debut=<string:date_debut_iso>&date_fin=<string:date_fin_iso>&etat=<array[string]:etat>&formsemestre_id=<int:formsemestre_id>&with_justifs=<bool:with_justifs>&?evaluations?<int:etudid>/count/query?user_id=<int:user_id>&est_just=<bool:est_just>&moduleimpl_id=<int:moduleimpl_id>&date_debut=<string:date_debut_iso>&date_fin=<string:date_fin_iso>&etat=<array[string]:etat>&formsemestre_id=<int:formsemestre_id>&metric=<array[string]:metric>&split=<bool:split>&?query?user_id=<int:user_id>&est_just=<bool:est_just>&moduleimpl_id=<int:moduleimpl_id>&date_debut=<string:date_debut_iso>&date_fin=<string:date_fin_iso>&etat=<array[string]:etat>&formsemestre_id=<int:formsemestre_id>&with_justifs=<bool:with_justifs>&?evaluations?group/query?user_id=<int:user_id>&est_just=<bool:est_just>&moduleimpl_id=<int:moduleimpl_id>&date_debut=<string:date_debut_iso>&date_fin=<string:date_fin_iso>&etat=<array[string]:etat>&etudids=<array[int]:etudids>&formsemestre_id=<int:formsemestre_id>&with_justif=<bool:with_justif>&?formsemestre/<int:formsemestre_id>/query?user_id=<int:user_id>&est_just=<bool:est_just>&moduleimpl_id=<int:moduleimpl_id>&date_debut=<string:date_debut_iso>&date_fin=<string:date_fin_iso>&etat=<array[string]:etat>&?count/query?user_id=<int:user_id>&est_just=<bool:est_just>&moduleimpl_id=<int:moduleimpl_id>&date_debut=<string:date_debut_iso>&date_fin=<string:date_fin_iso>&etat=<array[string]:etat>&formsemestre_id=<int:formsemestre_id>&metric=<array[string]:metric>&split=<bool:split>&?create?edit?evaluation/<int:evaluation_id>/assiduites?notes/set??delete?billets_absence/etudiant/<int:etudid>?create?<int:billet_id>/delete?departements?departements_ids?departement/<string:acronym>/edit?delete?etudiants?formsemestres_ids?formsemestres_courants?date_courante=<string:date_courante>??id/<int:dept_id>/etudiants?formsemestres_ids?formsemestres_courants?date_courante=<string:date_courante>?logos?logo/<string:logoname>??create?<string:dept_acronym>/logos?<string:departement>/logo/<string:logoname>?etudiants/courants/long?date_courante=<string:date_courante>?ine/<string:ine>?nip/<string:nip>?etudid/<int:etudid>?name/<string:start>?etudiant/ine/<string:ine>/photo?size=<string:size>?formsemestres??nip/<string:nip>/photo?size=<string:size>?formsemestres??etudid/<int:etudid>/photo?size=<string:size>?formsemestres?formsemestre/<int:formsemestre_id>/groups??<string:code_type>/<string:code>/formsemestre/<int:formsemestre_id>/bulletin/<string:version>/pdf/nosig?edit?annotation/<int:annotation_id>/delete??create/force?<int:etudid>/jury/validation_ue/<int:validation_id>/delete?validation_formsemestre/<int:validation_id>/delete?autorisation_inscription/<int:validation_id>/delete?validation_rcue/record?<int:validation_id>/delete?validation_annee_but/<int:validation_id>/delete?validation_dut120/<int:validation_id>/delete?moduleimpl/<int:moduleimpl_id>/evaluations?evaluation/create?inscriptions?notes?formations?formations_ids?formation/<int:formation_id>/export_with_ids?export?referentiel_competences??ue/<int:ue_id>/set_parcours?assoc_niveau/<int:niveau_id>?desassoc_niveau?set_code_apogee/<string:code_apogee>??set_code_apogee_rcue/<string:code_apogee>??edit?set_code_apogee?module/<int:module_id>/set_code_apogee/<string:code_apogee>??edit??set_code_apogee?formsemestre/<int:formsemestre_id>/edit?bulletins/<string:version>?programme?etudiants/long/query?etat=<string:etat>?query?etat=<string:etat>?etat_evals?resultats?format=<string:format>?groups_get_auto_assignment?groups_save_auto_assignment?edt?decisions_jury?partitions/order??partition/create??apo/set_etapes?set_elt_sem?set_elt_annee?set_elt_passage?formsemestres/query?etape_apo=<string:etape_apo>&annee_scolaire=<string:annee_scolaire>&dept_acronym=<string:dept_acronym>&dept_id=<int:dept_id>&etat=<int:etat>&nip=<string:nip>&ine=<string:ine>&?justificatif/<int:justif_id>/edit?import?export/<filename>?remove?list?justifies??ine/<ine>/create?nip/<nip>/create?etudid/<int:etudid>/create?<int:etudid>/create?delete?justificatifs/ine/<ine>/query?user_id=<int:user_id>&date_debut=<string:date_debut_iso>&date_fin=<string:date_fin_iso>&etat=<array[string]:etat>&order=<bool:order>&courant=<bool:courant>&group_id=<int:group_id>&?nip/<nip>/query?user_id=<int:user_id>&date_debut=<string:date_debut_iso>&date_fin=<string:date_fin_iso>&etat=<array[string]:etat>&order=<bool:order>&courant=<bool:courant>&group_id=<int:group_id>&?etudid/<int:etudid>/query?user_id=<int:user_id>&date_debut=<string:date_debut_iso>&date_fin=<string:date_fin_iso>&etat=<array[string]:etat>&order=<bool:order>&courant=<bool:courant>&group_id=<int:group_id>&?<int:etudid>/query?user_id=<int:user_id>&date_debut=<string:date_debut_iso>&date_fin=<string:date_fin_iso>&etat=<array[string]:etat>&order=<bool:order>&courant=<bool:courant>&group_id=<int:group_id>&?dept/<int:dept_id>/query?user_id=<int:user_id>&est_just=<bool:est_just>&date_debut=<string:date_debut_iso>&date_fin=<string:date_fin_iso>&etat=<array[string]:etat>&order=<bool:order>&courant=<bool:courant>&group_id=<int:group_id>&?formsemestre/<int:formsemestre_id>/query?user_id=<int:user_id>&est_just=<bool:est_just>&date_debut=<string:date_debut_iso>&date_fin=<string:date_fin_iso>&etat=<array[string]:etat>&order=<bool:order>&courant=<bool:courant>&group_id=<int:group_id>&?logos?logo/<string:logoname>?partition/<int:partition_id>/remove_etudiant/<int:etudid>?group/create?groups/order?edit?delete??group/<int:group_id>/etudiants/query??set_etudiant/<int:etudid>?remove_etudiant/<int:etudid>?delete?edit?set_edt_id/<string:edt_id>?user/<int:uid>/edit?password?role/<string:role_name>/add/departement/<string:dept>?remove/departement/<string:dept>??create?users/query?permissions?role/<string:role_name>/add_permission/<string:perm_name>?remove_permission/<string:perm_name>?edit?delete??create/<string:role_name>?roles? \ No newline at end of file +/ScoDoc/api/tokens?assiduite/<int:assiduite_id>/justificatifs/long?edit??ine/<ine>/create?nip/<nip>/create?etudid/<int:etudid>/create?<int:etudid>/create?delete?assiduites/ine/<ine>/count/query?user_id=<int:user_id>&est_just=<bool:est_just>&moduleimpl_id=<int:moduleimpl_id>&date_debut=<string:date_debut_iso>&date_fin=<string:date_fin_iso>&etat=<array[string]:etat>&formsemestre_id=<int:formsemestre_id>&metric=<array[string]:metric>&split=<bool:split>&?query?user_id=<int:user_id>&est_just=<bool:est_just>&moduleimpl_id=<int:moduleimpl_id>&date_debut=<string:date_debut_iso>&date_fin=<string:date_fin_iso>&etat=<array[string]:etat>&formsemestre_id=<int:formsemestre_id>&with_justifs=<bool:with_justifs>&?evaluations?nip/<nip>/count/query?user_id=<int:user_id>&est_just=<bool:est_just>&moduleimpl_id=<int:moduleimpl_id>&date_debut=<string:date_debut_iso>&date_fin=<string:date_fin_iso>&etat=<array[string]:etat>&formsemestre_id=<int:formsemestre_id>&metric=<array[string]:metric>&split=<bool:split>&?query?user_id=<int:user_id>&est_just=<bool:est_just>&moduleimpl_id=<int:moduleimpl_id>&date_debut=<string:date_debut_iso>&date_fin=<string:date_fin_iso>&etat=<array[string]:etat>&formsemestre_id=<int:formsemestre_id>&with_justifs=<bool:with_justifs>&?evaluations?etudid/<int:etudid>/count/query?user_id=<int:user_id>&est_just=<bool:est_just>&moduleimpl_id=<int:moduleimpl_id>&date_debut=<string:date_debut_iso>&date_fin=<string:date_fin_iso>&etat=<array[string]:etat>&formsemestre_id=<int:formsemestre_id>&metric=<array[string]:metric>&split=<bool:split>&?query?user_id=<int:user_id>&est_just=<bool:est_just>&moduleimpl_id=<int:moduleimpl_id>&date_debut=<string:date_debut_iso>&date_fin=<string:date_fin_iso>&etat=<array[string]:etat>&formsemestre_id=<int:formsemestre_id>&with_justifs=<bool:with_justifs>&?evaluations?<int:etudid>/count/query?user_id=<int:user_id>&est_just=<bool:est_just>&moduleimpl_id=<int:moduleimpl_id>&date_debut=<string:date_debut_iso>&date_fin=<string:date_fin_iso>&etat=<array[string]:etat>&formsemestre_id=<int:formsemestre_id>&metric=<array[string]:metric>&split=<bool:split>&?query?user_id=<int:user_id>&est_just=<bool:est_just>&moduleimpl_id=<int:moduleimpl_id>&date_debut=<string:date_debut_iso>&date_fin=<string:date_fin_iso>&etat=<array[string]:etat>&formsemestre_id=<int:formsemestre_id>&with_justifs=<bool:with_justifs>&?evaluations?group/query?user_id=<int:user_id>&est_just=<bool:est_just>&moduleimpl_id=<int:moduleimpl_id>&date_debut=<string:date_debut_iso>&date_fin=<string:date_fin_iso>&etat=<array[string]:etat>&etudids=<array[int]:etudids>&formsemestre_id=<int:formsemestre_id>&with_justif=<bool:with_justif>&?formsemestre/<int:formsemestre_id>/query?user_id=<int:user_id>&est_just=<bool:est_just>&moduleimpl_id=<int:moduleimpl_id>&date_debut=<string:date_debut_iso>&date_fin=<string:date_fin_iso>&etat=<array[string]:etat>&?count/query?user_id=<int:user_id>&est_just=<bool:est_just>&moduleimpl_id=<int:moduleimpl_id>&date_debut=<string:date_debut_iso>&date_fin=<string:date_fin_iso>&etat=<array[string]:etat>&formsemestre_id=<int:formsemestre_id>&metric=<array[string]:metric>&split=<bool:split>&?create?edit?evaluation/<int:evaluation_id>/assiduites?notes/set??delete?billets_absence/etudiant/<int:etudid>?create?<int:billet_id>/delete?departements?departements_ids?departement/<string:acronym>/edit?delete?etudiants?formsemestres_ids?formsemestres_courants?date_courante=<string:date_courante>??id/<int:dept_id>/etudiants?formsemestres_ids?formsemestres_courants?date_courante=<string:date_courante>?logos?logo/<string:logoname>??create?<string:dept_acronym>/logos?<string:departement>/logo/<string:logoname>?etudiants/courants/long?date_courante=<string:date_courante>?ine/<string:ine>?nip/<string:nip>?etudid/<int:etudid>?name/<string:start>?etudiant/ine/<string:ine>/photo?size=<string:size>?formsemestres??nip/<string:nip>/photo?size=<string:size>?formsemestres??etudid/<int:etudid>/photo?size=<string:size>?formsemestres?formsemestre/<int:formsemestre_id>/groups??<string:code_type>/<string:code>/formsemestre/<int:formsemestre_id>/bulletin/<string:version>/pdf/nosig?edit?annotation/<int:annotation_id>/delete??create/force?<int:etudid>/jury/validation_ue/<int:validation_id>/delete?validation_formsemestre/<int:validation_id>/delete?autorisation_inscription/<int:validation_id>/delete?validation_rcue/record?<int:validation_id>/delete?validation_annee_but/<int:validation_id>/delete?validation_dut120/<int:validation_id>/delete?moduleimpl/<int:moduleimpl_id>/evaluations?evaluation/create?inscriptions?etudid/<int:etudid>/inscrit?desinscrit?notes?formations?formations_ids?formation/<int:formation_id>/export_with_ids?export?referentiel_competences??ue/<int:ue_id>/set_parcours?assoc_niveau/<int:niveau_id>?desassoc_niveau?set_code_apogee/<string:code_apogee>??set_code_apogee_rcue/<string:code_apogee>??edit?set_code_apogee?module/<int:module_id>/set_code_apogee/<string:code_apogee>??edit??set_code_apogee?formsemestre/<int:formsemestre_id>/edit?bulletins/<string:version>?programme?etudiants/long/query?etat=<string:etat>?query?etat=<string:etat>?etudid/<int:etudid>/inscrit?desinscrit?etat_evals?resultats?format=<string:format>?groups_get_auto_assignment?groups_save_auto_assignment?edt?decisions_jury?partitions/order??partition/create??apo/set_etapes?set_elt_sem?set_elt_annee?set_elt_passage?formsemestres/query?etape_apo=<string:etape_apo>&annee_scolaire=<string:annee_scolaire>&dept_acronym=<string:dept_acronym>&dept_id=<int:dept_id>&etat=<int:etat>&nip=<string:nip>&ine=<string:ine>&?justificatif/<int:justif_id>/edit?import?export/<filename>?remove?list?justifies??ine/<ine>/create?nip/<nip>/create?etudid/<int:etudid>/create?<int:etudid>/create?delete?justificatifs/ine/<ine>/query?user_id=<int:user_id>&date_debut=<string:date_debut_iso>&date_fin=<string:date_fin_iso>&etat=<array[string]:etat>&order=<bool:order>&courant=<bool:courant>&group_id=<int:group_id>&?nip/<nip>/query?user_id=<int:user_id>&date_debut=<string:date_debut_iso>&date_fin=<string:date_fin_iso>&etat=<array[string]:etat>&order=<bool:order>&courant=<bool:courant>&group_id=<int:group_id>&?etudid/<int:etudid>/query?user_id=<int:user_id>&date_debut=<string:date_debut_iso>&date_fin=<string:date_fin_iso>&etat=<array[string]:etat>&order=<bool:order>&courant=<bool:courant>&group_id=<int:group_id>&?<int:etudid>/query?user_id=<int:user_id>&date_debut=<string:date_debut_iso>&date_fin=<string:date_fin_iso>&etat=<array[string]:etat>&order=<bool:order>&courant=<bool:courant>&group_id=<int:group_id>&?dept/<int:dept_id>/query?user_id=<int:user_id>&est_just=<bool:est_just>&date_debut=<string:date_debut_iso>&date_fin=<string:date_fin_iso>&etat=<array[string]:etat>&order=<bool:order>&courant=<bool:courant>&group_id=<int:group_id>&?formsemestre/<int:formsemestre_id>/query?user_id=<int:user_id>&est_just=<bool:est_just>&date_debut=<string:date_debut_iso>&date_fin=<string:date_fin_iso>&etat=<array[string]:etat>&order=<bool:order>&courant=<bool:courant>&group_id=<int:group_id>&?logos?logo/<string:logoname>?partition/<int:partition_id>/remove_etudiant/<int:etudid>?group/create?groups/order?edit?delete??group/<int:group_id>/etudiants/query??set_etudiant/<int:etudid>?remove_etudiant/<int:etudid>?delete?edit?set_edt_id/<string:edt_id>?user/<int:uid>/edit?password?role/<string:role_name>/add/departement/<string:dept>?remove/departement/<string:dept>??create?users/query?permissions?role/<string:role_name>/add_permission/<string:perm_name>?remove_permission/<string:perm_name>?edit?delete??create/<string:role_name>?roles? \ No newline at end of file diff --git a/docs/samples/sample_moduleimpl_etud_desinscrit.json.md b/docs/samples/sample_moduleimpl_etud_desinscrit.json.md new file mode 100644 index 000000000..a2a8f97ae --- /dev/null +++ b/docs/samples/sample_moduleimpl_etud_desinscrit.json.md @@ -0,0 +1,9 @@ +### moduleimpl_etud_desinscrit + +#### POST /moduleimpl/1/etudid/2/desinscrit +```json +{ + "status": "ok" +} +``` + diff --git a/docs/samples/sample_moduleimpl_etud_inscription.json.md b/docs/samples/sample_moduleimpl_etud_inscription.json.md new file mode 100644 index 000000000..273106a8a --- /dev/null +++ b/docs/samples/sample_moduleimpl_etud_inscription.json.md @@ -0,0 +1,11 @@ +### moduleimpl_etud_inscription + +#### POST /moduleimpl/1/etudid/2/inscription +```json +{ + "etudid": 2, + "id": 22, + "moduleimpl_id": 1 +} +``` + diff --git a/docs/samples/sample_moduleimpl_etud_inscrit.json.md b/docs/samples/sample_moduleimpl_etud_inscrit.json.md new file mode 100644 index 000000000..bcda69136 --- /dev/null +++ b/docs/samples/sample_moduleimpl_etud_inscrit.json.md @@ -0,0 +1,11 @@ +### moduleimpl_etud_inscrit + +#### POST /moduleimpl/1/etudid/2/inscrit +```json +{ + "etudid": 2, + "id": 22, + "moduleimpl_id": 1 +} +``` +