Exemple #1
0
 /**
  * Permet d'annuler une réservation déjà validée (rembourse les points utilisés et gagnés)
  *
  * @param Reservation $uneReservation
  *
  * @throws ErrorSQLException
  */
 public static function annulerReservationValidee(Reservation $uneReservation)
 {
     $conn = MConnexion::getBdd();
     try {
         $conn->beginTransaction();
         $req = $conn->prepare('DELETE FROM echeance WHERE numRes = ?');
         $req->execute([$uneReservation->getId()]);
         $conn->commit();
         $conn->beginTransaction();
         $reqPrepare = $conn->prepare('DELETE FROM reservation WHERE numRes = ?');
         $reqPrepare->execute([$uneReservation->getId()]);
         $conn->commit();
         $points = MUtilisateur::getPoints($uneReservation->getUnClient()) - Build::newPoints($uneReservation->getPriceReservation()) + $uneReservation->getReduction();
         MUtilisateur::setPoints($uneReservation->getUnClient(), $points);
         $conn = null;
     } catch (PDOException $e) {
         $conn->rollBack();
         $uneReservation->setValid(false);
         throw new ErrorSQLException($e->getMessage());
     }
 }
Exemple #2
0
             $unCommander = new Commander();
             $unCommander->setUnArticle($unArticle);
             $unCommander->setQte($unArticle->getQte());
             $unCommander->setUneCommande($uneCommande);
             $lesCommander->ajouter($unCommander);
         }
         $uneCommande->setLesArticles($lesCommander);
         if ($_SESSION['Panier']->getPointsUtilise() > 0) {
             $uneCommande->setPointsUtilise($_SESSION['Panier']->getPointsUtilise());
         }
         MCommande::ajouterCommande($uneCommande);
         foreach ($uneCommande->getLesArticles()->getCollection() as $unCommander) {
             MCommander::ajouterArticleCommande($unCommander);
             MArticle::updateQteStock($unCommander->getUnArticle(), $unCommander->getQte());
         }
         MUtilisateur::setPoints($_SESSION['Utilisateur'], $_SESSION['Utilisateur']->getPoints() + Build::newPoints($_SESSION['Panier']->getPrixTotal(), Build::TYPE_COMMANDE));
         unset($_SESSION['Panier']);
         header('Location:?page=monCompte&action=voirCommandes');
     } catch (\InvalidArgumentException $e) {
         Connexion::setFlashMessage($e->getMessage());
         header('Location:?page=monPanier');
     } catch (\UnexpectedValueException $e) {
         Connexion::setFlashMessage($e->getMessage());
         header('Location:?page=monPanier&action=validerPanier');
     }
     break;
 case 'ajouterArticle':
     try {
         if ($_POST['qte'] <= 0) {
             throw new InvalidArgumentException('Veuillez sélectionner une quantité');
         }
Exemple #3
0
?>
</h3>
                <form
                    action="?page=reserver&action=validReserverVol&vol=<?php 
echo $vol->getNumVol();
?>
"
                    method="POST"
                    role="form"
                    autocomplete="off">
                    <h3 class="text-muted"><?php 
echo $nbPlaceRestante;
?>
 places disponibles !</h3>
                    <h4 class="text-uppercase text-warning">Vol à partir de <?php 
echo Build::fEuro($vol->getPrice());
?>
</h4>
                    <div class="row">
                        <div class="col-xs-12 col-md-2">
                            <div class="form-group">
                                <label for="">Nombre de personnes</label>
                                <input
                                    type="number"
                                    min="1"
                                    class="form-control"
                                    id="nbPers"
                                    name="nbPers"
                                    placeholder="Nombre de personnes"
                                    value="1">
                            </div>
Exemple #4
0
                    </div>
                </div>
            </div>
        </div>
        <a
            href="?page=monPanier"
            class="btn btn-default">
            <span class="glyphicon glyphicon-arrow-left"></span> Retour
        </a>
        <button type="submit" class="btn btn-primary">Finaliser la commande</button>
    </div>
</form>
<div class="col-xs-12 col-md-4">
    <h3>Montant TTC à payer aujourd'hui : </h3>
    <h4><?php 
echo \Nostromo\Classes\Build::fEuro($_SESSION['Panier']->getPrixTotalWithRemise());
?>
</h4>
    <h5>Dont
        <?php 
echo round((1 - $_SESSION['Panier']->getMultiplicateurRemise()) * 100, 2);
?>
%
        (<?php 
echo \Nostromo\Classes\Build::fEuro($_SESSION['Panier']->getMontantRemise());
?>
)
        de remise immédiate liée aux points de fidélité.
    </h5>
</div>
     echo '<h3>Échéances :</h3>';
     echo 'Payé : ' . Build::fEuro($_SESSION['Reservation']->getPriceReservation()) . ' - le ' . Build::fDateTimeDate($_SESSION['Reservation']->getDateRes());
 } elseif ($_SESSION['Reservation']->getNbEcheance() === 3) {
     /* @var \Nostromo\Classes\Echeance $echeance */
     echo '<h3>Échéances :</h3>';
     foreach ($_SESSION['Reservation']->getLesEcheance()->getCollection() as $echeance) {
         $now = new \DateTime();
         if ($echeance->getDate() > new \DateTime() || Build::fDateTimeDate($echeance->getDate()) === Build::fDateTimeDate($now)) {
             echo ' ' . Build::fEuro($echeance->getMontant());
             echo ' pour le : ' . Build::fDateTimeDate($echeance->getDate()) . '<br>';
         }
     }
 } else {
     echo '<h4>A payer : ' . Build::fEuro($_SESSION['Reservation']->getPriceReservation()) . '</h4>';
     if ($_SESSION['Reservation']->getReduction() > 0) {
         echo '<h5>Dont : ' . Build::fEuro($_SESSION['Reservation']->getPriceRemise()) . ' de remise lié aux points de fidélité.</h5>';
     }
 }
 ?>
             </div>
         </div>
         <?php 
 if (!$_SESSION['Reservation']->isValid()) {
     ?>
             <a class="btn btn-primary"
                href="?page=maReservation&action=payment"
                role="button">Valider la réservation
             </a>
             <?php 
 } else {
     ?>
Exemple #6
0
        ?>
                            <?php 
        if (MVol::getPlaceRestante($unVol) === 0) {
            echo ' - <span class="text-danger">COMPLET</span>';
        }
        ?>
</h2>
                        <h4>Date et heure : <?php 
        echo $unVol->getDateVol();
        ?>
 à <?php 
        echo $unVol->getHeureVol();
        ?>
</h4>
                        <h5>Prix : <?php 
        echo Build::fEuro($unVol->getPrice());
        ?>
                        </h5>
                        <?php 
        if (Connexion::sessionOuverte()) {
            ?>
                            <p><a
                                    href="?page=reserver&action=reserverVol&vol=<?php 
            echo $unVol->getNumVol();
            ?>
"
                                    <?php 
            if (MVol::getPlaceRestante($unVol) === 0) {
                echo 'disabled';
            }
            ?>
Exemple #7
0
 points de fidélité
                    (<span class=\"text-warning\">- <?php 
        echo Build::fEuro($uneCommande->getMontantRemise());
        ?>
.'</span>)
                    et gagner <?php 
        echo Build::newPoints($uneCommande->getMontantTotalNoRemise(), Build::TYPE_COMMANDE);
        ?>
                    nouveaux points avec cette commande.
                </h5>
                <?php 
    }
    ?>
            <h3>
                Total : <span class="text-warning"><?php 
    echo Build::fEuro($uneCommande->getMontantTotal());
    ?>
</span>
            </h3>
            <?php 
} else {
    if (isset($lesCommandes)) {
        if ($lesCommandes->taille() === 0) {
            echo '<p class="text-center text-info">Vous n\'avez aucune commande.</p>';
        } else {
            echo '<h5 class="text-center">Veuillez sélectionner une commande</h5>';
        }
    }
}
?>
    </div>
Exemple #8
0
                        <?php 
        echo Build::fEuro($_SESSION['Reservation']->getOtherEcheancePrice());
        ?>
                        - le <?php 
        echo Build::fDateTimeDate($_SESSION['Reservation']->getDateEcheance(1));
        ?>
                    </div>
                </div>
                <div class="row">
                    <div class="col-xs-12 col-md-12">
                        <?php 
        echo Build::fEuro($_SESSION['Reservation']->getOtherEcheancePrice());
        ?>
                        - le <?php 
        echo Build::fDateTimeDate($_SESSION['Reservation']->getDateEcheance(2));
        ?>
                    </div>
                </div>
                <div class="row">
                    <div class="col-xs-12 col-md-12">
                        Dont <?php 
        echo Build::fEuro($_SESSION['Reservation']->getPriceRemise());
        ?>
                        de remise lié aux points de fidélité.
                    </div>
                </div>
            </div>
        </div>
        <?php 
    }
}
Exemple #9
0
                        value="1">
                    <input
                        type="hidden"
                        id="price"
                        readonly
                        disabled
                        value="<?php 
