From 7a598205588734b3b79b46da27cf963dbf3da82e Mon Sep 17 00:00:00 2001
From: Emmanuel Viennet <emmanuel.viennet@gmail.com>
Date: Mon, 3 Feb 2025 17:40:14 +0100
Subject: [PATCH] Doc API. Closes #1031.

---
 app/api/etudiants.py    | 2 +-
 app/models/etudiants.py | 2 ++
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/app/api/etudiants.py b/app/api/etudiants.py
index 743ddf62..821a545c 100755
--- a/app/api/etudiants.py
+++ b/app/api/etudiants.py
@@ -523,7 +523,7 @@ def etudiant_create(force=False):
 
     L'étudiant créé n'est pas inscrit à un semestre.
 
-    Champs requis: nom, prenom (sauf si config sans prénom), dept (string:acronyme)
+    Champs requis: civilite ('M', 'F' ou 'X'), dept (string:acronyme), nom, prenom (sauf si config sans prénom).
     """
     args = request.get_json(force=True)  # may raise 400 Bad Request
     dept = args.get("dept", None)
diff --git a/app/models/etudiants.py b/app/models/etudiants.py
index 8d6e0266..1dc846e1 100644
--- a/app/models/etudiants.py
+++ b/app/models/etudiants.py
@@ -256,6 +256,8 @@ class Identite(models.ScoDocModel):
         """
         check_etud_duplicate_code(args, "code_nip", dest_url=None)
         check_etud_duplicate_code(args, "code_ine", dest_url=None)
+        if not "civilite" in args:
+            raise ScoValueError("civilite manquante")
         if not "dept_id" in args:
             if "dept" in args:
                 departement = Departement.query.filter_by(acronym=args["dept"]).first()
-- 
GitLab