20 Commits

Author SHA1 Message Date
1391a5ea3b Derniere modification du Jenkinsfile
All checks were successful
Organisation/sirh/pipeline/head This commit looks good
Organisation/sirh/pipeline/pr-main This commit looks good
2026-05-04 09:58:34 +00:00
bda80fae85 utilisation des credentials
Some checks are pending
Organisation/sirh/pipeline/head This commit looks good
Organisation/sirh/pipeline/pr-main Build queued...
2026-05-04 09:51:25 +00:00
f55b1a6f2d pipeline9
Some checks are pending
Organisation/sirh/pipeline/pr-main Build queued...
Organisation/sirh/pipeline/head This commit looks good
2026-04-30 16:06:21 +00:00
ab2d8b479c pipeline 8
All checks were successful
Organisation/sirh/pipeline/head This commit looks good
Organisation/sirh/pipeline/pr-main This commit looks good
2026-04-30 15:57:54 +00:00
69764b74a2 pipeline 7
Some checks are pending
Organisation/sirh/pipeline/pr-main Build queued...
Organisation/sirh/pipeline/head Build started...
2026-04-30 15:43:00 +00:00
fa21850c6b pipeline 6
Some checks are pending
Organisation/sirh/pipeline/head This commit looks good
Organisation/sirh/pipeline/pr-main Build queued...
2026-04-30 15:27:29 +00:00
798784a163 pipeline 5
Some checks are pending
Organisation/sirh/pipeline/pr-main Build queued...
Organisation/sirh/pipeline/head This commit looks good
2026-04-30 15:21:02 +00:00
5680677865 pipeline 4
Some checks are pending
Organisation/sirh/pipeline/pr-main Build queued...
Organisation/sirh/pipeline/head Build started...
2026-04-30 15:09:22 +00:00
7b66250832 pipeline3
Some checks are pending
Organisation/sirh/pipeline/head This commit looks good
Organisation/sirh/pipeline/pr-main Build queued...
2026-04-30 15:01:54 +00:00
efadd66483 pipeline 2
Some checks are pending
Organisation/sirh/pipeline/pr-main Build queued...
Organisation/sirh/pipeline/head Build started...
2026-04-30 14:56:06 +00:00
15c33efc14 Pipeline 1
Some checks failed
Organisation/sirh/pipeline/head There was a failure building this commit
Organisation/sirh/pipeline/pr-main Build queued...
2026-04-30 14:50:58 +00:00
b3294a823e Test pipeline
Some checks failed
Organisation/sirh/pipeline/pr-main There was a failure building this commit
2026-04-30 14:45:35 +00:00
2a182830a6 Merge pull request 'Ajout de l'agent' (#20) from jenkins_agent into main
All checks were successful
Organisation/sirh/pipeline/head This commit looks good
Reviewed-on: #20
2026-04-30 13:18:30 +00:00
14631c3744 Ajout de l'agent
Some checks are pending
Organisation/sirh/pipeline/pr-main Build queued...
Organisation/sirh/pipeline/head This commit looks good
2026-04-30 13:17:43 +00:00
f0894bb66f Merge pull request 'jenkins test 3' (#18) from jenkins into main
Some checks failed
Organisation/sirh/pipeline/head There was a failure building this commit
Reviewed-on: #18
2026-04-30 13:12:06 +00:00
75285a140a jenkins test 3
Some checks failed
Organisation/sirh/pipeline/head There was a failure building this commit
Organisation/sirh/pipeline/pr-main There was a failure building this commit
2026-04-30 13:11:14 +00:00
3cc8e292b3 Merge pull request 'renommage jenkinsfile' (#16) from test_jenkins into main
Some checks failed
Organisation/sirh/pipeline/head There was a failure building this commit
Reviewed-on: #16
2026-04-30 13:02:50 +00:00
34d1464391 renommage jenkinsfile
Some checks failed
Organisation/sirh/pipeline/head There was a failure building this commit
Organisation/sirh/pipeline/pr-main There was a failure building this commit
2026-04-30 13:00:26 +00:00
6c12131fab Merge pull request 'Test jenkins 1' (#15) from test_jenkins into main
Reviewed-on: #15
2026-04-30 12:48:13 +00:00
19e4675f32 Test jenkins 1 2026-04-30 12:47:18 +00:00
270 changed files with 226 additions and 515 deletions

11
.gitignore vendored
View File

@@ -1,10 +1,3 @@
# db.sqlite3
# venv/*
# media/*
__pycache__/
*.pyc
db.sqlite3 db.sqlite3
venv/ venv/*
.env media/*

38
Jenkinsfile vendored Normal file
View File

@@ -0,0 +1,38 @@
pipeline
{
agent any
environment
{
SUDO_PASSWORD = credentials('sudo-password')
}
stages
{
stage ( 'checkout' )
{
steps
{
sh 'echo "Debut du pipeline"'
checkout scm
}
}
stage ( 'Deploiement' )
{
when { branch 'main' }
steps {
sh '''
cd /jenkins_test/sirh
echo $SUDO_PASSWORD | sudo -S chown -R jenkins:jenkins /jenkins_test/sirh
git pull origin main
python3 -m venv venv
. venv/bin/activate
pip install -r requirements.txt
python manage.py makemigrations
python manage.py migrate
echo "Deploiement reussi"
'''
}
}
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -2,21 +2,6 @@
{% load tags_personnaliser %} {% load tags_personnaliser %}
<div class="col-3 bg-danger d-flex flex-column vh-100 pt-5 sticky-top"> <div class="col-3 bg-danger d-flex flex-column vh-100 pt-5 sticky-top">
<div class="text-center mb-4">
{% if user.employe.photo %}
<img src="{{ user.employe.photo.url }}"
class="rounded-circle"
width="80"
height="80"
style="object-fit:cover;">
{% else %}
<i class="bi bi-person-circle text-white" style="font-size:60px;"></i>
{% endif %}
<div class="text-white mt-2">
{{ user.username }}
</div>
</div>
<a href="{% url 'gestion_employe:mon-profil' %}" class="text-white fw-bold text-decoration-none mb-4" style="font-size:1.4em"> <a href="{% url 'gestion_employe:mon-profil' %}" class="text-white fw-bold text-decoration-none mb-4" style="font-size:1.4em">
<i class="bi bi-person-circle"></i> Mon profil <i class="bi bi-person-circle"></i> Mon profil
</a> </a>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -129,69 +129,66 @@ def demander_conge(request):
@login_required @login_required
def liste_demande_conges(request): def liste_demande_conges(request):
"""Vue de liste des demandes de congés en attente de validation selon le statut de l'utilisateur actuel"""
try: try:
employe = Employe.objects.get(user=request.user) employe = Employe.objects.get(user__username = request.user)
except Employe.DoesNotExist: except Employe.DoesNotExist:
return JsonResponse({ return JsonResponse({
"success": False, "success": False,
"message": "Profil employé introuvable" "message": "Votre profil Utilisateur n'est lié à aucun profil Employé. Veuillez contacter l'administrateur."
}) })
affectation = Affectation.objects.filter( try:
employe=employe, affectation = Affectation.objects.get(
date_fin_daffectation__gte=timezone.now().date() employe=employe,
).first() date_fin_daffectation__gte=timezone.now().date()
)
is_direction = employe.user.groups.filter(name='direction').exists() except Affectation.DoesNotExist:
affectation = None
if employe.chef: if employe.chef:
print("chef")
conges = Conge.objects.filter( conges_en_attente = Conge.objects.filter(
Q(employe__departement=employe.departement) | employe__departement = employe.departement,
Q(employe=employe) validation_hierarchique = None
).order_by('-date_demande') ).order_by('-date_demande')
elif affectation and affectation.role == "chef_projet": elif affectation and affectation.role == "chef_projet":
employes_du_projet = Affectation.objects.filter( employes_du_projet = Affectation.objects.filter(
projet=affectation.projet, projet = affectation.projet,
date_fin_daffectation__gte=timezone.now().date() date_fin_daffectation__gte = timezone.now().date()
).values_list('employe', flat=True) ).values('employe')
conges = Conge.objects.filter( conges_en_attente = Conge.objects.filter(
Q(employe__in=employes_du_projet) | employe__in = employes_du_projet,
Q(employe=employe) validation_hierarchique = None
).order_by('-date_demande') ).order_by('-date_demande')
elif 'direction' in employe.user.groups.values_list('name', flat=True):
elif is_direction: conges_en_attente = Conge.objects.filter(
validation_hierarchique = True,
conges = Conge.objects.filter( validation_direction = None
Q(validation_hierarchique=True) | ).order_by('-date_demande')
Q(employe__user__groups__name='direction')
).distinct().order_by('-date_demande')
else: else:
conges_en_attente = Conge.objects.filter(
conges = Conge.objects.filter( employe__user__username = request.user
employe=employe
).order_by('-date_demande') ).order_by('-date_demande')
return JsonResponse({ return JsonResponse({
"success": True, "success": True,
"data": [ "data":[
{ {
**model_to_dict(conge), **model_to_dict(conge),
"prenom_nom": f"{conge.employe.user.first_name} {conge.employe.user.last_name}", "prenom_nom": f"{conge.employe.user.first_name} {conge.employe.user.last_name}",
"date_demande": conge.date_demande, "date_demande": conge.date_demande,
"nombre_jours": conge.nombre_jours, "nombre_jours": conge.nombre_jours,
"type": dict(conge.TYPE_CHOICES).get(conge.type), "type": dict(conge.TYPE_CHOICES).get(conge.type),
"solde_conge": fonctions_utilitaire.solde_conge(conge.employe)["quota_annuel"] "solde_conge": fonctions_utilitaire.solde_conge(conge.employe)["quota_annuel"]
} }
for conge in conges for conge in conges_en_attente]},
] safe=False
}) )
@login_required @login_required
def validation_de_conge(request): def validation_de_conge(request):

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More