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 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 static function isSigned($user_id, $votacion_id) { $signed = VtParticipante::where('user_id', '=', $user_id)->where('votacion_id', '=', $votacion_id)->where('locked', '=', false)->get(); if (count($signed) > 0) { return $signed[0]; } else { return false; } }
public function deleteDestroy($id) { $participante = VtParticipante::findOrFail($id); $participante->delete(); return $participante; }