Ejemplo n.º 1
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(CreateReservaRequest $request)
 {
     if (Auth::user()->available()) {
         $fecha_inicio = (new DateTime())->setTimestamp($request->fecha_inicio);
         $fecha_fin = (new DateTime())->setTimestamp($request->fecha_fin);
         $reserva = Reserva::createReserva($fecha_inicio, $fecha_fin, $request->numero_canchas, Auth::user()->id);
         if (Reserva::available($reserva)) {
             $reserva->save();
             Session::flash('message-success', 'Reserva creada con exito');
         } else {
             Session::flash('message-error', 'No es posible reservar este horario');
         }
     } else {
         Session::flash('message-error', 'Tiene reservas pendientes o su cuenta no esta habilitada para reservar');
     }
     return Redirect::route('cliente.reservas');
 }
Ejemplo n.º 2
0
 public static function createMany($fecha_inicio, $fecha_fin, $dias, $numero_canchas, $user_id)
 {
     $fecha_inicio_int = $fecha_inicio->getTimestamp();
     $fecha_fin_int = $fecha_fin->getTimestamp();
     $array = array();
     $hasError = false;
     $msg = '';
     $anio = date('Y', $fecha_inicio_int);
     $mes = date('m', $fecha_inicio_int);
     $dia = date('d', $fecha_inicio_int);
     $hora_inicio = date('H', $fecha_inicio_int);
     $hora_fin = date('H', $fecha_fin_int);
     $dias_int = floor(($fecha_fin_int - $fecha_inicio_int) / (60 * 60 * 24));
     for ($dia_int = 0; $dia_int <= $dias_int; $dia_int++) {
         for ($hora = $hora_inicio; $hora < $hora_fin; $hora++) {
             $fecha_inicio_aux = new \DateTime();
             $fecha_fin_aux = new \DateTime();
             $fecha_inicio_aux->setDate($anio, $mes, $dia + $dia_int);
             $fecha_inicio_aux->setTime($hora, 0);
             $fecha_fin_aux->setTimestamp($fecha_inicio_aux->getTimestamp());
             $fecha_fin_aux->setTime($hora + 1, 0);
             if (in_array(date('N', $fecha_inicio_aux->getTimestamp()), $dias)) {
                 $reserva = Reserva::createReserva($fecha_inicio_aux, $fecha_fin_aux, $numero_canchas, $user_id, 'completada');
                 if (Reserva::available($reserva)) {
                     $array[] = $reserva;
                 } else {
                     $hasError = true;
                     $msg = $msg . 'Error en la fecha ' . $fecha_inicio_aux->format('Y/m/d') . '<br>';
                 }
             }
         }
     }
     if (!$hasError) {
         foreach ($array as $item) {
             $item->save();
         }
         $msg = 'Reservas realizadas con exito';
     }
     return $msg;
 }
Ejemplo n.º 3
0
        </thead>
        <tbody>
        @for($j = 9; $j < 24; $j++) <!-- controla las horas -->
        <tr>
            <td class="text-center">{{ $j . ':00'}}</td>
            @for($i = 0; $i < Auth::user()->visibleDays(); $i++)
                <td class="text-center">
                    {!! Form::open(['route' => 'cliente.reservas.store', 'method' => 'POST']) !!}
                    <?php 
$fecha_inicio = new DateTime();
$fecha_inicio->setDate($anio, $mes, $dia + $i);
$fecha_inicio->setTime($j, 0);
$fecha_fin = new DateTime();
$fecha_fin->setDate($anio, $mes, $dia + $i);
$fecha_fin->setTime($j + 1, 0);
$reserva_aux = Reserva::createReserva($fecha_inicio, $fecha_fin, 1, Auth::user()->id);
$estado = Reserva::getStatus($reserva_aux);
$reservas_aux = Reserva::where('fecha_inicio', $fecha_inicio->format('Y-m-d H:i:s'))->get();
$count = $reservas_aux->count();
$count_max = Reserva::countMax($reserva_aux);
?>
                    <div class="dropdown">
                        @if($estado == 'disponible')
                            <div class="btn btn-primary dropdown-toggle" data-toggle="dropdown">Disponible
                                @if($count > 0)
                                    <span class="badge">{{$count_max}}</span> <span class="caret"/>
                                @endif
                            </div>
                        @else
                            <a class="btn btn-danger dropdown-toggle" data-toggle="dropdown">No Disponible
                                @if($count > 0)