public function save(AnnouncementReservation $announcementReservation)
 {
     if ($announcementReservation->isValid()) {
         $announcementReservation->isNew() ? $this->add($announcementReservation) : $this->modify($announcementReservation);
     } else {
         throw new RuntimeException('Les indisponibilités pour l\'annonce doivent être valide pour être enregistrée');
     }
 }
 private function parsePostReservation(HTTPRequest $request, AnnouncementReservation $reservation)
 {
     $date = htmlspecialchars($request->postData('date'));
     $dateEnd = htmlspecialchars($request->postData('date-end'));
     $dateOption = htmlspecialchars($request->postData('date-option'));
     $announcementId = htmlspecialchars($request->postData('announcement-id'));
     $userOwnerId = htmlspecialchars($request->postData('user-owner-id'));
     $userSubscriberId = htmlspecialchars($request->postData('user-subscriber-id'));
     $contactGroupId = htmlspecialchars($request->postData('contact-group-id'));
     $price = htmlspecialchars($request->postData('price'));
     $paiementStateId = htmlspecialchars($request->postData('state-id'));
     $reservation->setAnnouncementId($announcementId);
     $reservation->setDate($date);
     if ($dateOption == 'period') {
         $reservation->setDateEnd($dateEnd);
     } else {
         $reservation->setDateEnd($date);
     }
     $reservation->setDateOption($dateOption);
     $reservation->setUserOwnerId($userOwnerId);
     $reservation->setUserSubscriberId($userSubscriberId);
     $reservation->setContactGroupId($contactGroupId);
     $reservation->setPrice($price);
     $reservation->setStateId($paiementStateId);
 }
Example #3
0
    public function sendAdminReservationSubscriberCanceled(Users $userOwner, Users $userSubscriber, Announcement $announce, AnnouncementReservation $reservation)
    {
        $platform_fee_ratio = Tipkin\Config::get('platform-fee-ratio');
        $platform_fee_extra = $platform_fee_ratio > 0 ? 'et l\'acompte ne sera pas débité' : '';
        $this->to = $this->adminMail;
        $this->subject = 'Annulation de réservation';
        $this->content = '
								Bonjour,
								<br />
								Une demande de Tip de <b>' . $announce->getTitle() . '</b> n’a pas été validée.<br />
								Elle est donc annulée' . $platform_fee_extra . '.
								<br /><br />
								Référence de transation : <b>' . $reservation->getTransactionRef() . '</b>
								<br /><br />
								A très bientôt sur TIPKIN !
								<br /><br />
								Je possède. Tu empruntes. Nous partageons !
								<br /><br />
								Administration TIPKIN.
        						';
        $this->send();
    }
 public function isReservationExists(AnnouncementReservation $reservation)
 {
     //echo 'SELECT * FROM '.$this->table().' WHERE ('.$this->table().'.DATE >= \'' . $reservation->getDate() . '\' AND DATE_END <= \'' . $reservation->getDateEnd() . '\' AND STATE_ID != ' . PaiementStates::CANCELED . ')';
     //die;
     $q = $this->dao->prepare('SELECT * FROM ' . $this->table() . ' WHERE (' . $this->table() . '.DATE >= \'' . $reservation->getDate() . '\' AND DATE_END <= \'' . $reservation->getDateEnd() . '\' AND STATE_ID != ' . PaiementStates::CANCELED . ' AND ANNOUNCEMENT_ID = ' . $reservation->getAnnouncementId() . ')');
     $q->execute();
     $announcementReservation = array();
     while ($data = $q->fetch(PDO::FETCH_ASSOC)) {
         $announcementReservation[] = new AnnouncementReservation($data);
     }
     return count($announcementReservation);
 }