Crvi/templates/frontend/intervenant-agenda.php
2026-01-22 08:05:14 +01:00

252 lines
12 KiB
PHP

<?php
/**
* Template Agenda Intervenant
* Affiche le calendrier complet avec filtres
* Shortcode: [crvi_intervenant_agenda]
*/
if (!defined('ABSPATH')) {
exit;
}
$user = wp_get_current_user();
?>
<div class="crvi-intervenant-agenda" id="intervenant-agenda-container">
<div class="container-fluid py-4">
<!-- En-tête -->
<div class="row mb-4">
<div class="col-12">
<h1 class="h2 mb-2">
<!-- <i class="fas fa-calendar-alt me-2"></i> -->Mon Agenda
</h1>
<nav class="navbar navbar-expand-lg navbar-light bg-light rounded p-3">
<div class="container-fluid">
<ul class="navbar-nav me-auto">
<li class="nav-item">
<a class="nav-link" href="<?php echo esc_url(home_url('/espace-intervenant')); ?>">
<i class="fas fa-home me-1"></i>Hub
</a>
</li>
<li class="nav-item">
<a class="nav-link active" href="<?php echo esc_url(home_url('/espace-intervenant-agenda')); ?>">
<i class="fas fa-calendar-alt me-1"></i>Agenda
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="<?php echo esc_url(home_url('/espace-intervenant-profil')); ?>">
<i class="fas fa-user me-1"></i>Mon Profil
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="<?php echo esc_url(home_url('/encodage-permanences')); ?>">
<i class="fas fa-clock me-1"></i>Permanences
</a>
</li>
</ul>
</div>
</nav>
</div>
</div>
<!-- Onglets pour basculer entre mon agenda et celui des collègues -->
<div class="row mb-3">
<div class="col-12">
<ul class="nav nav-tabs" id="agendaTabs" role="tablist">
<li class="nav-item" role="presentation">
<button class="nav-link active" id="my-agenda-tab" data-bs-toggle="tab" data-bs-target="#my-agenda" type="button" role="tab" aria-controls="my-agenda" aria-selected="true">
<i class="fas fa-calendar-check me-1"></i>Mon Agenda
</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" id="colleagues-agenda-tab" data-bs-toggle="tab" data-bs-target="#colleagues-agenda" type="button" role="tab" aria-controls="colleagues-agenda" aria-selected="false">
<i class="fas fa-users me-1"></i>Agenda de mes collègues
</button>
</li>
</ul>
</div>
</div>
<!-- Contenu des onglets -->
<div class="tab-content" id="agendaTabsContent">
<!-- Onglet Mon Agenda -->
<div class="tab-pane fade show active" id="my-agenda" role="tabpanel" aria-labelledby="my-agenda-tab">
<section class="agenda-container">
<!-- Filtres -->
<section class="filters-container">
<form class="filters" method="get" onsubmit="return false;">
<div class="filter">
<label for="local">Local</label>
<select id="local" name="local" class="select2">
<option value="">Tous</option>
</select>
</div>
<div class="filter">
<label for="beneficiaire">Bénéficiaire</label>
<select id="beneficiaire" name="beneficiaire" class="select2">
<option value="">Tous</option>
</select>
</div>
<div class="filter">
<label for="type_rdv">Type de RDV</label>
<select id="type_rdv" name="type_rdv" class="select2">
<option value="">Tous</option>
<option value="individuel">Individuel</option>
<option value="groupe">Groupe</option>
</select>
</div>
<div class="filter">
<label for="departement">Département</label>
<select id="departement" name="departement" class="select2">
<option value="">Tous</option>
</select>
</div>
<div class="filter" style="display: none;">
<label for="type_intervention">Type d'intervention</label>
<select id="type_intervention" name="type_intervention" class="select2">
<option value="">Tous</option>
</select>
</div>
<div class="filter">
<label for="langue_filtre">Langue</label>
<select id="langue_filtre" name="langue" class="select2">
<option value="">Toutes</option>
</select>
</div>
<div class="filter">
<label>
<input type="checkbox" id="permanences_non_assignees" name="permanences_non_assignees" value="1">
Permanences non assignées uniquement
</label>
</div>
<div class="filter" style="display: none;">
<button type="button" id="resetFiltersBtn" class="btn btn-secondary">
<i class="fas fa-times"></i> Réinitialiser
</button>
</div>
<div class="filter">
<button type="button" id="addEventBtn" class="btn btn-success">
<i class="fas fa-plus"></i> Ajouter un événement
</button>
</div>
<div class="filter">
<button type="button" id="filterBtn" class="btn btn-primary">
<i class="fas fa-filter"></i> Filtrer
</button>
</div>
</form>
</section>
<!-- Calendrier Mon Agenda -->
<section class="agenda-inner-container" id="agenda-calendar">
<div id="loading-indicator" style="text-align: center; padding: 20px;">
<p>Chargement du calendrier...</p>
</div>
</section>
</section>
</div>
<!-- Onglet Agenda des collègues -->
<div class="tab-pane fade" id="colleagues-agenda" role="tabpanel" aria-labelledby="colleagues-agenda-tab">
<section class="agenda-container">
<!-- Filtres pour l'agenda des collègues -->
<section class="filters-container">
<form class="filters filters-colleagues" method="get" onsubmit="return false;">
<div class="filter">
<label for="local-colleagues">Local</label>
<select id="local-colleagues" name="local" class="select2">
<option value="">Tous</option>
</select>
</div>
<div class="filter">
<label for="beneficiaire-colleagues">Bénéficiaire</label>
<select id="beneficiaire-colleagues" name="beneficiaire" class="select2">
<option value="">Tous</option>
</select>
</div>
<div class="filter">
<label for="type_rdv-colleagues">Type de RDV</label>
<select id="type_rdv-colleagues" name="type_rdv" class="select2">
<option value="">Tous</option>
<option value="individuel">Individuel</option>
<option value="groupe">Groupe</option>
</select>
</div>
<div class="filter">
<label for="departement-colleagues">Département</label>
<select id="departement-colleagues" name="departement" class="select2">
<option value="">Tous</option>
</select>
</div>
<div class="filter" style="display: none;">
<label for="type_intervention-colleagues">Type d'intervention</label>
<select id="type_intervention-colleagues" name="type_intervention" class="select2">
<option value="">Tous</option>
</select>
</div>
<div class="filter">
<label for="langue-colleagues">Langue</label>
<select id="langue-colleagues" name="langue" class="select2">
<option value="">Toutes</option>
</select>
</div>
<div class="filter" style="display: none;">
<button type="button" id="resetFiltersBtn-colleagues" class="btn btn-secondary">
<i class="fas fa-times"></i> Réinitialiser
</button>
</div>
<div class="filter">
<button type="button" id="filterBtn-colleagues" class="btn btn-primary">
<i class="fas fa-filter"></i> Filtrer
</button>
</div>
</form>
</section>
<!-- Calendrier Agenda des collègues -->
<section class="agenda-inner-container" id="agenda-calendar-colleagues">
<div id="loading-indicator-colleagues" style="text-align: center; padding: 20px;">
<p>Chargement du calendrier des collègues...</p>
</div>
</section>
</section>
</div>
</div>
</div>
</div>
<style>
.crvi-intervenant-agenda {
min-height: 60vh;
}
#agenda-calendar {
min-height: 600px;
}
.card {
border: none;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.card-header.bg-light {
background-color: #f8f9fa !important;
border-bottom: 1px solid #dee2e6;
}
@media (max-width: 768px) {
.col-md-3 {
margin-bottom: 1rem;
}
#agenda-calendar {
min-height: 400px;
}
}
</style>
<!-- Modal de création/édition d'événements -->
<?php require_once dirname(__DIR__, 1) . '/modules/agenda-modal.php'; ?>