API inscriptions + infos développeurs
This commit is contained in:
parent
8528217d5f
commit
75eacf1e73
@ -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)
|
||||
@ -99,7 +100,67 @@ Pour mémoire, l'appel d'un template dans une vue se fait ainsi:
|
||||
render_template( "votre_template.j2",
|
||||
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() }}
|
||||
<link rel="stylesheet" href="{{scu.STATIC_DIR}}/css/un_style_scodoc.css">
|
||||
<style>
|
||||
... styles locaux ...
|
||||
</style>
|
||||
{% endblock styles %}
|
||||
|
||||
{% block app_content %}
|
||||
<div class="pageContent">
|
||||
<h2>titre page</h2>
|
||||
... contenu ...
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block scripts %}
|
||||
{{ super() }}
|
||||
<script src="{{scu.STATIC_DIR}}/js/un_script_scodoc.js"></script>
|
||||
<script>
|
||||
... script js local ...
|
||||
</script>
|
||||
{% endblock %}
|
||||
```
|
||||
|
||||
|
||||
|
@ -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
|
||||
|
@ -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/<int:formsemestre_id>/etudid/<int: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/<int:formsemestre_id>/etudid/<int: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/<int:moduleimpl_id>/etudid/<int: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/<int:moduleimpl_id>/etudid/<int: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/<int:moduleimpl_id>/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"
|
||||
|
||||
|
File diff suppressed because one or more lines are too long
Before Width: | Height: | Size: 436 KiB After Width: | Height: | Size: 442 KiB |
9
docs/samples/sample_moduleimpl_etud_desinscrit.json.md
Normal file
9
docs/samples/sample_moduleimpl_etud_desinscrit.json.md
Normal file
@ -0,0 +1,9 @@
|
||||
### moduleimpl_etud_desinscrit
|
||||
|
||||
#### POST /moduleimpl/1/etudid/2/desinscrit
|
||||
```json
|
||||
{
|
||||
"status": "ok"
|
||||
}
|
||||
```
|
||||
|
11
docs/samples/sample_moduleimpl_etud_inscription.json.md
Normal file
11
docs/samples/sample_moduleimpl_etud_inscription.json.md
Normal file
@ -0,0 +1,11 @@
|
||||
### moduleimpl_etud_inscription
|
||||
|
||||
#### POST /moduleimpl/1/etudid/2/inscription
|
||||
```json
|
||||
{
|
||||
"etudid": 2,
|
||||
"id": 22,
|
||||
"moduleimpl_id": 1
|
||||
}
|
||||
```
|
||||
|
11
docs/samples/sample_moduleimpl_etud_inscrit.json.md
Normal file
11
docs/samples/sample_moduleimpl_etud_inscrit.json.md
Normal file
@ -0,0 +1,11 @@
|
||||
### moduleimpl_etud_inscrit
|
||||
|
||||
#### POST /moduleimpl/1/etudid/2/inscrit
|
||||
```json
|
||||
{
|
||||
"etudid": 2,
|
||||
"id": 22,
|
||||
"moduleimpl_id": 1
|
||||
}
|
||||
```
|
||||
|
Loading…
Reference in New Issue
Block a user