Verification du statut avant la creation d'un contrat

This commit is contained in:
2026-04-30 13:28:57 +02:00
committed by Soriba SYLLA
parent 117bbe255b
commit 16b4489088
271 changed files with 43797 additions and 294 deletions

View File

@@ -1,26 +1,23 @@
import json
<<<<<<< HEAD
from datetime import date, timedelta, datetime
=======
from datetime import timedelta, datetime
>>>>>>> 0047b1f (Ajout de la prise en charge des photos de profil)
from datetime import datetime, timedelta
from dateutil.relativedelta import relativedelta
from django.utils import timezone
from django.contrib import messages
from django.contrib.auth.models import User
from django.contrib.auth import authenticate
from django.shortcuts import render, redirect
from django.contrib.auth.decorators import login_required
from django.http import JsonResponse
from django.forms.models import model_to_dict
from django.contrib.auth.models import User
from django.db.models import Sum
from django.forms.models import model_to_dict
from django.http import JsonResponse
from django.shortcuts import redirect, render
from django.utils import timezone
from .models import Employe, Contrat, Affectation, Formation
from .forms import AffectationForm, ContratForm, FormationForm
from fonction_utilitaire import fonctions_utilitaire
from .forms import AffectationForm, ContratForm, FormationForm
from .models import Affectation, Contrat, Employe, Formation
@login_required
def index(request):
"""Vue d'index"""
@@ -251,21 +248,16 @@ def suppression_affectation(request):
return JsonResponse({"message": "Affectation supprimée avec succès."})
def creation_contrat(request):
<<<<<<< HEAD
"""Créer un contrat pour un employé (avec contrôle d'existence de contrat actif)"""
=======
"""Vue pour permettre à un utilisateur de créer un contrat pour un employé"""
>>>>>>> 0047b1f (Ajout de la prise en charge des photos de profil)
try:
employe = Employe.objects.get(id=request.POST.get('employe_id'))
except Employe.DoesNotExist:
messages.error(request, "Employé non trouvé.")
return redirect('employe-index')
<<<<<<< HEAD
contrat_actif = Contrat.objects.filter(
employe=employe,
date_fin__gte=date.today()
date_fin__gte=datetime.date.today()
).exists()
if request.method == "POST":
@@ -275,10 +267,6 @@ def creation_contrat(request):
"Impossible de créer un contrat : cet employé a déjà un contrat actif."
)
return redirect('gestion_employe:index')
=======
if request.method == "POST":
>>>>>>> 0047b1f (Ajout de la prise en charge des photos de profil)
form = ContratForm(request.POST, request.FILES)
if form.is_valid():
contrat = form.save(commit=False)
@@ -287,7 +275,6 @@ def creation_contrat(request):
messages.success(request, "Contrat créé avec succès.")
return redirect('gestion_employe:index')
messages.error(request, "Formulaire non valide")
<<<<<<< HEAD
else:
form = ContratForm(initial={'employe': employe})
@@ -295,11 +282,6 @@ def creation_contrat(request):
return render(request, 'gestion_employe/index.html', {
'contrat_form': form
})
=======
else:
form = ContratForm(initial={'employe': employe})
return render(request, 'gestion_employe/index.html', {'contrat_form': form})
>>>>>>> 0047b1f (Ajout de la prise en charge des photos de profil)
@login_required
def enregistrer_detail_employe(request):
@@ -447,4 +429,4 @@ def supprimer_formation(request, id_formation):
if request.method == "POST":
formation.delete()
messages.success(request, "Formation supprimée ")
return redirect("mes_formations")
return redirect("mes_formations")