Beispiel #1
0
 public function testClases_con_Asist()
 {
     try {
         $objeto = new Asistencia();
         $objeto->setClase(null);
         $objeto->setAlumno(null);
         $objeto->guardar();
     } catch (Exception $e) {
         return;
     }
     echo 'fallo el segundo';
 }
Beispiel #2
0
function registrar()
{
    include_once "../modelo/asistencia.class.php";
    for ($i = 0; $i < sizeof($_POST) - 1; $i++) {
        $a = new Asistencia();
        $a->setAlumno($_POST['alumno' . $i]['documento']);
        $a->setPresente(isset($_POST['alumno' . $i]['presente']) ? 1 : 0);
        $a->setJustificada($_POST['alumno' . $i]['justificada']);
        $a->guardar();
    }
    header("Location: ../index.php");
    die;
}
Beispiel #3
0
 /**
  * Execute the console command.
  *
  * @return mixed
  */
 public function fire()
 {
     //Coger eventos del día siguiente
     $events = Evento::getNextDayEventos()->get();
     foreach ($events as $e) {
         //Coger los gcm_regids de los voluntarios asignados al evento que pueden recibir notificaciones
         $registration_ids = Asistencia::getUsersToNotificate($e->ideventos)->get()->lists('gcm_token');
         $title = 'AFI Perú - Evento';
         $message = 'Recordatorio de evento: ' . $e->nombre . ' - ' . $e->fecha_evento;
         $type = 1;
         $m = ['title' => $title, 'message' => $message, 'type' => $type];
         $response = Helpers::pushGCM($registration_ids, $m);
         //$this->info(var_dump($response));
     }
     ///Coger todos los padrinos
     $sponsors = Padrino::getActivePadrinosPushInfo()->get();
     foreach ($sponsors as $s) {
         //Si el padrino tiene activado el push de pagos y tiene registadro su gcm_token
         if ($s->push_pagos && $s->gcm_token) {
             //Buscar si hay una deuda pendiente para el día siguiente
             $fee = CalendarioPago::getCalendarioPagoPendienteNextDayByPadrino($s->idpadrinos)->first();
             if ($fee) {
                 //$this->info(var_dump($s->gcm_regid));
                 $title = 'AFI Perú - Padrino';
                 $message = 'Recordatorio de pago: ' . $fee->vencimiento;
                 $type = 2;
                 $m = ['title' => $title, 'message' => $message, 'type' => $type];
                 $response = Helpers::pushGCM(array($s->gcm_token), $m);
                 //$this->info(var_dump($response));
             }
         }
     }
 }
 public function actionGetParvulos()
 {
     $fecha = $this->bodyRequest()['fecha'];
     if (!isset($fecha)) {
         $this->sendResponse("No se recibio parametro fecha", 500);
     }
     $asistenciaModel = Asistencia::model()->findByAttributes(array('fecha' => $fecha));
     // $ids_parvulos = ParvuloAsistencia::model()->findByAttributes( array('id_asistencia' => $asistenciaModel->id_asistencia) );
     // $parvulos = Parvulo::model()->findByAttributes([]);
     if ($asistenciaModel != null) {
         $this->sendResponse($asistenciaModel->parvulos);
     } else {
         // $asistenciaModel = new Asistencia;
         // $asistenciaModel->fecha =
         $this->sendResponse(array());
     }
 }
 public function index()
 {
     $auth_token = \Request::header('authorization');
     $user = \User::where('auth_token', '=', $auth_token)->first();
     // obtener los permisos del usuario
     $idpermisos = \User::getPermisosPorUsuarioId($user->id)->get()->lists('idpermisos');
     // obtener los eventos de acuerdo a los permisos del usuario
     $eventos = [];
     if (in_array(12, $idpermisos)) {
         // tiene el permiso "listar (todos los) eventos"
         $eventos = \Evento::all();
     } elseif (in_array(15, $idpermisos)) {
         // tiene el permiso "mis eventos"
         $eventos = \Asistencia::getEventosPorUser($user->id)->get();
     }
     $response = [];
     foreach ($eventos as $e) {
         // obtener los documentos del evento
         $docs = \DocumentosEvento::getDocumentosPorEvento($e->ideventos)->get();
         foreach ($docs as $d) {
             // obtener hace cuantos dias se subio el documento
             $from = new \DateTime();
             $from->setTimestamp(strtotime($d->created_at));
             $to = new \DateTime('today');
             $dias = $from->diff($to)->d;
             // obtener los usuarios asignados al documento (al evento)
             $users = [];
             $usuarios = \Asistencia::getUsersPorEvento($e->ideventos)->get();
             foreach ($usuarios as $u) {
                 $perfiles = \User::getPerfilesPorUsuario2($u->id)->get();
                 $perfiles_array = [];
                 foreach ($perfiles as $perfil) {
                     $perfiles_array[] = ['id' => $perfil->idperfiles, 'name' => $perfil->nombre];
                 }
                 // verificar si el usuario ha visto el documento
                 $visto = \Visualizacion::getVisualizacionesPorUserPorEventoPorDocumento($u->id, $e->ideventos, $d->iddocumentos)->first();
                 $users[] = ['id' => $u->id, 'names' => $u->nombres, 'last_name' => $u->apellido_pat, 'username' => $u->num_documento, 'profiles' => $perfiles_array, 'seen' => $visto ? 1 : 0];
             }
             $response[] = ['id' => $d->iddocumentos, 'name' => $d->titulo, 'url' => $d->ruta . $d->nombre_archivo, 'upload_date' => 'Hace ' . $dias . ' día' . ($dias != 1 ? 's' : '') . ', ' . date('h:i A', $from->getTimestamp()), 'size' => $d->peso . ' KB', 'users' => $users];
         }
     }
     return \Response::json($response, 200);
 }
