public function index()
 {
     $user = User::fromToken();
     $votacion = VtVotacion::where('actual', '=', true)->where('user_id', $user->id)->where('year_id', $user->year_id)->first();
     $aspiraciones = VtAspiracion::where('votacion_id', $votacion->id)->get();
     return $aspiraciones;
 }
    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 getConaspiraciones()
 {
     $user = User::fromToken();
     if ($user->tipo == 'Alumno' || $user->tipo == 'Acudiente') {
         $votacion = VtVotacion::actualInscrito($user);
     } else {
         $votacion = VtVotacion::actual($user);
     }
     $aspiraciones = VtAspiracion::where('votacion_id', $votacion->id)->get();
     $particip = VtParticipante::one($user->id);
     $result = array();
     foreach ($aspiraciones as $aspira) {
         $candidatos = VtCandidato::porAspiracion($aspira->id, $user->year_id);
         $aspira->candidatos = $candidatos;
         $votado = [];
         if ($particip) {
             try {
                 $votado = VtVoto::votesInAspiracion($aspira->id, $particip->id);
             } catch (Exception $e) {
             }
         }
         $aspira->votado = $votado;
         array_push($result, $aspira);
     }
     return $result;
 }
 public function getIndex()
 {
     $user = User::fromToken();
     $votacion = VtVotacion::where('in_action', '=', true)->first();
     $hayVotacion = false;
     $signed = false;
     $voted = false;
     $rutear = false;
     if ($votacion) {
         $hayVotacion = true;
         $signed = VtParticipante::isSigned($user->user_id, $votacion->id);
         if ($signed) {
             $voted = VtVoto::hasVoted($votacion->id, $signed->id);
             $rutear = true;
         }
         $eventos = array('votaciones' => array('hay' => $hayVotacion, 'signed' => $signed, 'voted' => $voted, 'rutear' => $rutear, 'state' => 'votaciones.votar'));
         return $eventos;
     } else {
         $eventos = array('votaciones' => array('hay' => false, 'signed' => false, 'voted' => false, 'rutear' => false, 'state' => ''));
         return $eventos;
     }
 }
 public function deleteDestroy($id)
 {
     $votaciones = VtVotacion::findOrFail($id);
     $votaciones->delete();
     return $votaciones;
 }
    public function getAllinscritos()
    {
        $votacion = VtVotacion::where('actual', '=', true)->first();
        $consulta = 'SELECT usus.persona_id, vp.id as participante_id, usus.nombres, usus.apellidos, usus.user_id, usus.username, usus.tipo from 
						(select p.id as persona_id, p.nombres, p.apellidos, p.user_id, u.username, ("Pr") as tipo from profesores p inner join users u on p.user_id=u.id
						union
						select a.id as persona_id, a.nombres, a.apellidos, a.user_id, u.username, ("Al") as tipo from alumnos a 
							inner join users u on a.user_id=u.id
							inner join matriculas m on m.alumno_id=a.id and m.matriculado=true
						)usus
					inner join vt_participantes vp on vp.user_id=usus.user_id and vp.votacion_id = :votacion_id';
        $participantes = DB::select(DB::raw($consulta), array('votacion_id' => $votacion->id));
        return $participantes;
    }
Exemple #7
0
 public function actualInAction($user)
 {
     return VtVotacion::where('actual', true)->where('user_id', $user->id)->where('in_action', true)->where('year_id', $user->year_id)->first();
 }
Exemple #8
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);
 }