forked from ScoDoc/DocScoDoc
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
|
- `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
|
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
|
- `sco_page_dept.j2` page dans un département (avec sidebar) mais sans formsemestre (pas de
|
||||||
barre de menu)
|
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",
|
render_template( "votre_template.j2",
|
||||||
title="Changer de référentiel de compétences",
|
title="Changer de référentiel de compétences",
|
||||||
autre_variable=...
|
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)
|
Puis soit vous installez les versions "officielles" (testées)
|
||||||
|
|
||||||
```bash
|
```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
|
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:
|
puis upgrader et re-générer le fichier, comme suit:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cp requirements-3.11.txt requirements.text
|
cp requirements-3.11.txt requirements.txt
|
||||||
sed -i 's/[~=]=/>=/' requirements.txt
|
sed -i 's/[~=]=/>=/' requirements.txt
|
||||||
pip install -U -r requirements.txt
|
pip install -U -r requirements.txt
|
||||||
pip freeze > requirements-new.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_edit](#formsemestre_edit) | POST | EditFormSemestre |
|
||||||
| [formsemestre_edt](#formsemestre_edt-query) | GET | ScoView |
|
| [formsemestre_edt](#formsemestre_edt-query) | GET | ScoView |
|
||||||
| [formsemestre_etat_evaluations](#formsemestre_etat_evaluations) | 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_etudiants](#formsemestre_etudiants-query) | GET | ScoView |
|
||||||
| [formsemestre_get](#formsemestre_get) | GET | ScoView |
|
| [formsemestre_get](#formsemestre_get) | GET | ScoView |
|
||||||
| [formsemestre_partitions](#formsemestre_partitions) | 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_acronym](#logo_get_local_dept_by_acronym) | GET | ScoSuperAdmin |
|
||||||
| [logo_get_local_dept_by_id](#logo_get_local_dept_by_id) | GET | ScoSuperAdmin |
|
| [logo_get_local_dept_by_id](#logo_get_local_dept_by_id) | GET | ScoSuperAdmin |
|
||||||
| [logo_list_globals](#logo_list_globals) | 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_evaluations](#moduleimpl_evaluations) | GET | ScoView |
|
||||||
| [moduleimpl_inscriptions](#moduleimpl_inscriptions) | GET | ScoView |
|
| [moduleimpl_inscriptions](#moduleimpl_inscriptions) | GET | ScoView |
|
||||||
| [moduleimpl_notes](#moduleimpl_notes) | 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)
|
* **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)`**
|
#### **`formsemestre_etudiants(-query)`**
|
||||||
|
|
||||||
* **Routes:**
|
* **Routes:**
|
||||||
@ -1979,6 +2002,26 @@ Pour uniformiser les résultats des exemples, ceux sont soumis à quelques post-
|
|||||||
|
|
||||||
### API Moduleimpl
|
### 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`**
|
#### **`moduleimpl_inscriptions`**
|
||||||
|
|
||||||
* **Route:** `/ScoDoc/api/moduleimpl/<int:moduleimpl_id>/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/`.
|
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"
|
!!! 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