Beispiel #6
0
 static function asistencias()
 {
     //MMETODO ESTATICO QUE RETORNA TODOS LOS asistenciaS DE LA BASE
     $as = array();
     $conn = new Conexion();
     $sql = 'SELECT id_asistencia FROM asistencia';
     $consulta = $conn->prepare($sql);
     $consulta->setFetchMode(PDO::FETCH_ASSOC);
     try {
         $consulta->execute();
         $results = $consulta->fetchall();
         foreach ($results as $r) {
             $a = Asistencia::asistencia($r['id_asistencia']);
             array_push($as, $a);
         }
     } catch (PDOException $e) {
         throw new Exception("Ocurrio un error: " . $e->getMessage());
     }
     return $as;
 }
 case 'registrar asistencia':
     $codigos = explode(',', $_POST['codigos']);
     $asistencias = explode(',', $_POST['asistencias']);
     for ($i = 0; $i < count($codigos); $i++) {
         $codigo = $codigos[$i];
         $presente = 1;
         $licencia = 0;
         if ($asistencias[$i] == 'ausente') {
             $presente = 0;
         } else {
             if ($asistencias[$i] == 'licencia') {
                 $presente = 0;
                 $licencia = 1;
             }
         }
         $asistencia = new Asistencia($registro, $codigo, $presente, $licencia);
         $asistencia->insertarBD();
     }
     break;
 case 'registrar reportes':
     $roles = explode(',', $_POST['roles']);
     $actividades = explode(',', $_POST['actividades']);
     $hechos = explode(',', $_POST['hechos']);
     $resultados = explode(',', $_POST['resultados']);
     $conclusiones = explode(',', $_POST['conclusiones']);
     $observaciones = explode(',', $_POST['observaciones']);
     for ($i = 0; $i < count($roles); $i++) {
         $rol = $roles[$i];
         $actividad = $actividades[$i];
         $hecho = 1;
         $resultado = $resultados[$i];
Beispiel #8
0
            $a->listAsistenciaTutores($_tutor, $_catedra, $_fini, $_ffin);
        }
        break;
    case 'list_fun':
        $smarty->display('asistencia' . DS . 'asistencia_menubar.tpl');
        $smarty->display('end_menubar.tpl');
        if (!$uperms['asistencia_r']) {
            Elfic::cosRedirect('index2.php', MSG_NOPERM_COM);
        } else {
            $a = new Asistencia();
            $a->listAsistenciaFuncionarios($_funcionario);
        }
        break;
    case 'setInTutor':
        $smarty->display('asistencia' . DS . 'asistencia_menubar.tpl');
        $smarty->display('end_menubar.tpl');
        if (!$uperms['asistencia_r']) {
            Elfic::cosRedirect('index2.php', MSG_NOPERM_COM);
        } else {
            $a = new Asistencia();
            $a->setAsistenciaTutor();
        }
        break;
    case 'ajax':
        if (!$uperms['asistencia_r']) {
            Elfic::cosRedirect('index2.php', MSG_NOPERM_COM);
        } else {
            include 'asistencia.ajax.php';
        }
        break;
}
 public function postCrealista()
 {
     $fecha_fin = Input::get('fecha');
     $fecha_fin_carbon = Carbon::parse($fecha_fin);
     $fecha_inicio_carbon = $fecha_fin_carbon->subDays(Input::get('tipo_lista'))->toDateString();
     $lista = new Lista();
     $lista->fecha_inicio = $fecha_inicio_carbon;
     $lista->fecha_fin = $fecha_fin;
     $lista->save();
     $trabajadores_activos = VistaEmpleado::where('activo', 1)->count();
     $trabajadores = VistaEmpleado::where('activo', 1)->get();
     foreach ($trabajadores as $trabajador) {
         $asistencia = new Asistencia();
         $asistencia->lista_id = $lista->id;
         $asistencia->empleado_id = $trabajador->id;
         $asistencia->save();
         if ($trabajador->departamento_id == 2) {
             $bono_mtto = new BonoMtto();
             $bono_mtto->asistencia_id = $asistencia->id;
             $bono_mtto->save();
         }
     }
     return Redirect::to('personal-operativo/asistencia/' . $lista->id);
 }
