Пример #1
0
 public function getEstadoCompuestoAttribute()
 {
     $estado_compuesto = $this->estado;
     if ($this->partido_compuesto) {
         if ($this->partido_hoja->finalizado) {
             // Finalizado
             //$estado_compuesto = EstadoPartido::find(4);
             $estado_compuesto = EstadoPartido::find(EstadoPartido::FINALIZADO);
         } else {
             // Comenzado
             //$estado_compuesto = EstadoPartido::find(3);
             $estado_compuesto = EstadoPartido::find(EstadoPartido::COMENZADO);
         }
     }
     return $estado_compuesto;
 }
Пример #2
0
 protected function terminarPartido($partido, $estado_id)
 {
     $nuevo_estado = EstadoPartido::find($estado_id);
     # Por defecto finalizo el partido
     $nuevo_estado_id = 4;
     if ($nuevo_estado) {
         $nuevo_estado_id = $nuevo_estado->id;
     }
     if ($nuevo_estado_id == 5) {
         # Quiero suspender el partido
         if (is_null($partido->partido_complemento)) {
             # No estaba previamente suspendido, creo el partido continuacion
             $complemento = new Partido();
             $complemento->fecha_id = $partido->fecha_id;
             $complemento->estado_id = 1;
             $complemento->partido_complemento_id = $partido->id;
             $complemento->save();
             foreach ($partido->clubes as $club) {
                 $nuevo_partido_club = new PartidoClub();
                 $nuevo_partido_club->club_id = $club->club_id;
                 $nuevo_partido_club->local = $club->local;
                 $nuevo_partido_club->partido_id = $complemento->id;
                 $nuevo_partido_club->save();
             }
         } else {
             # Estoy editando un partido previamente suspendido.
             # Debería revisar si los eventos tienen efecto sobre el partido siguiente.
         }
     } elseif ($nuevo_estado_id == 4) {
         if ($partido->partido_complemento) {
             # Si el partido estaba previamente suspendido, no se puede finalizar
             $nuevo_estado_id = 5;
             // tirar cartel error
         }
     } else {
         # En esta instancia solo puedo o finalizar, o suspender
         die("Forbidden");
     }
     $partido->estado_id = intval($nuevo_estado_id);
     $partido->save();
 }