echo $article->getPu();
?>
">
                </div>
                <div class="col-xs-12 col-md-5">
                    <h3>Prix :
                        <span class="text-info">
                            <?php 
echo '<span id="priceContainer">' . Build::fEuro($article->getPu()) . '</span>';
?>
                        </span>
                    </h3>
                </div>
            </div>
            <br>
            <a
                href="?page=materiel"
                class="btn btn-default">
                <span class="glyphicon glyphicon-arrow-left"></span> Retour
            </a>
            <button type="submit" class="btn btn-primary">Valider</button>
        </form>
    </div>
</div>
Exemple #10
0
"
                        <?php 
    if ($_SESSION['Panier']->getPointsUtilise() > 0) {
        echo "value='{$_SESSION['Panier']->getPointsUtilise()}'";
    } else {
        echo 'readonly';
    }
    ?>
                        placeholder="Combien de points ?">
                </div>
            </div>
        </div>
        <div class="row">
            <div class="col-xs-12 col-md-5">
                <h4>Total à payer : <span id="total"><?php 
    echo Build::fEuro($_SESSION['Panier']->getPrixTotal());
    ?>
</span></h4>
                <h5>Total remise (en %) : <span id="remise">0%</span></h5>
            </div>
        </div>
        <div class="row">
            <div class="col-xs-12">
                <a
                    href="?page=monPanier&action=viderPanier"
                    onclick="return etesVousSur('Voulez-vous vider le panier ?')"
                    class="btn btn-primary">
                    <span class="glyphicon glyphicon-trash"></span> Vider
                </a>
                <button
                    type="submit"