diff --git a/templates/bazar/circuitscourt.php b/templates/bazar/circuitscourt.php
index 1ab53b1..4cb5219 100644
--- a/templates/bazar/circuitscourt.php
+++ b/templates/bazar/circuitscourt.php
@@ -1,89 +1,93 @@
services->get(EntryManager::class)->search(
+function calculateFreePlaces($fiche)
+{
+ //dump($fiche);
+ $entries = $GLOBALS['wiki']->services->get(EntryManager::class)->search(
+ [
+ 'queries' => ['trajet' => $fiche['id_fiche']],
+ 'formsIds' => [6],
+ 'keywords' => '',
+ 'user' => '',
+ 'minDate' => '',
+ 'correspondance' => ''
+ ],
+ true, // filter on read ACL,
+ true // use Guard
+ );
+ //dump($entries);
+ $nbres = count($entries);
+ return (int) $fiche['capacite_de_transport'] - (int) $nbres;
+}
+function getStatus($fiche, $consultable = false)
+{
+ $dateFermeture = date(DATE_W3C, strtotime("-1 days", strtotime($fiche['date_du_trajet'])));
+ $dateContrainte = !empty($fiche['bf_contrainte_date']) ? date(DATE_W3C, strtotime($fiche['bf_contrainte_date'])) : null;
+ if (!empty($dateContrainte)) {
+ $dateFermeture = $dateContrainte;
+ }
+ $dateDisparition = date(DATE_W3C, strtotime("+1 hour", strtotime($fiche['date_du_trajet'])));
+ $dateJour = date(DATE_W3C);
+ if (!empty($dateContrainte) && $dateJour < $dateContrainte) {
+ $status = 'Ouvert';
+ } elseif ($dateJour < $dateFermeture) {
+ $status = 'Ouvert';
+ } elseif ($dateJour < $dateDisparition) {
+ $status = 'Fermé';
+ } else {
+ if (!$consultable) {
+ $status = 'Fini';
+ } else {
+ $status = 'Fini consultable';
+ }
+ }
+ return $status;
+}
+
+function displayReservation($fiche)
+{
+ $output = '';
+ $isProducteur = ($GLOBALS['wiki']->GetUserName() == $GLOBALS['wiki']->GetPageOwner($fiche['listefiche8producteur']));
+ $status = getStatus($fiche, $GLOBALS['wiki']->UserIsOwner($fiche['id_fiche']) || $isProducteur);
+ if ($status == 'Fini consultable' || $status == 'Ouvert' || $status == 'Fermé') {
+ // récuperer la fiche producteur
+ $producteur = baz_valeurs_fiche($fiche['listefiche8producteur']);
+ $placesrestantes = calculateFreePlaces($fiche);
+ if ($GLOBALS['wiki']->UserIsOwner($fiche['id_fiche']) || $isProducteur || $GLOBALS['wiki']->UserIsAdmin()) {
+ $entries = $GLOBALS['wiki']->services->get(EntryManager::class)->search(
[
- 'queries' => ['trajet'=> $fiche['id_fiche']],
- 'formsIds' => [6],
- 'keywords' => '',
- 'user' => '',
- 'minDate' => '',
- 'correspondance' => ''
+ 'queries' => ['trajet' => $fiche['id_fiche']],
+ 'formsIds' => [6],
+ 'keywords' => '',
+ 'user' => '',
+ 'minDate' => '',
+ 'correspondance' => ''
],
true, // filter on read ACL,
true // use Guard
- );
- //dump($entries);
- $nbres = count($entries);
- return (int) $fiche['capacite_de_transport'] - (int) $nbres;
-}
-function getStatus($fiche, $consultable = false) {
- $dateFermeture = date(DATE_W3C, strtotime("-1 days", strtotime($fiche['date_du_trajet'])));
- $dateContrainte = !empty($fiche['bf_contrainte_date']) ? date(DATE_W3C, strtotime($fiche['bf_contrainte_date'])) : null;
- if (!empty($dateContrainte)) {
- $dateFermeture = $dateContrainte;
- }
- $dateDisparition = date(DATE_W3C, strtotime("+1 hour", strtotime($fiche['date_du_trajet'])));
- $dateJour = date(DATE_W3C);
- if (!empty($dateContrainte) && $dateJour<$dateContrainte) {
- $status = 'Ouvert';
- } elseif ($dateJour<$dateFermeture) {
- $status = 'Ouvert';
- } elseif ($dateJour<$dateDisparition) {
- $status = 'Fermé';
+ );
+ if (count($entries) == 0) {
+ $output .= '
Il n\'y a pas encore de personnes qui participent à ce trajet.';
+ } else {
+ $output .= '
Liste des personnes qui participent à ce trajet';
+ $output .= $GLOBALS['wiki']->Format('{{bazarliste id="6" query="trajet=' . $fiche['id_fiche'] . '" template="tableau" columnfieldsids=",bf_prenom,bf_nom,bf_telephone,bf_commentaire"}}');
+ }
} else {
- if (!$consultable) {
- $status = 'Fini';
+ if ($placesrestantes < 1) {
+ $output .= 'Trajet complet';
+ } else {
+ $output .= '
Nombres de places restantes : ' . $placesrestantes . '
'; + if ($status == 'Ouvert') { + $output .= ' Je profite de ce trajet'; } else { - $status = 'Fini consultable'; + $output .= 'Fermé'; } + } } - return $status; -} - -function displayReservation($fiche) { - $output = ''; - $isProducteur = ($GLOBALS['wiki']->GetUserName() == $GLOBALS['wiki']->GetPageOwner($fiche['listefiche8producteur'])); - $status = getStatus($fiche, $GLOBALS['wiki']->UserIsOwner($fiche['id_fiche']) || $isProducteur); - if ($status == 'Fini consultable' || $status == 'Ouvert' || $status == 'Fermé' ) { - // récuperer la fiche producteur - $producteur = baz_valeurs_fiche($fiche['listefiche8producteur']); - $placesrestantes = calculateFreePlaces($fiche); - if ($GLOBALS['wiki']->UserIsOwner($fiche['id_fiche']) || $isProducteur) { - $entries = $GLOBALS['wiki']->services->get(EntryManager::class)->search( - [ - 'queries' => ['trajet'=> $fiche['id_fiche']], - 'formsIds' => [6], - 'keywords' => '', - 'user' => '', - 'minDate' => '', - 'correspondance' => '' - ], - true, // filter on read ACL, - true // use Guard - ); - if (count($entries) == 0) { - $output .= 'Nombres de places restantes : '.$placesrestantes.'
'; - if ($status== 'Ouvert') { - $output .= ' Je profite de ce trajet'; - } else { - $output .= 'Fermé'; - } - } - } - return $output; - } + return $output; + } }