## Gestion Moto & Commandes - Correction des notifications pour la Caissière - Le bouton "Enregistrer" changé en "Payer" - La moto commandée reste visible dans la liste jusqu'à livraison par la sécurité ## Espace Sécurité - Ajout des notifications de livraison - Transfert vers l'espace commande après livraison ## Espace SuperAdmin - Rejet de commande : le produit redevient disponible en stock automatiquement - Correction de la gestion des rôles (permissions inversées) - Avance complète : s'affiche directement chez la Caissière ## Historique des Actions - Ajout de l'historique des actions pour SuperAdmin (traçabilité) ## Dashboard - Filtre par date ajouté (par défaut : aujourd'hui) - Affichage uniquement des données du site concerné ## Espace Commercial - Liste des produits disponibles sur la liste déroulante dans l'ajout des commandes - Le bouton "+" se cache après le premier clic pour les clients particuliers ## Impression Documents - Refonte facture, bon de livraison, facture d'acompte (QR codes, infos dynamiques) ## Sidebar - Correction des animations et du logo dynamique Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
106 lines
3.5 KiB
PHP
106 lines
3.5 KiB
PHP
|
|
<footer class="main-footer" style="display: flex;align-items: center;justify-content: space-between;">
|
|
<div>
|
|
<strong>Copyright ©<?php echo date('Y') ?>.</strong> All rights reserved.
|
|
</div>
|
|
<div class="pull-right hidden-xs"><h5 style="font-family: tahoma;">Designed and Managed by <strong>COMPANY FOR MADAGASCAR</strong>
|
|
</footer>
|
|
|
|
<!-- Add the sidebar's background. This div must be placed
|
|
immediately after the control sidebar -->
|
|
<div class="control-sidebar-bg"></div>
|
|
</div>
|
|
<!-- ./wrapper -->
|
|
<!-- <a href="#" class="sidebar-toggle" onclick="toggleSidebar()" role="button"> -->
|
|
<script>
|
|
function toggleSidebar() {
|
|
document.body.classList.toggle('sidebar-collapsed');
|
|
}
|
|
|
|
$(document).ready(function() {
|
|
// Supprimer TOUS les handlers AdminLTE sur le menu
|
|
$('.sidebar-menu').off();
|
|
$(document).off('click', '.sidebar-menu li a');
|
|
$(document).off('click', '.treeview > a');
|
|
|
|
// Aussi tenter de détruire le widget tree AdminLTE
|
|
try { $('.sidebar-menu').tree('destroy'); } catch(e) {}
|
|
|
|
// Re-supprimer après un court délai (AdminLTE peut rebind)
|
|
setTimeout(function() {
|
|
$('.sidebar-menu').off();
|
|
bindSidebarMenu();
|
|
}, 100);
|
|
|
|
function bindSidebarMenu() {
|
|
// Clic sur un treeview
|
|
$('.sidebar-menu .treeview > a').on('click', function(e) {
|
|
e.preventDefault();
|
|
e.stopPropagation();
|
|
e.stopImmediatePropagation();
|
|
|
|
var $li = $(this).parent();
|
|
var menuId = $li.attr('id') || $('.sidebar-menu .treeview').index($li);
|
|
|
|
// Fermer les autres
|
|
$('.sidebar-menu .treeview').not($li).removeClass('menu-open')
|
|
.children('.treeview-menu').slideUp(200);
|
|
|
|
// Toggle
|
|
if ($li.hasClass('menu-open')) {
|
|
$li.removeClass('menu-open');
|
|
$li.children('.treeview-menu').slideUp(200);
|
|
localStorage.removeItem('openMenu');
|
|
} else {
|
|
$li.addClass('menu-open');
|
|
$li.children('.treeview-menu').slideDown(200);
|
|
localStorage.setItem('openMenu', String(menuId));
|
|
}
|
|
|
|
return false;
|
|
});
|
|
}
|
|
|
|
// Restaurer le menu ouvert au survol de la sidebar
|
|
var restored = false;
|
|
$('.main-sidebar').on('mouseenter', function() {
|
|
if (!restored && $('body').hasClass('sidebar-collapsed')) {
|
|
var openMenu = localStorage.getItem('openMenu');
|
|
if (openMenu !== null) {
|
|
var $target = $('#' + openMenu);
|
|
if (!$target.length) {
|
|
$target = $('.sidebar-menu .treeview').eq(parseInt(openMenu));
|
|
}
|
|
if ($target.length) {
|
|
$target.addClass('menu-open');
|
|
$target.children('.treeview-menu').slideDown(200);
|
|
}
|
|
}
|
|
restored = true;
|
|
}
|
|
});
|
|
|
|
// Quand la souris quitte : fermer visuellement mais garder en mémoire
|
|
var closeTimer = null;
|
|
$('.main-sidebar').on('mouseleave', function() {
|
|
if ($('body').hasClass('sidebar-collapsed')) {
|
|
closeTimer = setTimeout(function() {
|
|
$('.sidebar-menu .treeview').removeClass('menu-open');
|
|
$('.sidebar-menu .treeview-menu').slideUp(200);
|
|
restored = false;
|
|
}, 400);
|
|
}
|
|
});
|
|
$('.main-sidebar').on('mouseenter', function() {
|
|
if (closeTimer) {
|
|
clearTimeout(closeTimer);
|
|
closeTimer = null;
|
|
}
|
|
});
|
|
});
|
|
</script>
|
|
|
|
|
|
</body>
|
|
</html>
|