Assiduité : ajout doc manquante + mise à jour samples

This commit is contained in:
Iziram 2024-03-29 16:17:40 +01:00
parent 56fa613fcc
commit 7ef0f108b4
17 changed files with 701 additions and 267 deletions

View File

@ -1715,10 +1715,15 @@ Cette API est disponible à partir de ScoDoc 9.6 et remplace les absences.
| *user_name* | str ou null | login de l'utilisateur ayant créé l'assiduité |
| *est_just* | boolean | l'assiduité est-elle justifiée |
| *entry_date* | string | la date d'entrée de l'assiduité |
| *external_data* | objet ou null | un objet décrivant des actions non utilisée par ScoDoc |
> Rappel du format de date ISO : yyyy-mm-jjTHH:MM:SS
> Rappel du format de date ISO : yyyy-mm-ddTHH:MM:SS
> Vous pouvez aussi spécifier le temps UTC en ajoutant '+HH:MM' à la fin
!!! warning
Le champs `external_data` est utilisé par ScoDoc pour déterminer les assiduités utilisant n'utilisant pas de module particulier (Tout module / Autre module dans ScoDoc). Il aura alors la forme suivante : `{"module": "Autre"}`
#### **assiduite**
* **Méthode:** GET
@ -1728,6 +1733,20 @@ Cette API est disponible à partir de ScoDoc 9.6 et remplace les absences.
* **Exemple d'utilisation:** `/api/assiduite/1`
* **Résultat:** Retourne un objet assiduité ou une erreur si l'id n'est pas connu
* **Exemple de résultat:** [assiduite.json](samples/sample_assiduite.json.md)
*
#### **assiduite-justificatifs[-long]**
* **Méthode:** GET
* **Permission: `ScoView`**
* **Paramètres:** `assiduite_id`
* **Routes:**
* `/assiduite/<int:assiduite_id>/justificatifs`
* `/assiduite/<int:assiduite_id>/justificatifs/long`
* **Exemple d'utilisation:**
* `/api/assiduite/123/justificatifs`
* `/api/assiduite/123/justificatifs/long`
* **Résultat:** Retourne une liste de justificatifs. des objets en utilisant la route `long` sinon les justif_id
* **Exemple de résultat:** [assiduite-justificatifs.json](samples/sample_assiduite_justificatifs.json.md)
#### **assiduites[-query]**
@ -1745,6 +1764,9 @@ Cette API est disponible à partir de ScoDoc 9.6 et remplace les absences.
* `formsemestre_id` (X : id du formsemestre)
* `est_just` (v,t,f,vrai,faux,true,false)
* `user_id` (X : id de l'utilisateur)
* `order` (retour ordoné par date de début décroisante)
* `courant` (retour restreint à l'année courante)
* `with_justifs` (ajoute un champs "justificatifs" aux assiduités)
* **Routes:**
* `/assiduites/<int:etudid>`
* `/assiduites/<int:etudid>/query?`
@ -1778,6 +1800,8 @@ Cette API est disponible à partir de ScoDoc 9.6 et remplace les absences.
* `est_just` (v,t,f,vrai,faux,true,false)
* `user_id` (X : id de l'utilisateur)
* `metric` ('compte', 'demi', 'journee', 'heure')
* `courant` (retour restreint à l'année courante)
* `split` (compte pour chaque état séparément)
* **Routes:**
* `/assiduites/<int:etudid>/count`
* `/assiduites/<int:etudid>/count/query?`
@ -1807,6 +1831,9 @@ Cette API est disponible à partir de ScoDoc 9.6 et remplace les absences.
* `date_fin` (X : date format ISO)
* `est_just` (v,t,f,vrai,faux,true,false)
* `user_id` (X : id de l'utilisateur)
* `order` (retour ordoné par date de début décroisante)
* `courant` (retour restreint à l'année courante)
* `with_justifs` (ajoute un champs "justificatifs" aux assiduités)
* **Routes:**
* `/assiduites/formsemestre/<int:formsemestre_id>`
* `/assiduites/formsemestre/<int:formsemestre_id>/query?`
@ -1829,6 +1856,9 @@ Cette API est disponible à partir de ScoDoc 9.6 et remplace les absences.
* `date_fin` (X : date format ISO)
* `est_just` (v,t,f,vrai,faux,true,false)
* `user_id` (X : id de l'utilisateur)
* `metric` ('all', 'compte', 'heure', 'journee', 'demi')
* `courant` (retour restreint à l'année courante)
* `split` (compte pour chaque état séparément)
* **Routes:**
* `/assiduites/formsemestre/<int:formsemestre_id>/count`
* `/assiduites/formsemestre/<int:formsemestre_id>/count/query?`
@ -1851,6 +1881,9 @@ Cette API est disponible à partir de ScoDoc 9.6 et remplace les absences.
* `date_fin` (X : date format ISO)
* `est_just` (v,t,f,vrai,faux,true,false)
* `user_id` (X : id de l'utilisateur)
* `order` (retour ordoné par date de début décroisante)
* `courant` (retour restreint à l'année courante)
* `with_justifs` (ajoute un champs "justificatifs" aux assiduités)
* **Routes:**
* `/assiduites/group/query?etudids=`
* **Exemple d'utilisation:**
@ -1876,9 +1909,6 @@ Cette API est disponible à partir de ScoDoc 9.6 et remplace les absences.
[
{
"etudid":<int>,
"date_debut": <string>,
"date_fin": <string>,
"etat": <string>,
"moduleimpl_id"?: <int>,
"desc"?:<string>,
@ -1909,8 +1939,6 @@ Cette API est disponible à partir de ScoDoc 9.6 et remplace les absences.
```json
[
{
"date_debut": <string>,
"date_fin": <string>,
"etat": <string>,
"moduleimpl_id"?: <int>,
"desc"?:<string>
@ -1951,9 +1979,7 @@ Cette API est disponible à partir de ScoDoc 9.6 et remplace les absences.
> `{"etat": "absent"}`
* **Résultat:** Modifie l'assiduité désignée. Renvoie une erreur si la
modification rend incompatible la plage de l'assiduité par rapport aux autres
assiduités du même étudiant.
* **Résultat:** Modifie l'assiduité désignée.
* **Exemple de résultat:** [assiduite_edit.json](samples/sample_assiduite_edit.json.md)
#### **assiduites-edit**
@ -2041,6 +2067,11 @@ Cette API est disponible à partir de ScoDoc 9.6 et remplace les absences.
* `etat` ( attente, valide, non_valide, modifie)
* `date_debut` (X : date format ISO)
* `date_fin` (X : date format ISO)
* `user_id` (X : l'id de l'utilisateur ayant créé l'objet)
* `formsemestre_id` (X: l'id d'un formsemestre. restreint aux date du semestre)
* `order` (retoure les justificatifs par ordre décroissant de date_debut)
* `courant` (restreint aux justificatifs de l'année courante)
* `group_id` (X : id du groupe, restreint aux justificatifs d'un group d'étudiant)
* **Routes:**
* `/justificatifs/<int:etudid>`
* `/justificatifs/<int:etudid>/query`
@ -2057,6 +2088,58 @@ Cette API est disponible à partir de ScoDoc 9.6 et remplace les absences.
* **Résultat:** Liste de toutes les objets justificatifs qui correspondent aux critères sélectionnés
* **Exemple de résultat:** [justificatifs.json](samples/sample_justificatifs.json.md)
#### **justificatifs-dept[-query]**
* **Méthode:** GET
* **Permission: `ScoView`**
* **Paramètres:**
* `dept_id`
* **Query string:**
* `etat` ( attente, valide, non_valide, modifie)
* `date_debut` (X : date format ISO)
* `date_fin` (X : date format ISO)
* `user_id` (X : l'id de l'utilisateur ayant créé l'objet)
* `formsemestre_id` (X: l'id d'un formsemestre. restreint aux date du semestre)
* `order` (retoure les justificatifs par ordre décroissant de date_debut)
* `courant` (restreint aux justificatifs de l'année courante)
* `group_id` (X : id du groupe, restreint aux justificatifs d'un group d'étudiant)
* **Routes:**
* `/justificatifs/dept/<int:dept_id>`
* `/justificatifs/dept/<int:dept_id>/query`
* **Exemple d'utilisation:**
* `/api/justificatifs/dept/3`
* `/api/justificatifs/dept/3/query?etat=valide&courant`
* **Résultat:** Liste de toutes les objets justificatifs du département donné qui correspondent aux critères sélectionnés
* **Exemple de résultat:** [justificatifs-dept.json](samples/sample_justificatifs_dept.json.md)
#### **justificatifs-formsemestre[-query]**
* **Méthode:** GET
* **Permission: `ScoView`**
* **Paramètres:**
* `formsemestre_id`
* **Query string:**
* `etat` ( attente, valide, non_valide, modifie)
* `date_debut` (X : date format ISO)
* `date_fin` (X : date format ISO)
* `user_id` (X : l'id de l'utilisateur ayant créé l'objet)
* `formsemestre_id` (X: l'id d'un formsemestre. restreint aux date du semestre)
* `order` (retoure les justificatifs par ordre décroissant de date_debut)
* `courant` (restreint aux justificatifs de l'année courante)
* `group_id` (X : id du groupe, restreint aux justificatifs d'un group d'étudiant)
* **Routes:**
* `/justificatifs/formsemestre/<int:formsemestre_id>`
* `/justificatifs/formsemestre/<int:formsemestre_id>/query`
* **Exemple d'utilisation:**
* `/api/justificatifs/formsemestre/3`
* `/api/justificatifs/formsemestre/3/query?etat=valide&courant`
* **Résultat:** Liste de toutes les objets justificatifs du formsemestre donné qui correspondent aux critères sélectionnés
* **Exemple de résultat:** [justificatifs-formsemestre.json](samples/sample_justificatifs_formsemestre.json.md)
#### **justificatif-create**
* **Méthode:** POST
@ -2168,7 +2251,7 @@ Cette API est disponible à partir de ScoDoc 9.6 et remplace les absences.
#### **justificatif-export**
* **Méthode:** POST
* **Permission: `AbsChange`**
* **Permission: `ScoView`**
* **Paramètres:**
* `justif_id`
* `filename`

View File

@ -1,18 +1,22 @@
### assiduite
#### GET /assiduite/1
```json
{
"assiduite_id": 1,
"date_debut": "2022-09-25T08:00:00+0200",
"date_fin": "2022-09-25T08:00:00+0200",
"desc": null,
"entry_date": "2023-07-28T11:13:45+0200",
"est_just": false,
"etat": "PRESENT",
"etudid": 1,
"moduleimpl_id": 8,
"user_id": null
"assiduite_id": 1,
"code_nip": "1",
"date_debut": "2022-08-20T12:00:00.000000+02:00",
"date_fin": "2022-08-20T12:00:00.000000+02:00",
"desc": null,
"entry_date": "2022-08-20T12:00:00.000000+02:00",
"est_just": false,
"etat": "PRESENT",
"etudid": 1,
"external_data": null,
"moduleimpl_id": 12,
"user_id": null,
"user_name": null,
"user_nom_complet": null
}
```

View File

@ -1,21 +1,38 @@
### assiduite_create
#### POST /assiduite/1/create
> `Content-Type: application/json`
>
> `[{"date_debut": "2022-10-27T08:00","date_fin": "2022-10-27T10:00","etat": "absent"}]`
>
> `[{"date_debut": "2023-10-27T08:00","date_fin": "2023-10-27T10:00","etat": "absent"}]`
```json
{
"errors": [],
"success": [
{
"indice": 0,
"message": {
"assiduite_id": 60
}
}
]
"errors": [
{
"indice": 0,
"message": "Duplication: la p\u00e9riode rentre en conflit avec une plage enregistr\u00e9e"
}
],
"success": []
}
```
#### POST /assiduite/1/create
> `Content-Type: application/json`
>
> `[{"date_debut": "2023-10-27T08:00","date_fin": "2023-10-27T10:00","etat": "absent"}]`
```json
{
"errors": [],
"success": [
{
"indice": 0,
"message": {
"assiduite_id": 49
}
}
]
}
```

View File

@ -1,28 +1,28 @@
### assiduite_delete
#### POST /assiduite/delete
> `Content-Type: application/json`
>
>
> `[2,2,3]`
```json
{
"errors": [
{
"indice": 1,
"message": "Assiduite non existante"
}
],
"success": [
{
"indice": 0,
"message": "OK"
},
{
"indice": 2,
"message": "OK"
}
]
"errors": [
{
"indice": 1,
"message": "Assiduite non existante"
}
],
"success": [
{
"indice": 0,
"message": "OK"
},
{
"indice": 2,
"message": "OK"
}
]
}
```

View File

@ -1,37 +1,35 @@
### assiduite_edit
#### POST /assiduite/1/edit
> `Content-Type: application/json`
>
> `{"moduleimpl_id":2}`
```json
{
"OK": true
}
```
#### POST /assiduite/1/edit
> `Content-Type: application/json`
>
>
> `{"etat": "retard","moduleimpl_id":3}`
```json
{
"OK": true
"OK": true
}
```
#### POST /assiduite/1/edit
> `Content-Type: application/json`
>
>
> `{"moduleimpl_id":2}`
```json
{
"OK": true
}
```
#### POST /assiduite/1/edit
> `Content-Type: application/json`
>
> `{"etat":"absent"}`
```json
{
"OK": true
"OK": true
}
```

View File

@ -1,71 +1,79 @@
### assiduites
#### GET /assiduites/1
```json
[
{
"assiduite_id": 1,
"date_debut": "2022-09-25T08:00:00+0200",
"date_fin": "2022-09-25T08:00:00+0200",
"desc": null,
"entry_date": "2023-07-28T11:13:45+0200",
"est_just": false,
"etat": "PRESENT",
"etudid": 1,
"moduleimpl_id": 8,
"user_id": null
},
{
"assiduite_id": 2,
"date_debut": "2022-09-26T08:00:00+0200",
"date_fin": "2022-09-26T09:00:00+0200",
"desc": null,
"entry_date": "2023-07-28T11:13:45+0200",
"est_just": false,
"etat": "RETARD",
"etudid": 1,
"moduleimpl_id": 13,
"user_id": null
},
"..."
{
"assiduite_id": 1,
"code_nip": "1",
"date_debut": "2022-08-20T12:00:00.000000+02:00",
"date_fin": "2022-08-20T12:00:00.000000+02:00",
"desc": null,
"entry_date": "2022-08-20T12:00:00.000000+02:00",
"est_just": false,
"etat": "PRESENT",
"etudid": 1,
"external_data": null,
"moduleimpl_id": 12,
"user_id": null,
"user_name": null,
"user_nom_complet": null
},
"..."
]
```
#### GET /assiduites/1/query?etat=retard
```json
[
{
"assiduite_id": 2,
"date_debut": "2022-09-26T08:00:00+0200",
"date_fin": "2022-09-26T09:00:00+0200",
"desc": null,
"entry_date": "2023-07-28T11:13:45+0200",
"est_just": false,
"etat": "RETARD",
"etudid": 1,
"moduleimpl_id": 13,
"user_id": null
},
{
"assiduite_id": 3,
"date_debut": "2022-09-27T08:00:00+0200",
"date_fin": "2022-09-27T10:00:00+0200",
"desc": null,
"entry_date": "2023-07-28T11:13:45+0200",
"est_just": false,
"etat": "RETARD",
"etudid": 1,
"moduleimpl_id": 14,
"user_id": null
},
"..."
"..."
]
```
#### GET /assiduites/1/query?moduleimpl_id=1
```json
["..."]
[
"..."
]
```
#### GET /assiduites/1/query?with_justifs=
```json
[
{
"assiduite_id": 1,
"code_nip": "1",
"date_debut": "2022-08-20T12:00:00.000000+02:00",
"date_fin": "2022-08-20T12:00:00.000000+02:00",
"desc": null,
"entry_date": "2022-08-20T12:00:00.000000+02:00",
"est_just": false,
"etat": "PRESENT",
"etudid": 1,
"external_data": null,
"justificatifs": [
{
"code_nip": "1",
"date_debut": "2022-08-20T12:00:00.000000+02:00",
"date_fin": "2022-08-20T12:00:00.000000+02:00",
"entry_date": "2022-08-20T12:00:00.000000+02:00",
"etat": "MODIFIE",
"etudid": 1,
"external_data": null,
"fichier": null,
"justif_id": 1,
"raison": null,
"user_id": null,
"user_name": null,
"user_nom_complet": null
}
],
"moduleimpl_id": 12,
"user_id": null,
"user_name": null,
"user_nom_complet": null
},
"..."
]
```

View File

@ -1,32 +1,84 @@
### assiduites_count
#### GET /assiduites/1/count
```json
{
"compte": 4,
"demi": 3,
"heure": 6.0,
"journee": 4
"compte": 1,
"demi": 0,
"heure": 0.0,
"journee": 1
}
```
#### GET /assiduites/1/count/query?etat=present,retard&metric=compte,heure
```json
{
"compte": 4,
"heure": 6.0
"compte": 1,
"heure": 0.0
}
```
#### GET /assiduites/1/count/query?etat=retard
```json
{
"compte": 3,
"demi": 3,
"heure": 6.0,
"journee": 3
"compte": 0,
"demi": 0,
"heure": 0,
"journee": 0
}
```
#### GET /assiduites/1/count/query?split
```json
{
"absent": {
"compte": 0,
"demi": 0,
"heure": 0,
"journee": 0,
"justifie": {
"compte": 0,
"demi": 0,
"heure": 0,
"journee": 0
},
"non_justifie": {
"compte": 0,
"demi": 0,
"heure": 0,
"journee": 0
}
},
"present": {
"compte": 1,
"demi": 0,
"heure": 0.0,
"journee": 1
},
"retard": {
"compte": 0,
"demi": 0,
"heure": 0,
"journee": 0,
"justifie": {
"compte": 0,
"demi": 0,
"heure": 0,
"journee": 0
},
"non_justifie": {
"compte": 0,
"demi": 0,
"heure": 0,
"journee": 0
}
},
"total": {
"compte": 1,
"demi": 0,
"heure": 0.0,
"journee": 1
}
}
```

View File

@ -0,0 +1,38 @@
### assiduites_create
#### POST /assiduites/create
> `Content-Type: application/json`
>
> `[{"etudid":-1,"date_debut": "2023-10-26T08:00","date_fin": "2023-10-26T10:00","etat": "absent"}]`
```json
{
"errors": [
{
"indice": 0,
"message": "Cet \u00e9tudiant n'existe pas."
}
],
"success": []
}
```
#### POST /assiduites/create
> `Content-Type: application/json`
>
> `[{"etudid":1,"date_debut": "2023-10-26T08:00","date_fin": "2023-10-26T10:00","etat": "absent"}]`
```json
{
"errors": [],
"success": [
{
"indice": 0,
"message": {
"assiduite_id": 50
}
}
]
}
```

View File

@ -1,73 +1,119 @@
### assiduites_formsemestre
#### GET /assiduites/formsemestre/1
```json
[
{
"assiduite_id": 1,
"date_debut": "2022-09-25T08:00:00+0200",
"date_fin": "2022-09-25T08:00:00+0200",
"desc": null,
"entry_date": "2023-07-28T11:13:45+0200",
"est_just": false,
"etat": "PRESENT",
"etudid": 1,
"moduleimpl_id": 8,
"user_id": null
},
{
"assiduite_id": 2,
"date_debut": "2022-09-26T08:00:00+0200",
"date_fin": "2022-09-26T09:00:00+0200",
"desc": null,
"entry_date": "2023-07-28T11:13:45+0200",
"est_just": false,
"etat": "RETARD",
"etudid": 1,
"moduleimpl_id": 13,
"user_id": null
},
"..."
{
"assiduite_id": 1,
"code_nip": "1",
"date_debut": "2022-08-20T12:00:00.000000+02:00",
"date_fin": "2022-08-20T12:00:00.000000+02:00",
"desc": null,
"entry_date": "2022-08-20T12:00:00.000000+02:00",
"est_just": false,
"etat": "PRESENT",
"etudid": 1,
"external_data": null,
"moduleimpl_id": 12,
"user_id": null,
"user_name": null,
"user_nom_complet": null
},
{
"assiduite_id": 2,
"code_nip": "NIP2",
"date_debut": "2022-08-20T12:00:00.000000+02:00",
"date_fin": "2022-08-20T12:00:00.000000+02:00",
"desc": null,
"entry_date": "2022-08-20T12:00:00.000000+02:00",
"est_just": false,
"etat": "RETARD",
"etudid": 2,
"external_data": null,
"moduleimpl_id": 4,
"user_id": null,
"user_name": null,
"user_nom_complet": null
},
"..."
]
```
#### GET /assiduites/formsemestre/1/query?etat=retard
```json
[
{
"assiduite_id": 2,
"date_debut": "2022-09-26T08:00:00+0200",
"date_fin": "2022-09-26T09:00:00+0200",
"desc": null,
"entry_date": "2023-07-28T11:13:45+0200",
"est_just": false,
"etat": "RETARD",
"etudid": 1,
"moduleimpl_id": 13,
"user_id": null
},
"..."
{
"assiduite_id": 2,
"code_nip": "NIP2",
"date_debut": "2022-08-20T12:00:00.000000+02:00",
"date_fin": "2022-08-20T12:00:00.000000+02:00",
"desc": null,
"entry_date": "2022-08-20T12:00:00.000000+02:00",
"est_just": false,
"etat": "RETARD",
"etudid": 2,
"external_data": null,
"moduleimpl_id": 4,
"user_id": null,
"user_name": null,
"user_nom_complet": null
},
{
"assiduite_id": 7,
"code_nip": "NIP4",
"date_debut": "2022-08-20T12:00:00.000000+02:00",
"date_fin": "2022-08-20T12:00:00.000000+02:00",
"desc": null,
"entry_date": "2022-08-20T12:00:00.000000+02:00",
"est_just": false,
"etat": "RETARD",
"etudid": 4,
"external_data": null,
"moduleimpl_id": 6,
"user_id": null,
"user_name": null,
"user_nom_complet": null
},
"..."
]
```
#### GET /assiduites/formsemestre/1/query?moduleimpl_id=1
```json
[
{
"assiduite_id": 3,
"date_debut": "2022-09-27T08:00:00+0200",
"date_fin": "2022-09-27T08:00:00+0200",
"desc": null,
"entry_date": "2023-07-28T11:13:45+0200",
"est_just": false,
"etat": "PRESENT",
"etudid": 1,
"moduleimpl_id": 1,
"user_id": null
},
"..."
{
"assiduite_id": 27,
"code_nip": "NIP10",
"date_debut": "2022-08-20T12:00:00.000000+02:00",
"date_fin": "2022-08-20T12:00:00.000000+02:00",
"desc": null,
"entry_date": "2022-08-20T12:00:00.000000+02:00",
"est_just": false,
"etat": "PRESENT",
"etudid": 10,
"external_data": null,
"moduleimpl_id": 1,
"user_id": null,
"user_name": null,
"user_nom_complet": null
},
{
"assiduite_id": 43,
"code_nip": "NIP14",
"date_debut": "2022-08-20T12:00:00.000000+02:00",
"date_fin": "2022-08-20T12:00:00.000000+02:00",
"desc": null,
"entry_date": "2022-08-20T12:00:00.000000+02:00",
"est_just": false,
"etat": "RETARD",
"etudid": 14,
"external_data": null,
"moduleimpl_id": 1,
"user_id": null,
"user_name": null,
"user_nom_complet": null
},
"..."
]
```

View File

@ -1,32 +1,30 @@
### assiduites_formsemestre_count
#### GET /assiduites/formsemestre/1/count
```json
{
"compte": 0,
"demi": 0,
"heure": 0.0,
"journee": 0
"compte": 48,
"demi": 14,
"heure": 65.0,
"journee": 18
}
```
#### GET /assiduites/formsemestre/1/count/query?etat=present,retard&metric=compte,heure
```json
{
"compte": 0,
"heure": 0.0
"compte": 29,
"heure": 35.0
}
```
#### GET /assiduites/formsemestre/1/count/query?etat=retard
```json
{
"compte": 0,
"demi": 0,
"heure": 0.0,
"journee": 0
"compte": 14,
"demi": 8,
"heure": 19.0,
"journee": 11
}
```

View File

@ -0,0 +1,62 @@
### assiduites_group
#### GET /assiduites/group/query?etudids=1,2,3
```json
{
"1": [
{
"assiduite_id": 1,
"code_nip": "1",
"date_debut": "2022-08-20T12:00:00.000000+02:00",
"date_fin": "2022-08-20T12:00:00.000000+02:00",
"desc": null,
"entry_date": "2022-08-20T12:00:00.000000+02:00",
"est_just": false,
"etat": "PRESENT",
"etudid": 1,
"external_data": null,
"moduleimpl_id": 12,
"user_id": null,
"user_name": null,
"user_nom_complet": null
}
],
"2": [
{
"assiduite_id": 2,
"code_nip": "NIP2",
"date_debut": "2022-08-20T12:00:00.000000+02:00",
"date_fin": "2022-08-20T12:00:00.000000+02:00",
"desc": null,
"entry_date": "2022-08-20T12:00:00.000000+02:00",
"est_just": false,
"etat": "RETARD",
"etudid": 2,
"external_data": null,
"moduleimpl_id": 4,
"user_id": null,
"user_name": null,
"user_nom_complet": null
}
],
"3": [
{
"assiduite_id": 3,
"code_nip": "3",
"date_debut": "2022-08-20T12:00:00.000000+02:00",
"date_fin": "2022-08-20T12:00:00.000000+02:00",
"desc": null,
"entry_date": "2022-08-20T12:00:00.000000+02:00",
"est_just": false,
"etat": "PRESENT",
"etudid": 3,
"external_data": null,
"moduleimpl_id": 18,
"user_id": null,
"user_name": null,
"user_nom_complet": null
}
]
}
```

View File

@ -0,0 +1,32 @@
### assiduites_justificatifs
#### GET /assiduite/1/justificatifs
```json
[
1,
"..."
]
```
#### GET /assiduite/1/justificatifs/long
```json
[
{
"code_nip": "1",
"date_debut": "2022-08-20T12:00:00.000000+02:00",
"date_fin": "2022-08-20T12:00:00.000000+02:00",
"entry_date": "2022-08-20T12:00:00.000000+02:00",
"etat": "MODIFIE",
"etudid": 1,
"external_data": null,
"fichier": null,
"justif_id": 1,
"raison": null,
"user_id": null,
"user_name": null,
"user_nom_complet": null
},
"..."
]
```

View File

@ -3,15 +3,19 @@
#### GET /justificatif/1
```json
{
"date_debut": "2022-09-25T08:00:00+0200",
"date_fin": "2022-09-25T16:00:00+0200",
"entry_date": "2023-07-28T11:13:45+0200",
"etat": "VALIDE",
"code_nip": "1",
"date_debut": "2022-08-20T12:00:00.000000+02:00",
"date_fin": "2022-08-20T12:00:00.000000+02:00",
"entry_date": "2022-08-20T12:00:00.000000+02:00",
"etat": "MODIFIE",
"etudid": 1,
"external_data": null,
"fichier": null,
"justif_id": 1,
"raison": "raison",
"user_id": null
"raison": null,
"user_id": null,
"user_name": null,
"user_nom_complet": null
}
```

View File

@ -1,22 +1,22 @@
### justificatif_create
#### POST /justificatif/1/create
> `Content-Type: application/json`
>
> `[{"date_debut": "2022-10-27T08:00","date_fin": "2022-10-27T10:00","etat": "attente"}]`
>
> `[{"date_debut": "2023-10-27T08:00","date_fin": "2023-10-27T10:00","etat": "attente"}]`
```json
{
"errors": [],
"success": [
{
"indice": 0,
"message": {
"couverture": [],
"justif_id": 12
}
}
]
"errors": [],
"success": [
{
"indice": 0,
"message": {
"couverture": [],
"justif_id": 25
}
}
]
}
```

View File

@ -1,28 +1,28 @@
### justificatif_delete
#### POST /justificatif/delete
> `Content-Type: application/json`
>
>
> `[2,2,3]`
```json
{
"errors": [
{
"indice": 1,
"message": "Justificatif non existant"
}
],
"success": [
{
"indice": 0,
"message": "OK"
},
{
"indice": 2,
"message": "OK"
}
]
"errors": [
{
"indice": 1,
"message": "Justificatif non existant"
}
],
"success": [
{
"indice": 0,
"message": "OK"
},
{
"indice": 2,
"message": "OK"
}
]
}
```

View File

@ -1,31 +1,36 @@
### justificatif_edit
#### POST /justificatif/1/edit
> `Content-Type: application/json`
>
>
> `{"etat":"valide"}`
```json
{
"couverture": {
"apr\u00e8s": [26],
"avant": [1, 26, 38]
}
"couverture": {
"apres": [
1
],
"avant": []
}
}
```
#### POST /justificatif/1/edit
> `Content-Type: application/json`
>
>
> `{"raison":"MEDIC"}`
```json
{
"couverture": {
"apr\u00e8s": [26],
"avant": [1, 26, 38]
}
"couverture": {
"apres": [
1
],
"avant": [
1
]
}
}
```

View File

@ -1,26 +1,113 @@
### justificatifs
#### GET /justificatifs/1
```json
[
{
"date_debut": "2022-09-25T08:00:00+0200",
"date_fin": "2022-09-25T16:00:00+0200",
"entry_date": "2023-07-28T11:13:45+0200",
"etat": "VALIDE",
"etudid": 1,
"fichier": null,
"justif_id": 1,
"raison": "raison",
"user_id": null
},
"..."
{
"code_nip": "1",
"date_debut": "2022-08-20T12:00:00.000000+02:00",
"date_fin": "2022-08-20T12:00:00.000000+02:00",
"entry_date": "2022-08-20T12:00:00.000000+02:00",
"etat": "MODIFIE",
"etudid": 1,
"external_data": null,
"fichier": null,
"justif_id": 1,
"raison": null,
"user_id": null,
"user_name": null,
"user_nom_complet": null
},
"..."
]
```
#### GET /justificatifs/1/query?etat=attente
```json
["..."]
[
"..."
]
```
#### GET /justificatifs/dept/1
```json
[
{
"code_nip": "1",
"date_debut": "2022-08-20T12:00:00.000000+02:00",
"date_fin": "2022-08-20T12:00:00.000000+02:00",
"entry_date": "2022-08-20T12:00:00.000000+02:00",
"etat": "MODIFIE",
"etudid": 1,
"external_data": null,
"fichier": null,
"formsemestre": {
"id": 1,
"title": "TAPI-BUT-FI-S1-2021"
},
"justif_id": 1,
"raison": null,
"user_id": null,
"user_name": null,
"user_nom_complet": null
},
{
"code_nip": "NIP2",
"date_debut": "2022-08-20T12:00:00.000000+02:00",
"date_fin": "2022-08-20T12:00:00.000000+02:00",
"entry_date": "2022-08-20T12:00:00.000000+02:00",
"etat": "NON_VALIDE",
"etudid": 2,
"external_data": null,
"fichier": null,
"formsemestre": {
"id": 1,
"title": "TAPI-BUT-FI-S1-2021"
},
"justif_id": 2,
"raison": null,
"user_id": null,
"user_name": null,
"user_nom_complet": null
},
"..."
]
```
#### GET /justificatifs/formsemestre/1
```json
[
{
"code_nip": "1",
"date_debut": "2022-08-20T12:00:00.000000+02:00",
"date_fin": "2022-08-20T12:00:00.000000+02:00",
"entry_date": "2022-08-20T12:00:00.000000+02:00",
"etat": "MODIFIE",
"etudid": 1,
"external_data": null,
"fichier": null,
"justif_id": 1,
"raison": null,
"user_id": null,
"user_name": null,
"user_nom_complet": null
},
{
"code_nip": "NIP2",
"date_debut": "2022-08-20T12:00:00.000000+02:00",
"date_fin": "2022-08-20T12:00:00.000000+02:00",
"entry_date": "2022-08-20T12:00:00.000000+02:00",
"etat": "NON_VALIDE",
"etudid": 2,
"external_data": null,
"fichier": null,
"justif_id": 2,
"raison": null,
"user_id": null,
"user_name": null,
"user_nom_complet": null
},
"..."
]
```