public function getShow() { $user = User::fromToken(); $votaciones = VtVotacion::actualesInscrito($user, false); // Traer aunque no esté en acción. // Votaciones creadas por el usuario. $consulta = 'SELECT v.id as votacion_id, v.* FROM vt_votaciones v where v.user_id=? and v.year_id=? and v.deleted_at is null'; $votacionesMias = DB::select($consulta, [$user->user_id, $user->year_id]); foreach ($votacionesMias as $key => $votMia) { // Debo crear otro array para verificar que ya no tenga el mismo evento. array_push($votaciones, $votMia); } $cantVot = count($votaciones); for ($j = 0; $j < $cantVot; $j++) { if ($votaciones[$j]->can_see_results) { $aspiraciones = VtAspiracion::where('votacion_id', $votaciones[$j]->votacion_id)->get(); $result = array(); foreach ($aspiraciones as $aspira) { $candidatos = VtCandidato::porAspiracion($aspira->id, $user->year_id); for ($i = 0; $i < count($candidatos); $i++) { $votos = VtVoto::deCandidato($candidatos[$i]->candidato_id, $aspira->id)[0]; $candidatos[$i]->cantidad = $votos->cantidad; $candidatos[$i]->total = $votos->total; } $aspira->candidatos = $candidatos; array_push($result, $aspira); } $votaciones[$j]->aspiraciones = $result; } } return $votaciones; }
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); }