Implement V2 sidebar panel for superadmin with enhanced access management

This commit introduces a new V2 sidebar panel in the superadmin interface, featuring improved layout and organization for access management tools. The panel includes sections for production synchronization and legacy access controls, with updated styling for better user experience. Additionally, the CSS is enhanced to support the new sidebar design, ensuring a cohesive look and feel across the application.
This commit is contained in:
2026-07-02 18:35:54 -04:00
parent fee6f5c69d
commit a94077874d
2 changed files with 159 additions and 94 deletions

View File

@ -158,6 +158,62 @@ table.rapport tr {background-color: #190d7394;}*/
margin-bottom: 0.25rem;
}
/* Panneau V2 — bas de la sidebar superadmin */
.superadm-sidebar-v2-panel {
background: #fff;
border: 1px solid #c5d4e8;
border-radius: 4px;
padding: 0.75rem 0.65rem 0.5rem;
}
.superadm-sidebar-v2-panel__header {
align-items: center;
border-bottom: 1px solid #e3ebf5;
display: flex;
gap: 0.45rem;
margin-bottom: 0.65rem;
padding-bottom: 0.55rem;
}
.superadm-sidebar-v2-panel__badge {
background: #0b2546;
border-radius: 3px;
color: #fff;
font-size: 0.65rem;
font-weight: 700;
letter-spacing: 0.06em;
line-height: 1;
padding: 0.2rem 0.35rem;
}
.superadm-sidebar-v2-panel__title {
color: #0b2546;
font-size: 0.82rem;
font-weight: 700;
line-height: 1.25;
}
.superadm-sidebar-v2-panel__group {
margin-bottom: 0.75rem;
}
.superadm-sidebar-v2-panel__group:last-child {
margin-bottom: 0;
}
.superadm-sidebar-v2-panel__label {
color: #6c757d;
font-size: 0.68rem;
font-weight: 700;
letter-spacing: 0.05em;
margin-bottom: 0.3rem;
text-transform: uppercase;
}
.superadm-sidebar-v2-panel__nav .nav-link {
font-size: 0.88rem;
padding: 0.35rem 0.5rem;
}
.superadm-sidebar-v2-panel__hint {
color: #6c757d;
font-size: 0.75rem;
line-height: 1.35;
margin: 0.35rem 0 0.45rem;
}
/* Toggle Aperçu / Droits (super admin) */
.navbar .ms1-env-text-edit-label{
display:inline-flex;

View File

@ -1,5 +1,12 @@
<?php
global $db, $objDatabase, $vblnEnvironementDev, $vDomaine, $vblnEnvironementPreProd;
$strSidebarScript = basename($_SERVER['SCRIPT_NAME'] ?? '');
$strEveAccesP = $_GET['p'] ?? 'kits';
$blnEveAccesActive = ($strSidebarScript === 'eve_acces.php');
$blnEveAccesKits = $blnEveAccesActive && in_array($strEveAccesP, array('kits', 'kit', 'assignations'), true);
$blnCtApiActive = ($strSidebarScript === 'chronotrack_api.php');
$blnDocActive = ($strSidebarScript === 'documentation.php');
?>
<div class="col-md-3 col-lg-2 order-last order-md-first bg-light border-right py-3">
<h4>Confirmation commande</h4>
@ -47,99 +54,6 @@ global $db, $objDatabase, $vblnEnvironementDev, $vDomaine, $vblnEnvironementPreP
<?php echo $strImage; ?>
</a>
</div>
<h4 class="superadm-sidebar-title superadm-sidebar-title--v2">Gestion des infos du site espace V2</h4>
<h5 class="superadm-sidebar-subtitle">Aide à la mise en prod du site</h5>
<?php if (fxSuperadmStaticSyncAllowed()) { ?>
<ul class="nav nav-pills flex-column">
<li class="nav-item" role="presentation">
<a class="nav-link" href="<?php echo $vDomaine; ?>/php/sync_static_db.php" target="_blank">
<i class="fa fa-database" aria-hidden="true"></i>&nbsp;Sync tables statiques
</a>
</li>
</ul>
<?php } ?>
<h5 class="superadm-sidebar-subtitle">Gestion des accès</h5>
<div class="p-3 mb-2">
<?php
$intLegacyActif = fxGetVariable('promoteur_legacy_actif');
if ($intLegacyActif === null || $intLegacyActif === '') {
$intLegacyActif = 1;
}
if (intval($intLegacyActif) === 1) {
$intLegacyToggle = 0;
$strLegacyClass = 'btn-success';
$strLegacyLabel = '<i class="fa fa-check mr-2" aria-hidden="true"></i>Legacy promoteur actif';
} else {
$intLegacyToggle = 1;
$strLegacyClass = 'btn-warning';
$strLegacyLabel = '<i class="fa fa-pause mr-2" aria-hidden="true"></i>Legacy promoteur désactivé';
}
?>
<a class="btn btn-sm rounded-0 btn-block text-left <?php echo $strLegacyClass; ?>"
id="btn_promoteur_legacy"
href="#"
data-action="change-var"
data-key="promoteur_legacy_actif"
data-valeur="<?php echo intval($intLegacyToggle); ?>"
title="Coupe l'accès site via com_eve_promoteur (les données fiche compte ne changent pas).">
<?php echo $strLegacyLabel; ?>
</a>
<p class="small text-muted mb-0 mt-2">
Test v2 seul : désactiver, vérifier les kits, réactiver si besoin.
</p>
</div>
<?php
$strSidebarScript = basename($_SERVER['SCRIPT_NAME'] ?? '');
$strEveAccesP = $_GET['p'] ?? 'kits';
$blnEveAccesActive = ($strSidebarScript === 'eve_acces.php');
$blnEveAccesKits = $blnEveAccesActive && in_array($strEveAccesP, array('kits', 'kit', 'assignations'), true);
?>
<ul class="nav nav-pills flex-column">
<li class="nav-item" role="presentation">
<a class="nav-link<?php if ($blnEveAccesKits && ($strEveAccesP === 'kits' || $strEveAccesP === 'kit' || $strEveAccesP === 'assignations')) { ?> active<?php } ?>"
href="<?php echo $vDomaine; ?>/superadm/eve_acces.php?p=kits">
<i class="fa fa-cubes" aria-hidden="true"></i>&nbsp;Kits d'accès
</a>
</li>
<li class="nav-item" role="presentation">
<a class="nav-link<?php if ($blnEveAccesActive && $strEveAccesP === 'migrate') { ?> active<?php } ?>"
href="<?php echo $vDomaine; ?>/superadm/eve_acces.php?p=migrate">
<i class="fa fa-exchange" aria-hidden="true"></i>&nbsp;Migration legacy
</a>
</li>
</ul>
<h5 class="superadm-sidebar-subtitle">MSIN API ChronoTrack</h5>
<?php $blnCtApiActive = ($strSidebarScript === 'chronotrack_api.php'); ?>
<ul class="nav nav-pills flex-column mb-3">
<li class="nav-item" role="presentation">
<a class="nav-link<?php if ($blnCtApiActive) { ?> active<?php } ?>"
href="<?php echo $vDomaine; ?>/superadm/chronotrack_api.php">
<i class="fa fa-clock-o" aria-hidden="true"></i>&nbsp;Courses connectées
</a>
</li>
</ul>
<h5 class="superadm-sidebar-subtitle">Gestion de la documentation et Aide</h5>
<?php
$blnDocActive = ($strSidebarScript === 'documentation.php');
?>
<ul class="nav nav-pills flex-column">
<li class="nav-item" role="presentation">
<a class="nav-link<?php if ($blnDocActive) { ?> active<?php } ?>"
href="<?php echo $vDomaine; ?>/superadm/documentation.php">
<i class="fa fa-book" aria-hidden="true"></i>&nbsp;Documentation &amp; Nouveautés
</a>
</li>
<li class="nav-item" role="presentation">
<a class="nav-link<?php if ($blnDocActive) { ?> active<?php } ?>"
href="<?php echo $vDomaine; ?>/superadm/documentation.php">
<i class="fa fa-files-o" aria-hidden="true"></i>&nbsp;Pages &amp; modules
</a>
</li>
</ul>
<h4 class="superadm-sidebar-title superadm-sidebar-title--legacy">Gestion des infos du site web</h4>
<?php
@ -261,4 +175,99 @@ global $db, $objDatabase, $vblnEnvironementDev, $vDomaine, $vblnEnvironementPreP
}
}
?>
</div>
<aside class="superadm-sidebar-v2-panel mt-4">
<div class="superadm-sidebar-v2-panel__header">
<span class="superadm-sidebar-v2-panel__badge">V2</span>
<span class="superadm-sidebar-v2-panel__title">Espace promoteur &amp; outils</span>
</div>
<?php if (fxSuperadmStaticSyncAllowed()) { ?>
<div class="superadm-sidebar-v2-panel__group">
<div class="superadm-sidebar-v2-panel__label">Mise en prod</div>
<ul class="nav nav-pills flex-column superadm-sidebar-v2-panel__nav">
<li class="nav-item" role="presentation">
<a class="nav-link" href="<?php echo $vDomaine; ?>/php/sync_static_db.php" target="_blank">
<i class="fa fa-database" aria-hidden="true"></i>&nbsp;Sync tables statiques
</a>
</li>
</ul>
</div>
<?php } ?>
<div class="superadm-sidebar-v2-panel__group">
<div class="superadm-sidebar-v2-panel__label">Accès promoteur</div>
<?php
$intLegacyActif = fxGetVariable('promoteur_legacy_actif');
if ($intLegacyActif === null || $intLegacyActif === '') {
$intLegacyActif = 1;
}
if (intval($intLegacyActif) === 1) {
$intLegacyToggle = 0;
$strLegacyClass = 'btn-success';
$strLegacyLabel = '<i class="fa fa-check mr-2" aria-hidden="true"></i>Legacy promoteur actif';
} else {
$intLegacyToggle = 1;
$strLegacyClass = 'btn-warning';
$strLegacyLabel = '<i class="fa fa-pause mr-2" aria-hidden="true"></i>Legacy promoteur désactivé';
}
?>
<a class="btn btn-sm rounded-0 btn-block text-left <?php echo $strLegacyClass; ?>"
id="btn_promoteur_legacy"
href="#"
data-action="change-var"
data-key="promoteur_legacy_actif"
data-valeur="<?php echo intval($intLegacyToggle); ?>"
title="Coupe l'accès site via com_eve_promoteur (les données fiche compte ne changent pas).">
<?php echo $strLegacyLabel; ?>
</a>
<p class="superadm-sidebar-v2-panel__hint">
Test v2 seul : désactiver, vérifier les kits, réactiver si besoin.
</p>
<ul class="nav nav-pills flex-column superadm-sidebar-v2-panel__nav">
<li class="nav-item" role="presentation">
<a class="nav-link<?php if ($blnEveAccesKits && ($strEveAccesP === 'kits' || $strEveAccesP === 'kit' || $strEveAccesP === 'assignations')) { ?> active<?php } ?>"
href="<?php echo $vDomaine; ?>/superadm/eve_acces.php?p=kits">
<i class="fa fa-cubes" aria-hidden="true"></i>&nbsp;Kits d'accès
</a>
</li>
<li class="nav-item" role="presentation">
<a class="nav-link<?php if ($blnEveAccesActive && $strEveAccesP === 'migrate') { ?> active<?php } ?>"
href="<?php echo $vDomaine; ?>/superadm/eve_acces.php?p=migrate">
<i class="fa fa-exchange" aria-hidden="true"></i>&nbsp;Migration legacy
</a>
</li>
</ul>
</div>
<div class="superadm-sidebar-v2-panel__group">
<div class="superadm-sidebar-v2-panel__label">ChronoTrack</div>
<ul class="nav nav-pills flex-column superadm-sidebar-v2-panel__nav">
<li class="nav-item" role="presentation">
<a class="nav-link<?php if ($blnCtApiActive) { ?> active<?php } ?>"
href="<?php echo $vDomaine; ?>/superadm/chronotrack_api.php">
<i class="fa fa-clock-o" aria-hidden="true"></i>&nbsp;Courses connectées
</a>
</li>
</ul>
</div>
<div class="superadm-sidebar-v2-panel__group mb-0">
<div class="superadm-sidebar-v2-panel__label">Documentation</div>
<ul class="nav nav-pills flex-column superadm-sidebar-v2-panel__nav">
<li class="nav-item" role="presentation">
<a class="nav-link<?php if ($blnDocActive) { ?> active<?php } ?>"
href="<?php echo $vDomaine; ?>/superadm/documentation.php">
<i class="fa fa-book" aria-hidden="true"></i>&nbsp;Documentation &amp; nouveautés
</a>
</li>
<li class="nav-item" role="presentation">
<a class="nav-link<?php if ($blnDocActive) { ?> active<?php } ?>"
href="<?php echo $vDomaine; ?>/superadm/documentation.php">
<i class="fa fa-files-o" aria-hidden="true"></i>&nbsp;Pages &amp; modules
</a>
</li>
</ul>
</div>
</aside>
</div>