diff --git a/gestion_projet/static/gestion_projet/js/enregistrement_bailleur.js b/gestion_projet/static/gestion_projet/js/enregistrement_bailleur.js
index afe12ea..c09f502 100644
--- a/gestion_projet/static/gestion_projet/js/enregistrement_bailleur.js
+++ b/gestion_projet/static/gestion_projet/js/enregistrement_bailleur.js
@@ -1,4 +1,5 @@
const btnEnregistrerBailleur = document.getElementById('btnEnregistrerBailleur');
+let table;
btnEnregistrerBailleur.addEventListener('click', function() {
const form = document.getElementById('formBailleur');
@@ -20,4 +21,31 @@ btnEnregistrerBailleur.addEventListener('click', function() {
alert('Ce bailleur existe déjà dans la base de données.');
}
});
-});
\ No newline at end of file
+});
+
+document.addEventListener("DOMContentLoaded", function () {
+
+ table = new Tabulator("#table-bailleurs", {
+ ajaxURL: "/gestion-projet/bailleurs/",
+ layout: "fitColumns",
+ pagination: "local",
+ paginationSize: 5,
+
+ columns: [
+ {title: "#", formatter: "rownum", width: 60},
+ {title: "Organisme", field: "nom_organisme"},
+ {title: "Contact", field: "contact"},
+ {title: "Email", field: "email"},
+ {title: "Pays", field: "pays"},
+ ],
+ rowDblClick: function(e, row) {
+ const data = row.getData();
+
+ if (confirm(`Voulez-vous vraiment supprimer ${data.nom_organisme} ?`)) {
+ supprimerBailleur(data.id);
+ }
+ }
+ });
+
+});
+
diff --git a/gestion_projet/templates/gestion_projet/parts/creation_bailleur.html b/gestion_projet/templates/gestion_projet/parts/creation_bailleur.html
index 6fe4194..2f31a37 100644
--- a/gestion_projet/templates/gestion_projet/parts/creation_bailleur.html
+++ b/gestion_projet/templates/gestion_projet/parts/creation_bailleur.html
@@ -1,20 +1,51 @@
-
+
-
-
-
-
+
+ -
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
Liste des bailleurs
+
+
+
+
+
diff --git a/gestion_projet/urls.py b/gestion_projet/urls.py
index 6e3f087..06e898e 100644
--- a/gestion_projet/urls.py
+++ b/gestion_projet/urls.py
@@ -19,6 +19,12 @@ urlpatterns = [
views.creation_projet,
name='creation-projet'
),
+ path(
+ 'bailleurs/',
+ views.liste_bailleur,
+ name='liste-bailleurs'
+ ),
+
path(
'projet/modifier/
/',
views.modification_projet,
@@ -84,6 +90,7 @@ urlpatterns = [
views.liste_activites_projet,
name='liste-activites-projet'
),
+
# path(
# 'projet/ajout-de-document/',
# views.ajouter_document_projet,
@@ -119,4 +126,6 @@ urlpatterns = [
views.mises_a_jour_projet,
name='mises-a-jour-projet'
)
-]
\ No newline at end of file
+
+]
+
diff --git a/gestion_projet/views.py b/gestion_projet/views.py
index 69bd619..80a4ba4 100644
--- a/gestion_projet/views.py
+++ b/gestion_projet/views.py
@@ -2,6 +2,7 @@ from datetime import date
from decimal import Decimal, InvalidOperation
from django.http import JsonResponse
from django.shortcuts import redirect, render
+from django.urls import reverse
from django.utils import timezone
from django.contrib import messages
from django.contrib.auth.decorators import login_required
@@ -143,6 +144,22 @@ def creation_bailleur(request):
return JsonResponse({'success': True})
return JsonResponse({'success': False})
+@login_required
+def liste_bailleur(request):
+ """ Vue pour retourner la liste de tous les bailleurs """
+ bailleurs = Bailleur.objects.all().order_by('-id')
+ data = []
+ for b in bailleurs:
+ data.append({
+ "id": b.id,
+ "nom_organisme": b.nom_organisme,
+ "contact": b.contact,
+ "email": b.email,
+ "pays": b.pays,
+ })
+ return JsonResponse(data, safe=False)
+
+
@login_required
def ajouter_financement_projet(request):
"""Ajoute un financement à un projet en vérifiant que le total ne dépasse pas 100%"""
@@ -318,6 +335,7 @@ def activites_projet(request):
}
return render(request, 'gestion_projet/suivi_activite.html', context)
+
@login_required
def ajouter_activite_projet(request):
"""Vue pour ajouter une activité à un projet spécifique via un formulaire"""