<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>GESTION DES FOURNISSEURS - Application de gestion des Fournisseurs</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
    <link rel="stylesheet" type="text/css" href="assets/css/style.css">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.6.0/css/all.min.css" integrity="sha512-Kc323vGBEqzTmouAECnVceyQqyqdsSiqLQISBL29aUW4U/M7pSPA/gEUZQqv1cwx4OnYxTxve5UMg5GT6L4JJg==" crossorigin="anonymous" referrerpolicy="no-referrer" />		 
	<link rel="stylesheet" href="https://cdn.datatables.net/1.10.21/css/jquery.dataTables.min.css">
	<link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
	
	  <style>
        body {
            font-family: Arial, sans-serif;
            padding: 20px;
        }
        table.dataTable {
            width: 100%;
            margin-bottom: 20px;
        }
        .details-button {
            background-color: #007bff;
            color: white;
            padding: 5px 10px;
            border: none;
            border-radius: 5px;
            cursor: pointer;
        }
        .details-button:hover {
            background-color: #0056b3;
        }
        .form-control {
            padding: 10px;
            width: 100%;
            max-width: 300px;
            margin-bottom: 20px;
        }
    </style>

	<script>
		document.addEventListener('DOMContentLoaded', function() {
		  const token = localStorage.getItem('apiToken');
		  if (!token) {
			// Redirect to login page if no token is found
			window.location.href = 'login.html';
		  }
		});
	   document.addEventListener('DOMContentLoaded', function() {
				var logoutButton = document.getElementById('logout');
				if (logoutButton) {
					logoutButton.addEventListener('click', function() {
						localStorage.removeItem('apiToken');
						localStorage.removeItem('loggedIn');
						localStorage.removeItem('userName');
						localStorage.removeItem('lastActivity');
						window.location.href = 'login.html';
					});
				}
			});
	  </script>

  </head>
  <body>
    <!-- *****NAVBAR**** -->
    <header class="container">
      <div class="set-logo mb-3">
        <a href="#"><img src="assets/images/logo.png" alt="logo"></a>
      </div>
      <div class="set-divider-sm"></div>
      <nav class="navbar navbar-expand-lg set-nav-org">
        <div class="container-fluid">
          <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
            <span class="navbar-toggler-icon"></span>
          </button>
          <div class="collapse navbar-collapse" id="navbarSupportedContent">
            <ul class="navbar-nav me-auto mb-2 mb-lg-0">
              <li class="nav-item d-flex align-items-center gap-2">
                <img src="assets/images/home.png" alt="home">
                <a class="nav-link " aria-current="page" href="index.php">ACCUEIL</a>
              </li>
              <li class="nav-item">
                <a class="nav-link set-active" href="gestion.php">GESTION DES FOURNISSEURS</a>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="produits-services.php">PRODUITS & SERVICES</a>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="commandes.php">COMMANDES</a>
              </li>
            </ul>
            <div class="d-flex set-nav-icons dropdown" role="search">              <a href="#" class="set-border-right"><img src="assets/images/bell.png" alt=""></a>              <a href="#" class="dropdown-toggle"  data-bs-toggle="dropdown" aria-expanded="false"><img src="assets/images/user.png" alt=""></a>              <ul class="dropdown-menu">                <li><button class="dropdown-item" type="button">Profil</button></li>                <li><button class="dropdown-item" id="logout" type="button">Déconnexion</button></li>              </ul>            </div>			</div>
          </div>
        </div>
      </nav>
    </header>
    <!-- ***** BANNER ***** -->
    <section class="set-org-banner">
      <div class="container">
        <div class="row align-items-center">
          <div class="col-lg-7">
            <div class="row">
              <div class="col-lg-11 set-relative">
                <img src="assets/images/half-user.png" alt="user" class="set-img-top-avatar">
                <div class="set-card-main px-5 py-4 mb-5">
                  <!-- <div class="d-flex align-items-center gap-3">
                    <h5 class="m-0">Fournisseur par </h5>
                    <img src="assets/images/angle-right.png" height="16px">
                  </div>-->
                  <form>
                    <!--<select class="form-select set-select-box mt-4" aria-label="Default select example">
                      <option selected>Selectionner</option>
                      <option value="1">Nom</option>
                      <option value="2">Contact</option>
                      <option value="3">Categorie</option>
                      <option value="3">Contact acheteur</option>
                    </select>
					<input type="text" id="categoryInput" placeholder="Choisissez une catégorie..." class="form-control set-input-main  mb-3">
					<input type="text" id="searchInput" <?php if (isset($_GET['s'])){ echo "value='".$_GET['s']."'"; } ?> placeholder="Mot clé de recherche..." class="form-control set-input-main mt-4">-->
                    <!--<div class="set-btn-all mt-4">
                      <button type="submit" name="" >Entrez</button>
                    </div>-->
                  </form>
                </div>
              </div>
            </div>
          </div>
          <div class="col-lg-5">
            <div class="set-main-banner-text">
              <h1>GESTION <span>DES</span> <br> FOURNISSEURS</h1>
            </div>
          </div>
        </div>
      </div>
    </section>
    <!-- ***** BOX GREY ***** -->
    <!-- <section class="set-main-grey-box py-5">
      <div class="container">
        <div class="row align-items-center">
          <div class="col-lg-7">
            <div class="row">
              <div class="col-lg-11 set-relative">
                <div class="set-card-main set-bg-black px-5 py-4 mb-5">
                  <div class="d-flex align-items-center gap-3">
                    <h5 class="m-0 text-light">Fournisseur par </h5>
                    <img src="assets/images/angle-right.png" height="16px">
                  </div>
                  <form>
                    <select class="form-select set-select-box mt-4" aria-label="Default select example">
                      <option selected>Selectionner</option>
                      <option value="1"> Avec blocage d’achats</option>
                      <option value="2"> Fournisseurs préalables</option>
                      <option value="2"> Fournisseurs inactifs</option>
                      <option value="3"> Fournisseurs de diversité</option>
                      <option value="3"> Exporter fournisseurs sélectionnés</option>
                      <option value="3"> Tous les fournisseurs</option>
                      <option value="3"> Évaluation fournisseurs</option>
                      <option value="3"> Contact acheteur</option>
                    </select>
                    <div class="set-btn-all mt-4">
                      <button type="submit" name="" >Entrez</button>
                    </div>
                  </form>
                </div>
              </div>
            </div>
          </div>
          <div class="col-lg-5">
            <div class="set-main-box-img">
              <img src="assets/images/box.png" alt="" class="img-fluid">
            </div>
          </div>
        </div>
      </div>
    </section> -->
	
	
	
	
	<section> 

	
	
	
    <!-- Modal -->
    <div class="modal fade" id="detailsModal" tabindex="-1" aria-labelledby="detailsModalLabel" aria-hidden="true">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">
                    <h5 class="modal-title" id="detailsModalLabel">Détails du fournisseur</h5>
                    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                        <span aria-hidden="true">&times;</span>
                    </button>
                </div>
                <div class="modal-body">
                    <p><strong>Nom:</strong> <span id="detailName"></span></p>
                    <p><strong>Category:</strong> <span id="detailCategory"></span></p>
                </div>
            </div>
        </div>
    </div>
	
	
	
    <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
    <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
    <script src="https://cdn.datatables.net/1.10.21/js/jquery.dataTables.min.js"></script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
	    <script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>

