Compare commits
4 Commits
097648c03e
...
message_co
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7b3d8cdc8e | ||
| 904954c735 | |||
| 99e764ab4d | |||
| 0eb745d5f3 |
2
Jenkinsfile
vendored
2
Jenkinsfile
vendored
@@ -16,7 +16,7 @@ pipeline
|
||||
{
|
||||
steps
|
||||
{
|
||||
sh 'echo "Debut du pipeline"'
|
||||
sh 'echo "Debut du pipeline test"'
|
||||
cleanWs()
|
||||
checkout scm
|
||||
}
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -18,16 +18,21 @@
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% if not expiration_contrat %} <div class="alert alert-danger fade show alert-dismissible mt-2"> <strong>Important :</strong>
|
||||
Les informations sur votre contrat n'ont pas été renseignées,
|
||||
veuillez contacter les ressources humaines. </div>
|
||||
|
||||
{% if not has_contrat %}
|
||||
<div class="alert alert-danger mt-2">
|
||||
<strong>Important :</strong> Les informations sur votre contrat n'ont pas été renseignées, veuillez contacter les ressources humaines.
|
||||
</div>
|
||||
{% elif contrat_nb_jours_restant > 0 %} <div class="alert alert-danger fade show alert-dismissible mt-2"> <strong>Important :</strong>
|
||||
Votre contrat de travail expire dans <strong>{{ contrat_nb_jours_restant }} jour{{ contrat_nb_jours_restant|pluralize }}</strong>,
|
||||
veuillez contacter les ressources humaines. </div>
|
||||
|
||||
{% elif expiration_contrat %}
|
||||
<div class="alert alert-warning mt-2">
|
||||
<strong>Important :</strong> Votre contrat de travail expire dans {{ contrat_nb_jours_restant }} jours, veuillez contacter les ressources humaines.
|
||||
</div>
|
||||
{% elif contrat_nb_jours_restant == 0 %} <div class="alert alert-danger fade show alert-dismissible mt-2"> <strong>Important :</strong>
|
||||
Votre contrat de travail <strong>expire aujourd'hui</strong>.
|
||||
Veuillez contacter les ressources humaines. </div>
|
||||
|
||||
{% elif contrat_nb_jours_restant < 0 %} <div class="alert alert-danger fade show alert-dismissible mt-2"> <strong>Important :</strong>
|
||||
Votre contrat de travail est <strong>déjà expiré</strong>.
|
||||
Veuillez contacter les ressources humaines. </div>
|
||||
{% endif %}
|
||||
|
||||
<div class="accordion mt-2" id="accordionInformationEmploye">
|
||||
@@ -127,7 +132,7 @@
|
||||
</div>
|
||||
<div class="form-group mb-2">
|
||||
<label>Statut :</label>
|
||||
<input type="text" class="form-control" value="{{ contrat.statut }}" id="satut" readonly>
|
||||
<input type="text" class="form-control" value="{{ contrat.statut }}" id="statut" readonly>
|
||||
</div>
|
||||
<div class="form-group mb-2">
|
||||
<label>fichier :</label>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<form method="POST" action="{% url 'gestion_employe:modifier-mot-passe' %}">
|
||||
<form method="POST" action="{% url 'gestion_employe:modifier-mot-passe' %}" id="formulaire_mot_de_passe">
|
||||
{% csrf_token %}
|
||||
<div class="form-group mb-2">
|
||||
<label>Votre mot de passe actuel :</label>
|
||||
|
||||
@@ -1,11 +1,14 @@
|
||||
import json
|
||||
from datetime import datetime, timedelta
|
||||
|
||||
import requests
|
||||
from dateutil.relativedelta import relativedelta
|
||||
from django.contrib import messages
|
||||
from django.contrib.auth import authenticate
|
||||
from django.contrib.auth import logout
|
||||
from django.contrib.auth.decorators import login_required
|
||||
from django.contrib.auth.models import User
|
||||
from django.contrib.auth.password_validation import validate_password
|
||||
from django.core.exceptions import ValidationError
|
||||
from django.db.models import Sum
|
||||
from django.forms.models import model_to_dict
|
||||
from django.http import JsonResponse
|
||||
@@ -176,25 +179,6 @@ def mon_profil(request):
|
||||
"contrat_nb_jours_restant": max(0, contrats.nombre_jours_restant if contrats else 0)
|
||||
}
|
||||
)
|
||||
@login_required
|
||||
def modifier_mot_passe(request):
|
||||
"""Vue pour permettre à un utilisateur de modifier son mot de passe et ses informations de profil"""
|
||||
user = User.objects.get(username=request.user)
|
||||
if request.method == "POST":
|
||||
ancien_mdp = request.POST["ancien-mdp"]
|
||||
nouveau_mdp = request.POST["nouveau-mdp"]
|
||||
confirmation_mdp = request.POST["confirmation-mdp"]
|
||||
|
||||
if authenticate(request, username=request.user, password=ancien_mdp) is None:
|
||||
messages.error(request, "Ancien mot de passe incorrect.")
|
||||
elif nouveau_mdp != confirmation_mdp:
|
||||
messages.error(request, "Les deux nouveaux ne correspondent pas.")
|
||||
else:
|
||||
user.set_password(nouveau_mdp)
|
||||
user.save()
|
||||
messages.success(request, "Mot de passe modifié avec succès.")
|
||||
|
||||
return redirect("gestion_employe:mon-profil")
|
||||
|
||||
def modifier_employer(request):
|
||||
"""Vue pour permettre à un utilisateur de modifier les informations d'un employé"""
|
||||
@@ -302,7 +286,6 @@ def creation_contrat(request):
|
||||
'contrat_form': form
|
||||
})
|
||||
|
||||
|
||||
@login_required
|
||||
def contrats_employe(request, employe_id):
|
||||
|
||||
@@ -341,6 +324,7 @@ def contrats_employe(request, employe_id):
|
||||
"employe": employe.user.get_full_name(),
|
||||
"contrats": data
|
||||
})
|
||||
|
||||
@login_required
|
||||
def enregistrer_detail_employe(request):
|
||||
"""Vue pour permettre à un utilisateur de modifier les détails d'un employé via une requête AJAX"""
|
||||
@@ -379,7 +363,6 @@ def enregistrer_detail_employe(request):
|
||||
else:
|
||||
return JsonResponse({"message": "Méthode non autorisée."}, status=405)
|
||||
|
||||
|
||||
@login_required
|
||||
def liste_employe(request):
|
||||
""" Vue pour retourner la liste de tous les employés """
|
||||
@@ -509,3 +492,47 @@ def supprimer_formation(request, id_formation):
|
||||
formation.delete()
|
||||
messages.success(request, "Formation supprimée ")
|
||||
return redirect("mes_formations")
|
||||
|
||||
@login_required
|
||||
def modifier_mot_passe(request):
|
||||
"""Vue pour permettre à un employé de modifier son mot de passe"""
|
||||
if request.method == "POST":
|
||||
username = request.user.username
|
||||
ancien_mdp = request.POST.get("ancien-mdp")
|
||||
nouveau_mdp = request.POST.get("nouveau-mdp")
|
||||
confirmation_mdp = request.POST.get("confirmation-mdp")
|
||||
|
||||
try:
|
||||
validate_password(nouveau_mdp, user=request.user)
|
||||
except ValidationError as e:
|
||||
messages.error(request, f"Erreur : {' '.join(e.messages)}")
|
||||
return redirect("gestion_employe:mon-profil")
|
||||
|
||||
donnees = {
|
||||
"username": username,
|
||||
"ancien_mdp": ancien_mdp,
|
||||
"nouveau_mdp": nouveau_mdp,
|
||||
"confirmation_mdp": confirmation_mdp
|
||||
}
|
||||
|
||||
headers = {
|
||||
"Content-Type": "application/json",
|
||||
"Accept": "application/json",
|
||||
}
|
||||
|
||||
response = requests.post(
|
||||
"http://localhost:8000/modifier-mot-de-passe/",
|
||||
json=donnees,
|
||||
headers=headers
|
||||
)
|
||||
|
||||
data = response.json()
|
||||
cle = next(iter(data.keys()))
|
||||
valeur = next(iter(data.values()))
|
||||
|
||||
if cle == "success":
|
||||
messages.success(request, valeur)
|
||||
else:
|
||||
messages.error(request, valeur)
|
||||
|
||||
return redirect("gestion_employe:mon-profil")
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user