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; }
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); }