<br><br>

    <table id="fournisseursTable" class="display">
        <thead>
            <tr>
                <th>Code Fournisseur</th>
                <th>Nom</th>
                <th>Catégories</th>
                <th>Description</th>
				<th>Entité</th> <!-- Nouvelle colonne Entité -->
                <th>Action</th>
            </tr>
        </thead>
        <tbody>
        </tbody>
    </table>

    <script>
        $(document).ready(function() {
			
			
			let selectedCategoryId = null;

            // Autocomplete for categories
            $("#categoryInput").autocomplete({
                source: function(request, response) {
                    $.ajax({
                        url: "https://furytech-sa.com/voodoo/api/index.php/categories",
                        headers: {
                            'DOLAPIKEY': '2139d15a5867882fa53f5daf98e82030d138b4d7'
                        },
                        data: {
                            sortfield: 't.rowid',
                            sortorder: 'ASC',
                            limit: 100,
                            sqlfilters: "(t.label:like:'%" + request.term + "%')" // Filtrer par clé de recherche
                        },
                        success: function(data) {
                            response($.map(data, function(item) {
                                return {
                                    label: item.label,
                                    value: item.id
                                };
                            }));
                        }
                    });
                },
                minLength: 2,
                select: function(event, ui) {
                    $('#categoryInput').val(ui.item.label);
                    selectedCategoryId = ui.item.value;
                    $('#searchInput').trigger('input'); // Trigger search on category selection
                    return false; // Prevent the item value from being inserted into the input
                }
            });

			
			
			
			
			
			
			
			
            var table = $('#fournisseursTable').DataTable({
				
				
                ajax: {
                    url: getApiUrl(),
                    headers: {
                        'DOLAPIKEY': '2139d15a5867882fa53f5daf98e82030d138b4d7'
                    },
                    dataSrc: '',
                    type: 'GET',
                    // Transformation des données pour ajouter les catégories
                    dataSrc: function(json) {
                        var fournisseurs = json;
                        // Parcourir chaque fournisseur pour charger les catégories correspondantes
                        return $.map(fournisseurs, function(fournisseur) {
                            $.ajax({
                                url: `https://furytech-sa.com/voodoo/api/index.php/thirdparties/${fournisseur.id}/supplier_categories`,
                                headers: {
                                    'DOLAPIKEY': '2139d15a5867882fa53f5daf98e82030d138b4d7'
                                },
                                method: 'GET',
                                async: false,
                                success: function(categories) {
                                    fournisseur.category = categories.map(cat => cat.label).join(', ') || 'Aucune catégorie';
                                },
                                error: function() {
                                    fournisseur.category = 'Erreur lors du chargement des catégories';
                                }
                            });
							
							
							// Récupérer les informations de l'entité
                            $.ajax({
                                url: `https://furytech-sa.com/voodoo/api/index.php/multicompany/${fournisseur.entity}`,
                                headers: {
                                    'DOLAPIKEY': '2139d15a5867882fa53f5daf98e82030d138b4d7'
                                },
                                method: 'GET',
                                async: false,
                                success: function(entite) {
                                    fournisseur.entity = entite.label || 'Entité inconnue';
                                }
                            });
							
                            return fournisseur;
                        });
                    }
                },
                columns: [
                    { data: 'code_fournisseur' },
                    { data: 'name' },
                    { data: 'category' },
                    { data: 'note_public' },
					{ data: 'entity' }, // Nouvelle colonne pour l'entité
                    { 
                        data: null,
                        render: function(data, type, row) {
                            return `<button class="details-button" data-id="${row.id}">Plus de détails</button>`;
                        }
                    }
                ],
                pageLength: 10, // Pagination à 10 résultats par page
                lengthChange: false,
				"language": {
                    "paginate": {
                        "first": "Premier",
                        "last": "Dernier",
                        "next": "Suivant",
                        "previous": "Précédent"
                    }
                }
            });

            // Recharger les données du tableau lorsque les filtres changent
            $('#categoryInput, #searchInput').on('input', function() {
                table.ajax.url(getApiUrl()).load();
            });

            // Fonction pour construire l'URL d'API avec les filtres appliqués
            function getApiUrl() {
                var apiUrl = 'https://furytech-sa.com/voodoo/api/index.php/thirdparties';
                var search = $('#searchInput').val();
                var category = $('#categoryInput').val();
                var sqlfilters = '';

                // Appliquer le filtre de recherche
                if (search) {
                    sqlfilters += "((t.nom:like:'%" + search + "%') or (t.note_public:like:'%" + search + "%') or (t.note_private:like:'%" + search + "%'))";
                }

                // Appliquer le filtre de catégorie (si une catégorie est sélectionnée)
                if (category) {
                    apiUrl = `https://furytech-sa.com/voodoo/api/index.php/categories/${category}/objects`;
                }

                // Ajouter les filtres à l'URL si nécessaire
                if (sqlfilters) {
                    apiUrl += '?sqlfilters=' + encodeURIComponent(sqlfilters);
                }

                return apiUrl;
            }

            // Gestion du bouton "Plus de détails"
            $('#fournisseursTable tbody').on('click', '.details-button', function() {
                var fournisseurId = $(this).data('id');

                // Appel pour récupérer les détails du fournisseur
                $.ajax({
                    url: `https://furytech-sa.com/voodoo/api/index.php/thirdparties/${fournisseurId}`,
                    headers: {
                        'DOLAPIKEY': '2139d15a5867882fa53f5daf98e82030d138b4d7'
                    },
                    method: 'GET',
                    success: function(fournisseur) {
                        // Récupération des catégories du fournisseur
                        $.ajax({
                            url: `https://furytech-sa.com/voodoo/api/index.php/thirdparties/${fournisseurId}/supplier_categories`,
                            headers: {
                                'DOLAPIKEY': '2139d15a5867882fa53f5daf98e82030d138b4d7'
                            },
                            method: 'GET',
                            success: function(categories) {
                                var categoriesList = categories.map(cat => cat.label).join(', ');

                                // Affichage des détails dans SweetAlert2
                                Swal.fire({
                                    title: 'Détails du Fournisseur',
                                    html: `
                                        <strong>Code Fournisseur:</strong> ${fournisseur.code_fournisseur}<br>
                                        <strong>Nom:</strong> ${fournisseur.name}<br>
                                        <strong>RCCM:</strong> ${fournisseur.array_options.options_rccm || 'Aucun Numero RCCM'}<br>
                                        <strong>Catégories:</strong> ${categoriesList || 'Aucune catégorie'}<br>
                                        <strong>Description:</strong> ${fournisseur.note_public || 'Pas de note'}
                                    `,
                                    icon: 'info',
                                    confirmButtonText: 'Fermer'
                                });
                            },
                            error: function() {
                                Swal.fire('Erreur', 'Impossible de récupérer les catégories du fournisseur.', 'error');
                            }
                        });
                    },
                    error: function() {
                        Swal.fire('Erreur', 'Impossible de récupérer les détails du fournisseur.', 'error');
                    }
                });
            });
        });
    </script>


</section>
	
	
	
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
  </body>
</html>