Beispiel #10
0
 /**
  * Graba las asistencias
  */
 public function executeGrabar()
 {
     // inicializando variables
     $aDatosTipoasistencia = array();
     // tomando los datos del formulario
     $division_id = $this->getRequestParameter('division_id');
     $vista_id = $this->getRequestParameter('vista_id');
     $d = $this->getRequestParameter('dia');
     $m = $this->getRequestParameter('mes');
     $y = $this->getRequestParameter('ano');
     $destino = "asistencia/index?division_id={$division_id}&dia={$d}&mes={$m}&ano={$y}&vistas={$vista_id}";
     if ($this->getRequestParameter('alumno_id')) {
         $alumno_id = $this->getRequestParameter('alumno_id');
         $destino .= "&alumno_id={$alumno_id}";
     }
     $aAsistencia = $this->getRequestParameter('asistencia');
     $cantAsistencia = count($aAsistencia);
     if ($cantAsistencia > 0) {
         // tomo los tipos de asistencias
         $aDatosTablaTipoAsistencias = $this->getTiposasistencias();
         //grabo al disco
         $con = Propel::getConnection();
         // Propel::getConnection()
         try {
             $con->beginTransaction();
             $criteria = new Criteria();
             foreach ($aAsistencia as $alumno_id => $aPeriodo) {
                 foreach ($aPeriodo as $fecha => $Tipoasistencia) {
                     $cton1 = $criteria->getNewCriterion(AsistenciaPeer::FK_ALUMNO_ID, $alumno_id);
                     $cton2 = $criteria->getNewCriterion(AsistenciaPeer::FECHA, $fecha);
                     $cton1->addAnd($cton2);
                     $criteria->addOr($cton1);
                 }
             }
             AsistenciaPeer::doDelete($criteria);
             foreach ($aAsistencia as $alumno_id => $aPeriodo) {
                 foreach ($aPeriodo as $fecha => $Tipoasistencia) {
                     $Asistencia = new Asistencia();
                     $Tipoasistencia = strtoupper($Tipoasistencia);
                     if (array_key_exists($Tipoasistencia, $aDatosTablaTipoAsistencias)) {
                         $Asistencia->setFkAlumnoId($alumno_id);
                         list($y, $m, $d) = split("[/. -]", $fecha);
                         $fecha = "{$y}-{$m}-{$d}";
                         $Asistencia->setFecha($fecha);
                         $Asistencia->setFkTipoasistenciaId($aDatosTablaTipoAsistencias[$Tipoasistencia][0]);
                         $Asistencia->save();
                     }
                 }
             }
             $con->commit();
         } catch (PDOException $e) {
             $con->rollBack();
             throw $e;
         }
     }
     return $this->redirect($destino);
 }
    public function registrar()
    {
        $this->layout = false;
        //Verifica si es por metodo post
        if ($this->request->is('post')) {
            App::import('Model', 'Asistencia');
            //Verifica que el docente se encuentra registrado
            $no_registrado = 0;
            $no_registrado = $this->Personal->find('count', array('conditions' => array('cedula' => $this->request->data['cedula']), 'recursive' => -1));
            if ($no_registrado < 1) {
                $this->Session->setFlash('Disculpe, Docente no registrado. Contacte el administrador!!', 'default', array('class' => 'error'));
                $this->redirect(array('controller' => 'usuarios', 'action' => 'login'));
            }
            //Si existe en l docente, se realiza la verificación de horarios
            $asistencia_registrada = 0;
            //Consulta de horarios
            $docente = $this->Personal->find('all', array('conditions' => array('cedula' => $this->request->data['cedula']), 'recursive' => -1));
            $row = $this->Personal->query('SELECT personal.id AS id, personal.cedula AS cedula, personal.nombres AS nombres, personal.apellidos AS apellidos, materias.id AS materia_id, materias.nombre AS materia_nombre, secciones.id AS seccion_id, secciones.nombre AS seccion_nombre, aulas.id AS aula_id, aulas.nombre AS aula_nombre, DAYOFWEEK( CURDATE( ) -1 ) AS dia_id, CURDATE( ) AS fecha_hoy, CURTIME( ) AS hora_hoy, (
											bloques_horas.bloque - CURTIME( )
											) AS diferencia, horarios.id as horario_id, NOW() as fecha
											FROM personal, horarios, bloques_horas, materias, secciones, aulas
											WHERE personal.id = horarios.personal_id
											AND materias.id = horarios.materia_id
											AND secciones.id = horarios.seccion_id
											AND aulas.id = horarios.aula_id
											AND cedula =' . $this->request->data['cedula'] . '
											AND DAYOFWEEK( CURDATE( ) -1 ) = horarios.dia_id
											AND bloques_horas.id = horarios.inicio
											AND (
											bloques_horas.bloque - CURTIME( )
											)
											BETWEEN -6000
											AND 12000');
            //Verificación de registro de asistencias existente
            $datos_docente = $docente[0]['Personal']['full_name'];
            if ($row) {
                $asistencia_registrada = $this->Personal->query('SELECT COUNT( asistencias.id ) as asistencia
															FROM asistencias, horarios
															WHERE asistencias.horario_id = ' . $row[0]['horarios']['horario_id'] . '
															AND horarios.id = asistencias.horario_id
															AND DATE( asistencias.fecha ) = DATE( NOW( ) )');
            } else {
                $this->Session->setFlash('Estimado Profesor(a): ' . $datos_docente . ' No hay horario disponible!!', 'default', array('class' => 'error'));
                $this->redirect(array('controller' => 'usuarios', 'action' => 'login'));
            }
            //Asistencia Registrada
            if ($asistencia_registrada[0][0]['asistencia'] > 0) {
                $this->Session->setFlash('Estimado Profesor(a): ' . $datos_docente . ' Su asistencia ya fue registrada!!', 'default', array('class' => 'warning'));
                $this->redirect(array('controller' => 'usuarios', 'action' => 'login'));
            } else {
                //Asignamos el id del horarios
                $this->request->data['Asistencia']['horario_id'] = $row[0]['horarios']['horario_id'];
                //Activamos el estatus de la asistencia
                $this->request->data['Asistencia']['estatus'] = 1;
                $asistencia = new Asistencia();
                $registro = $asistencia->save($this->request->data['Asistencia']);
                if ($registro) {
                    $this->set('horarios', $row);
                    $this->Session->setFlash('Estimado Profesor(a): ' . $datos_docente . ' Asistencia Registrada!!', 'default', array('class' => 'success'));
                    $this->redirect(array('controller' => 'usuarios', 'action' => 'login'));
                }
                //No hay horarios disponibles
            }
        }
    }
 public function submit_registrar_comentario()
 {
     if (Auth::check()) {
         $data["inside_url"] = Config::get('app.inside_url');
         $data["user"] = Session::get('user');
         $data["permisos"] = Session::get('permisos');
         if (in_array('side_mis_eventos', $data["permisos"])) {
             $ideventos = Input::get('ideventos');
             $asistencia = Asistencia::validarAsistencia($data["user"]->id, $ideventos)->get();
             if ($asistencia->isEmpty()) {
                 Session::flash('error', 'Lo sentimos, no tiene acceso a ver el evento solicitado.');
                 return Redirect::to('eventos/mis_eventos');
             }
             $data["evento_info"] = Evento::searchEventosById($ideventos)->get();
             if ($data["evento_info"]->isEmpty()) {
                 Session::flash('error', 'No se encontró el evento.');
                 return Redirect::to('eventos/mis_eventos');
             }
             $data["evento_info"] = $data["evento_info"][0];
             $data["hoy"] = date("Y-m-d H:i:s");
             $idasistencia_ninhos = Input::get('idasistencia_ninhos');
             $idcomentarios = Input::get('idcomentarios');
             $calificaciones = Input::get('calificaciones');
             $comentarios = Input::get('comentarios');
             for ($i = 0; $i < count($idasistencia_ninhos); $i++) {
                 if (empty($idcomentarios[$i])) {
                     $comentario = new Comentario();
                     $comentario->idusers = $data["user"]->id;
                     $comentario->idasistencia_ninhos = $idasistencia_ninhos[$i];
                     $comentario->comentario = $comentarios[$i];
                     $comentario->calificacion = $calificaciones[$i];
                     $comentario->save();
                 } else {
                     $comentario = Comentario::find($idcomentarios[$i]);
                     $comentario->comentario = $comentarios[$i];
                     $comentario->calificacion = $calificaciones[$i];
                     $comentario->save();
                 }
             }
             // Llamo a la función para registrar el log de auditoria
             $descripcion_log = "Se registraron comentarios sobre los niños en el evento con id {{$ideventos}}";
             Helpers::registrarLog(3, $descripcion_log);
             Session::flash('message', 'Se registraron correctamente los comentarios.');
             return Redirect::to('eventos/registrar_comentario/' . $ideventos);
         } else {
             // Llamo a la función para registrar el log de auditoria
             $descripcion_log = "Se intentó acceder a la ruta '" . Request::path() . "' por el método '" . Request::method() . "'";
             Helpers::registrarLog(10, $descripcion_log);
             Session::flash('error', 'Usted no tiene permisos para realizar dicha acción.');
             return Redirect::to('/dashboard');
         }
     } else {
         return View::make('error/error');
     }
 }
 /**
  * Display a listing of the resource.
  *
  * @return Response
  */
 public function sesiones()
 {
     // obtener usuario que esta haciendo la peticion
     $auth_token = \Request::header('authorization');
     $user = User::where('auth_token', '=', $auth_token)->first();
     // obtener los permisos del usuario
     $idpermisos = User::getPermisosPorUsuarioId($user->id)->get()->lists('idpermisos');
     // obtener las sesiones de acuerdo a los permisos del usuario
     $sesiones = [];
     if (in_array(12, $idpermisos)) {
         // tiene el permiso "listar (todos los) eventos"
         $sesiones = \Evento::all();
     } elseif (in_array(15, $idpermisos)) {
         // tiene el permiso "mis eventos"
         $sesiones = \Asistencia::getEventosPorUser($user->id)->get();
     }
     $response = [];
     foreach ($sesiones as $sesion) {
         //obtener los puntos de reunion de la sesion
         //$idpuntos = PuntoEvento::where('ideventos', '=', $sesion->ideventos)->get()->lists('idpuntos_reunion');
         //$puntos_reunion = PuntoReunion::whereIn('idpuntos_reunion', $idpuntos)->get();
         //$puntos_evento = PuntoEvento::getPuntosPorEvento($sesion->ideventos)->get();
         $puntos_reunion = PuntoReunion::all();
         $lista_puntos = [];
         foreach ($puntos_reunion as $punto) {
             // verificar si la sesion tiene asignado el punto de reunion
             $punto_evento = PuntoEvento::getPuntosPorEventoXPunto($sesion->ideventos, $punto->idpuntos_reunion)->first();
             $lista_puntos[] = ['id' => $punto->idpuntos_reunion, 'latitude' => (double) $punto->latitud, 'longitude' => (double) $punto->longitud, 'selected' => $punto_evento ? 1 : 0];
         }
         //obtener los documentos de la sesion
         //$iddocumentos = DocumentosEvento::where('ideventos', '=', $sesion->ideventos)->get()->lists('iddocumentos');
         //$documentos = Documento::whereIn('iddocumentos', $iddocumentos)->get();
         $documentos = DocumentosEvento::getDocumentosPorEvento($sesion->ideventos)->get();
         $lista_docs = [];
         foreach ($documentos as $doc) {
             // obtener hace cuantos dias se subio el documento
             $from = new \DateTime();
             $from->setTimestamp(strtotime($doc->created_at));
             $to = new \DateTime('today');
             $dias = $from->diff($to)->d;
             // obtener los usuarios asignados al documento (al evento)
             $users = [];
             $usuarios = \Asistencia::getUsersPorEvento($sesion->ideventos)->get();
             foreach ($usuarios as $u) {
                 $perfiles = \User::getPerfilesPorUsuario2($u->id)->get();
                 $perfiles_array = [];
                 foreach ($perfiles as $perfil) {
                     $perfiles_array[] = ['id' => $perfil->idperfiles, 'name' => $perfil->nombre];
                 }
                 // verificar si el usuario ha visto el documento
                 $visto = \Visualizacion::getVisualizacionesPorUserPorEventoPorDocumento($u->id, $sesion->ideventos, $doc->iddocumentos)->first();
                 $users[] = ['id' => $u->id, 'names' => $u->nombres, 'last_name' => $u->apellido_pat, 'username' => $u->num_documento, 'profiles' => $perfiles_array, 'seen' => $visto ? 1 : 0];
             }
             $lista_docs[] = ['id' => $doc->iddocumentos, 'name' => $doc->titulo, 'url' => $doc->ruta . $doc->nombre_archivo, 'upload_date' => 'Hace ' . $dias . ' día' . ($dias != 1 ? 's' : '') . ', ' . date('h:i A', $from->getTimestamp()), 'size' => $doc->peso . ' KB', 'users' => $users];
         }
         //obtener los niños asignados a la sesion
         $ninhos = AsistenciaNinho::getNinhosPorEvento($sesion->ideventos)->get();
         $lista_ninhos = [];
         foreach ($ninhos as $n) {
             // genero
             $genero = null;
             if ($n->genero == 'm' || $n->genero == 'M') {
                 $genero = 0;
             } elseif ($n->genero == 'f' || $n->genero == 'F') {
                 $genero = 1;
             }
             // edad
             $from = new \DateTime($n->fecha_nacimiento);
             $to = new \DateTime('today');
             $edad = $from->diff($to)->y;
             // obtener el comentario que el usuario le ha hecho al niño
             $ha_comentado = 0;
             $comentario = null;
             $c = Comentario::getComentarioPorUserPorNinhos($user->id, $n->idasistencia_ninhos)->first();
             if ($c) {
                 $ha_comentado = 1;
                 $comentario = ['id' => $c->idcomentarios, 'message' => $c->comentario, 'face' => (int) $c->calificacion];
             }
             $lista_ninhos[] = ['id' => $n->idasistencia_ninhos, 'child' => ['id' => $n->idninhos, 'names' => $n->nombres, 'last_name' => $n->apellido_pat, 'gender' => $genero, 'age' => $edad, 'sessions' => \AsistenciaNinho::where('idninhos', '=', $n->idninhos)->count(), 'joining_date' => strtotime($n->created_at)], 'commented' => $ha_comentado, 'comment' => $comentario];
         }
         //obtener los voluntarios asignados a la sesion
         $voluntarios = Asistencia::getUsersPorEvento($sesion->ideventos)->get();
         $lista_voluntarios = [];
         foreach ($voluntarios as $v) {
             $perfiles = User::getPerfilesPorUsuario2($v->id)->get();
             $perfiles_array = array();
             foreach ($perfiles as $perfil) {
                 $perfiles_array[] = ['id' => $perfil->idperfiles, 'name' => $perfil->nombre];
             }
             $lista_voluntarios[] = ['id' => $v->idasistencias, 'volunteer' => ['id' => $v->id, 'names' => $v->nombres, 'last_name' => $v->apellido_pat, 'username' => $v->num_documento, 'email' => $v->email, 'profiles' => $perfiles_array], 'attended' => (bool) $v->asistio, 'rating' => (int) $v->calificacion, 'comment' => $v->comentario];
         }
         $response[] = ['id' => $sesion->ideventos, 'name' => $sesion->nombre, 'date' => strtotime($sesion->fecha_evento), 'location' => ['latitude' => (double) $sesion->latitud, 'longitude' => (double) $sesion->longitud, 'address' => $sesion->direccion], 'meeting_points' => $lista_puntos, 'documents' => $lista_docs, 'attendance_children' => $lista_ninhos, 'attendance_volunteers' => $lista_voluntarios];
     }
     return Response::json($response, 200);
 }
Beispiel #14
0
 protected function processForm(sfWebRequest $request, sfForm $form, $celulaId = null)
 {
     $asistencia = $request->getParameter('reunion')['asistencias'];
     $form->bind($request->getParameter($form->getName()), $request->getFiles($form->getName()));
     $fields = $form->getFormFieldSchema()->getValue();
     if ($form->isValid()) {
         $reunion = $form->save();
         foreach ($reunion->getAsistencias() as $borrable) {
             $borrable->delete();
         }
         $asistencias = explode(',', $asistencia);
         foreach ($asistencias as $key => $asistencia) {
             if ($asistencia > 0) {
                 $source = new Asistencia();
                 $source->setReunionId($reunion->getId());
                 $source->setMiembroCelulaId($asistencia);
                 $source->save();
             }
         }
         $this->getUser()->setFlash('notice', "Reunión guardada exitosamente", true);
         if (isset($celulaId)) {
             $this->redirect('celulas/show?id=' . $celulaId);
         } else {
             $this->forward('celulas', 'index');
         }
     }
     $this->getUser()->setFlash('error', "Error!!! " . $form->getErrorSchema(), true);
     if (isset($celulaId)) {
         $this->redirect('celulas/show?id=' . $celulaId);
     } else {
         $this->forward('celulas', 'index');
     }
 }
Beispiel #15
0
 public static function addInstanceToPool(Asistencia $obj, $key = null)
 {
     if (Propel::isInstancePoolingEnabled()) {
         if ($key === null) {
             $key = (string) $obj->getId();
         }
         self::$instances[$key] = $obj;
     }
 }
 public function submit_asistencia_excel()
 {
     if (Auth::check()) {
         $data["inside_url"] = Config::get('app.inside_url');
         $data["user"] = Session::get('user');
         $data["permisos"] = Session::get('permisos');
         if (in_array('side_reporte_asistencia', $data["permisos"])) {
             $data["search_periodo"] = Input::get('search_periodo_excel');
             $data["search_usuario"] = Input::get('search_usuario_excel');
             $data["periodos"] = Periodo::lists('nombre', 'idperiodos');
             $periodo = Periodo::find($data["search_periodo"]);
             $eventos_asistencia = Asistencia::getEventosAsistencia()->get();
             $voluntarios_data = UsersPerfil::searchVoluntariosReporteInfo($data["search_periodo"], $data["search_usuario"]);
             $str_table = "<table><tr><td></td><td></td><td></td><td><strong>Reporte de Asistencia</strong></td></tr></table>";
             if ($periodo == null) {
                 $str_table .= "<table><tr><td><strong>Periodo</strong></td><td>Todos</td></tr><tr></tr></table>";
             } else {
                 $str_table .= "<table><tr><td><strong>Periodo:</strong></td><td>" . $periodo->nombre . "</td></tr><tr></tr></table>";
             }
             $str_table .= "<table border=1><tr><th>Periodo</th><th>Doc. de Identidad</th><th>Nombre</th><th>Eventos Programados</th><th>Eventos que Asistio</th><th>% Asistencia</th><th>Promedio Calificacion</th></tr>";
             if ($voluntarios_data != null) {
                 foreach ($voluntarios_data as $voluntario_data) {
                     $eventos_total = 0;
                     $eventos_asistidos = 0;
                     $str_table .= "<tr><td>" . htmlentities($voluntario_data->nombre_periodo) . "</td><td>" . htmlentities($voluntario_data->num_documento) . "</td><td>" . htmlentities($voluntario_data->apellido_pat . ' ' . $voluntario_data->apellido_mat . ', ' . $voluntario_data->nombre_persona) . "</td><td>";
                     foreach ($eventos_asistencia as $asistencia) {
                         if ($asistencia->idusers == $voluntario_data->id) {
                             $str_table .= "-" . htmlentities($asistencia->nombre) . "<br>";
                             $eventos_total++;
                         }
                     }
                     $str_table .= "</td><td>";
                     foreach ($eventos_asistencia as $asistencia) {
                         if ($asistencia->idusers == $voluntario_data->id) {
                             if ($asistencia->asistio == 1) {
                                 $str_table .= "-" . htmlentities($asistencia->nombre) . "<br>";
                                 $eventos_asistidos++;
                             }
                         }
                     }
                     $str_table .= "</td><td>" . htmlentities(round($eventos_asistidos / $eventos_total * 100, 2)) . "%</td><td>" . htmlentities(round($voluntario_data->prom_calificaciones), 2) . "</td></tr>";
                 }
             }
             $str_table .= "</table>";
             $filename = "reporte_asistencia" . date('Y-m-d') . ".xls";
             // Show the download dialog
             header("Content-type: application/vnd.ms-excel; charset=utf-8");
             // Let's indicate to the browser we are giving it the file
             header("Content-Disposition: attachment; filename=\"{$filename}\"");
             // Avoid the browser to save the file into it's cache
             header("Pragma: no-cache");
             header("Expires: 0");
             // Render the table
             echo $str_table;
         } else {
             return View::make('error/error');
         }
     } else {
         return View::make('error/error');
     }
 }