Esempio n. 1
0
 public function postStore()
 {
     $user = User::fromToken();
     $votacion_actual_id = Request::input('votacion_id');
     $aspiracion_id = VtCandidato::find(Request::input('candidato_id'))->aspiracion_id;
     $particip = VtParticipante::participanteDeAspiracion($aspiracion_id, $user);
     if (!$particip) {
         return ['msg' => 'No puede votar ya que no está inscrito como participante'];
     }
     if ($particip->locked == true) {
         return ['msg' => 'Está actualmente bloqueado. Tal vez ya votaste'];
     }
     $particip_id = $particip->id;
     VtVoto::verificarNoVoto($aspiracion_id, $particip_id);
     try {
         $voto = new VtVoto();
         $voto->participante_id = $particip_id;
         $voto->candidato_id = Request::input('candidato_id');
         $voto->locked = false;
         $voto->save();
         $completos = VtVotacion::verificarVotosCompletos($votacion_actual_id, $particip_id);
         //$particip->locked = $completos;
         //$particip->save();
         $voto->completo = $completos;
         // Para verificar en el frontend cuando se guarde el voto.
         return $voto;
     } catch (Exception $e) {
         return Response::json(array('msg' => 'Error al intentar guardar el voto'), 400);
     }
 }
 public function getEnAccionInscrito()
 {
     $user = User::fromToken();
     $votaciones = VtVotacion::actualesInscrito($user, true);
     $cantVot = count($votaciones);
     if ($cantVot > 0) {
         for ($i = 0; $i < $cantVot; $i++) {
             $completos = VtVotacion::verificarVotosCompletos($votaciones[$i]->votacion_id, $votaciones[$i]->participante_id);
             $votaciones[$i]->completos = $completos;
             $aspiraciones = VtAspiracion::where('votacion_id', $votaciones[$i]->votacion_id)->get();
             $cantAsp = count($aspiraciones);
             if ($cantAsp > 0) {
                 for ($j = 0; $j < $cantAsp; $j++) {
                     $candidatos = VtCandidato::porAspiracion($aspiraciones[$j]->id, $votaciones[$i]->year_id);
                     for ($k = 0; $k < count($candidatos); $k++) {
                         $votos = VtVoto::deCandidato($candidatos[$k]->candidato_id, $aspiraciones[$j]->id)[0];
                         $candidatos[$k]->cantidad = $votos->cantidad;
                         $candidatos[$k]->total = $votos->total;
                     }
                     $aspiraciones[$j]->candidatos = $candidatos;
                 }
                 $votaciones[$i]->aspiraciones = $aspiraciones;
             } else {
                 $votaciones[$i]->aspiraciones = [];
             }
         }
     } else {
         return ['msg' => 'No está inscrito en algún evento que se encuentre en acción.'];
     }
     return $votaciones;
 }
Esempio n. 3
0
 public function postIndex(Request $request)
 {
     $userTemp = [];
     $token = [];
     try {
         $token = JWTAuth::parseToken();
         if ($token) {
             $userTemp = User::fromToken(false, $request);
         } else {
             if (!Request::has('username') && Request::input('username') != '') {
                 return response()->json(['error' => 'Token expirado'], 401);
             }
         }
     } catch (Tymon\JWTAuth\Exceptions\TokenExpiredException $e) {
         if (!count(Input::all())) {
             return response()->json(['error' => 'token_expired'], 401);
         }
     } catch (JWTException $e) {
         // No haremos nada, continuaremos verificando datos.
     }
     $credentials = ['username' => Request::input('username'), 'password' => (string) Request::input('password')];
     if (!$userTemp) {
         if (Auth::attempt($credentials)) {
             $userTemp = Auth::user();
         } else {
             if (Request::has('username') && Request::input('username') != '') {
                 $pass = Hash::make((string) Request::input('password'));
                 $usuario = User::where('password', '=', $pass)->where('username', '=', Request::input('username'))->get();
                 if (count($usuario) > 0) {
                     $userTemp = Auth::login($usuario[0]);
                 } else {
                     $usuario = User::where('password', '=', (string) Request::input('password'))->where('username', '=', Request::input('username'))->get();
                     if (count($usuario) > 0) {
                         $usuario[0]->password = Hash::make((string) $usuario[0]->password);
                         $usuario[0]->save();
                         $userTemp = Auth::loginUsingId($usuario[0]->id);
                     } else {
                         return abort(400, 'Credenciales inválidas.');
                     }
                 }
             } else {
                 return abort(401, 'Por favor ingrese de nuevo.');
             }
         }
         if (!$token) {
             if (!($token = JWTAuth::attempt($credentials))) {
                 return abort('401', 'Usuario o contraseña incorrectos para el token.');
             }
         }
         $userTemp = User::fromToken($token);
         // Ahora verificamos si está inscrito en alguna votación
         $votaciones = VtVotacion::actualesInscrito($userTemp, true);
         $votacionesResult = [];
         $cantVot = count($votaciones);
         if ($cantVot > 0) {
             for ($i = 0; $i < $cantVot; $i++) {
                 $completos = VtVotacion::verificarVotosCompletos($votaciones[$i]->votacion_id, $votaciones[$i]->participante_id);
                 if (!$completos) {
                     array_push($votacionesResult, $votaciones[$i]);
                 }
             }
             $cantVot = count($votacionesResult);
             if ($cantVot > 0) {
                 $userTemp->votaciones = $votacionesResult;
             }
         }
     }
     //return json_decode(json_encode($user[0]), true);
     return json_decode(json_encode($userTemp), true);
 }