refactor(api): remove redundant document status validation checks

This commit is contained in:
Fanilo-Nantenaina 2025-12-20 14:34:16 +03:00
parent 62c453d7bd
commit edfa4a0231

99
api.py
View file

@ -636,6 +636,8 @@ class CommandeUpdateRequest(BaseModel):
class Config:
json_schema_extra = {
"example": {
"date_commande": "2024-01-15",
"reference": "CMD-EXT-001",
"lignes": [
{
"article_code": "ART001",
@ -1887,18 +1889,6 @@ async def modifier_devis(
session: AsyncSession = Depends(get_session),
):
try:
# Vérifier que le devis existe
devis_existant = sage_client.lire_devis(id)
if not devis_existant:
raise HTTPException(404, f"Devis {id} introuvable")
# Vérifier qu'il n'est pas déjà transformé
if devis_existant.get("statut") == 5:
raise HTTPException(
400, f"Le devis {id} a déjà été transformé et ne peut plus être modifié"
)
# Construire les données de mise à jour
update_data = {}
if devis_update.date_devis:
@ -2000,29 +1990,6 @@ async def modifier_commande(
session: AsyncSession = Depends(get_session),
):
try:
# Vérifier que la commande existe
commande_existante = sage_client.lire_document(
id, TypeDocumentSQL.BON_COMMANDE
)
if not commande_existante:
raise HTTPException(404, f"Commande {id} introuvable")
# Vérifier le statut
statut_actuel = commande_existante.get("statut", 0)
if statut_actuel == 5:
raise HTTPException(
400,
f"La commande {id} a déjà été transformée et ne peut plus être modifiée",
)
if statut_actuel == 6:
raise HTTPException(
400, f"La commande {id} est annulée et ne peut plus être modifiée"
)
# Construire les données de mise à jour
update_data = {}
if commande_update.date_commande:
@ -3195,27 +3162,6 @@ async def modifier_facture(
session: AsyncSession = Depends(get_session),
):
try:
# Vérifier que la facture existe
facture_existante = sage_client.lire_document(id, TypeDocumentSQL.FACTURE)
if not facture_existante:
raise HTTPException(404, f"Facture {id} introuvable")
# Vérifier le statut
statut_actuel = facture_existante.get("statut", 0)
if statut_actuel == 5:
raise HTTPException(
400,
f"La facture {id} a déjà été transformée et ne peut plus être modifiée",
)
if statut_actuel == 6:
raise HTTPException(
400, f"La facture {id} est annulée et ne peut plus être modifiée"
)
# Construire les données de mise à jour
update_data = {}
if facture_update.date_facture:
@ -3832,26 +3778,6 @@ async def modifier_avoir(
session: AsyncSession = Depends(get_session),
):
try:
# Vérifier que l'avoir existe
avoir_existant = sage_client.lire_avoir(id)
if not avoir_existant:
raise HTTPException(404, f"Avoir {id} introuvable")
# Vérifier le statut
statut_actuel = avoir_existant.get("statut", 0)
if statut_actuel == 5:
raise HTTPException(
400, f"L'avoir {id} a déjà été transformé et ne peut plus être modifié"
)
if statut_actuel == 6:
raise HTTPException(
400, f"L'avoir {id} est annulé et ne peut plus être modifié"
)
# Construire les données de mise à jour
update_data = {}
if avoir_update.date_avoir:
@ -3984,27 +3910,6 @@ async def modifier_livraison(
session: AsyncSession = Depends(get_session),
):
try:
# Vérifier que la livraison existe
livraison_existante = sage_client.lire_livraison(id)
if not livraison_existante:
raise HTTPException(404, f"Livraison {id} introuvable")
# Vérifier le statut
statut_actuel = livraison_existante.get("statut", 0)
if statut_actuel == 5:
raise HTTPException(
400,
f"La livraison {id} a déjà été transformée et ne peut plus être modifiée",
)
if statut_actuel == 6:
raise HTTPException(
400, f"La livraison {id} est annulée et ne peut plus être modifiée"
)
# Construire les données de mise à jour
update_data = {}
if livraison_update.date_livraison: