Skip to content

Commit

Permalink
avance marzo
Browse files Browse the repository at this point in the history
  • Loading branch information
Jorge authored and Jorge committed Apr 10, 2012
1 parent f77047f commit c603267
Show file tree
Hide file tree
Showing 12 changed files with 94 additions and 62 deletions.
14 changes: 7 additions & 7 deletions controller/alumnosController.php
Expand Up @@ -31,10 +31,10 @@ public function index() {

/* caso en que el usuario ya selecciono el curso*/
elseif (isset($PARAMS['curso'])){
$id_curso = $PARAMS['curso'];

$id_curso =$PARAMS['curso'];
$grupo = DAOFactory::getGruposDAO()->getGrupoByCursoAndUser($usuario->id, $id_curso);
// $actividades = DAOFactory::getCursosHasContenidos()->getCerradosByCursoWithContenidos($id_curso);
$quizes = DAOFactory::getQuizesDAO()->queryCerradosByIdCurso($id_curso);
$quizes = DAOFactory::getQuizesDAO()->queryCerradosByIdGrupo($grupo->id);
// $actividades_actual= DAOFactory::getCursosHasContenidos()->getActuales($id_curso);

$this->registry->template->titulo = 'Tus evaluaciones';
Expand All @@ -61,7 +61,7 @@ public function index() {
public function reporte(){
session_start();
$PARAMS = $this->encrypter->decodeURL($_GET['params']);
$curso_id = $PARAMS['curso'];
$curso_id = $PARAMS['curso'];
$quiz_id = $PARAMS['quiz'];

//recuperamos los objetos que nos interesan
Expand All @@ -86,14 +86,14 @@ public function reporte(){

$curso = DAOFactory::getCursosDAO()->load($curso_id);
$quiz = DAOFactory::getQuizesDAO()->load($quiz_id);

$institucion = DAOFactory::getInstitucionesDAO()->getInstitucionByAlumno($usuario->id);
$grupo = DAOFactory::getGruposDAO()->getGrupoByCursoAndUser($usuario->id, $curso->id);
$estudiantes_en_grupo = DAOFactory::getPersonasDAO()->getEstudiantesInGroup($grupo->id);
$notas_grupo = DAOFactory::getIntentosDAO()->getNotasGrupo($quiz->id,$grupo->id);
$nota_alumno = DAOFactory::getIntentosDAO()->getNotaInQuizByPersona($quiz->id, $usuario->id);
$contenido_logro = DAOFactory::getIntentosDAO()->getLogroPorContenido($quiz->id, $usuario->id);

/*
// esto es lo necesario para la matriz de desempeño, TODO: debería tener su vista propia?
$matriz_desempeño = array();
$quizes_en_curso = DAOFactory::getQuizesDAO()->queryCerradosByIdCurso($curso->id);
Expand Down Expand Up @@ -137,7 +137,7 @@ public function reporte(){
$this->registry->template->matriz_desempeño = $matriz_desempeño;
$this->registry->template->tiempos_semanas = $tiempos_semanas;

*/
//finally
$this->registry->template->show('alumnos/reporte');

Expand Down
41 changes: 21 additions & 20 deletions controller/contenidosController.php
Expand Up @@ -18,6 +18,7 @@ public function asociar_ajax(){

public function index()
{
//print $this->encrypter->encode("platform=utfsm&username=17939412");
$contenidos = DAOFactory::getContenidosDAO()->queryAllWithPadre();

$this->registry->template->contenidos = $contenidos;
Expand All @@ -38,8 +39,8 @@ public function guardar(){
$contenido->fraseLogrado = $_POST['fraseLogrado'];
$contenido->fraseNoLogrado = $_POST['fraseNoLogrado'];
$contenido->padre = $_POST['padre'];

if(isset($_POST['id']) && $_POST['id']!=''){

if(isset($_POST['id']) && $_POST['id']!=''){
$contenido->id=$_POST['id'];
DAOFactory::getContenidosDAO()->update($contenido);
}else{
Expand Down Expand Up @@ -103,14 +104,14 @@ public function asociar(){
//finally
$this->registry->template->show('contenidos/asociar');
}

public function asociar2(){

public function asociar2(){
$cursos = DAOFactory::getCursosDAO()->queryAll();
foreach($cursos as $curso){
$quizesByCurso[$curso->nombre]= DAOFactory::getQuizesDAO()->queryEvaluacionesByIdCurso($curso->id);
$quizesByCurso[]= array($curso, DAOFactory::getQuizesDAO()->queryEvaluacionesByIdCurso($curso->id));
}

$this->registry->template->quizesByCurso = $quizesByCurso;

$this->registry->template->quizesByCurso = $quizesByCurso;

$this->registry->template->show('contenidos/asociar2');
}
Expand Down Expand Up @@ -186,20 +187,20 @@ public function preguntas_quiz(){

$id_quiz = $_GET['quiz'];

$preguntas = DAOFactory::getPreguntasDAO()->getPregutasByQuizWithContenido($id_quiz);
$preguntas = DAOFactory::getPreguntasDAO()->getPregutasByQuizWithContenido($id_quiz);
$contenidos = DAOFactory::getContenidosDAO()->getRealContenidos();
$combo = 'name="contenido" onchange="loadPadres(this.value, this.id)">';
$combo.='<option value="-1">Seleccione un Tema</option>';


foreach ($contenidos as $contenido){
$combo.='<option value="'.$contenido->id.'">'.$contenido->nombre.'</option>';
}
$combo.='</select>';
$combo.='</select>';
echo '<table class="paginable" align="center">
<tr>
<th>Pregunta</th>
<th>Contenido asociado</th>
<th colspan="3" >Elegir otro contenido</th>
<th>Contenido asociado</th>
<th colspan="3" >Elegir otro contenido</th>
</tr>';
foreach($preguntas as $pregunta){
echo '<tr>';
Expand All @@ -208,8 +209,8 @@ public function preguntas_quiz(){
echo '<td id="'.utf8_encode($pregunta->id).'">'.utf8_encode($pregunta->contenido->nombre).'</td>';
}else{
echo '<td id="'.utf8_encode($pregunta->id).'"></td>';
}
echo '<td>'.'<select id="'.utf8_encode($pregunta->id).'" '.utf8_encode($combo).'</td>';
}
echo '<td>'.'<select id="'.utf8_encode($pregunta->id).'" '.$combo.'</td>';
echo '<td id="padres'.$pregunta->id.'"></td>';
echo '<td id="hijos'.$pregunta->id.'"></td>';
echo '</tr>';
Expand Down Expand Up @@ -253,7 +254,7 @@ public function contenidos_hijos(){

}

public function calendarios(){
public function calendarios(){

if(@$_POST['contenido']){
//var_dump($_POST);
Expand Down Expand Up @@ -290,7 +291,7 @@ public function calendarios(){
DAOFactory::getCursosHasContenidos()->insert($cursosHasContenidos);
}
$this->registry->template->idCurso= $_POST['curso'];
}
}
$sedes = DAOFactory::getSedesDAO()->queryAll();
foreach ($sedes as $sede){
$cursosBySede[$sede->nombre]= DAOFactory::getCursosDAO()->getCursosInSede($sede->id);
Expand All @@ -304,19 +305,19 @@ public function calendarios(){
public function calendario_curso(){

$id_curso = $_GET['curso'];
$actividades = DAOFactory::getCursosHasContenidos()->getByCursoWithContenidos($id_curso);
$actividades = DAOFactory::getCursosHasContenidos()->getByCursoWithContenidos($id_curso);
echo '<table border="1" align="center"><tr><th></th><th>Eje</th><th>Tema</th><th>Fecha Inicio</th><th>Fecha Cierre</th><th>link</th></tr>';
foreach($actividades as $actividad){
echo '<tr><td><button onclick="editar(\''.$actividad->fechaInicio.'\',\''.$actividad->fechaCierre.'\')">Editar</button>';
echo '<button onclick="eliminar(\''.$actividad->fechaInicio.'\',\''.$actividad->fechaCierre.'\')">Eliminar</button></td>';
echo '<button onclick="eliminar(\''.$actividad->fechaInicio.'\',\''.$actividad->fechaCierre.'\')">Eliminar</button></td>';
echo '<td>'.utf8_encode($actividad->idContenido).'</td>';
echo '<td>'.utf8_encode($actividad->frase).'</td>';
echo '<td>'.utf8_encode($actividad->fechaInicio)."</td>";
echo '<td>'.utf8_encode($actividad->fechaCierre)."</td>";
echo '<td>'.utf8_encode($actividad->link).'</td></tr>';
}

echo '</table>';
echo '</table>';
echo '<button onclick="crear()">Nuevo</button>';
$this->registry->template->show('debug');
}
Expand Down Expand Up @@ -457,4 +458,4 @@ public function eliminar_actividad(){
}

}
?>
?>
3 changes: 1 addition & 2 deletions controller/institucionesController.php
Expand Up @@ -37,15 +37,14 @@ public function guardar(){
$institucion->notaSuficiente= $_POST['notaSuficiente'];
$institucion->plataforma = $_POST['plataforma'];

if(isset($_POST['id'])){
if(isset($_POST['id'])){
DAOFactory::getInstitucionesDAO()->update($institucion);
$this->registry->template->mensaje = "Instituci&oacute;n actualizada correctamente";
}else{
DAOFactory::getInstitucionesDAO()->insert($institucion);
$this->registry->template->mensaje = "Instituci&oacute;n agregada correctamente";
}


$this->registry->template->ruta = "instituciones";
$this->registry->template->show('enrutador');
}
Expand Down
2 changes: 1 addition & 1 deletion model/mysql/InstitucionesMySqlDAO.class.php
Expand Up @@ -126,7 +126,7 @@ public function update($institucione){
$sqlQuery->setString($institucione->nombreCorto);
$sqlQuery->setString($institucione->prefijoEvaluacion);
$sqlQuery->setNumber($institucione->notaAprobado);
$sqlQuery->setNumber($institucione->notaSuficiente);
$sqlQuery->set($institucione->notaSuficiente);
$sqlQuery->setNumber($institucione->plataforma);
$sqlQuery->setNumber($institucione->id);
return $this->executeUpdate($sqlQuery);
Expand Down
7 changes: 4 additions & 3 deletions model/mysql/IntentosMySqlDAO.class.php
Expand Up @@ -106,6 +106,7 @@ public function getLogroPorContenido($id_quiz, $id_usuario){
$sqlQuery->setNumber($id_quiz);
$sqlQuery->setNumber($id_quiz);
$sqlQuery->setNumber($id_usuario);
print $sqlQuery->getQuery();

return $this->getContenidoLogroArray($sqlQuery);
}
Expand Down Expand Up @@ -221,9 +222,9 @@ public function getNotasGrupo($quiz,$grupo){

//TODO: revisar por qu� algunos valores se escapan de rango y mejorar esta consulta
$sqlQuery = new SqlQuery($sql);
$sqlQuery->set($quiz);
$sqlQuery->set($quiz);
$sqlQuery->set($grupo);
$sqlQuery->set($quiz);
$sqlQuery->set($quiz);
$sqlQuery->set($grupo);
return $this->getNotaLogro($sqlQuery);
}

Expand Down
48 changes: 39 additions & 9 deletions model/mysql/QuizesMySqlDAO.class.php
Expand Up @@ -15,12 +15,16 @@ class QuizesMySqlDAO implements QuizesDAO{
* @param int $id_curso
*/
public function queryEvaluacionesByIdCurso($id_curso){
$sql = 'SELECT q.* '.
'FROM quizes AS q JOIN plataforma_quiz pq ON q.id=pq.id_quiz '.
'JOIN plataformas p ON pq.id_plataforma=p.id '.
'JOIN instituciones i ON i.id_plataforma=p.id '.
'WHERE id_curso = ? AND q.nombre REGEXP prefijo_tarea '.
'ORDER BY fecha_cierre ASC';
$sql = 'SELECT q.*
FROM quizes q JOIN (
SELECT prefijo_tarea,cg.id_curso FROM cursos_has_grupos cg
JOIN grupos g ON cg.id_grupo=g.id
JOIN sedes s ON g.id_sede=s.id
JOIN instituciones i ON s.id_institucion=i.id
WHERE cg.id_curso=? LIMIT 1 ) as t
ON q.id_curso=t.id_curso
WHERE q.nombre REGEXP prefijo_tarea
ORDER BY fecha_cierre ASC';

$sqlQuery = new SqlQuery($sql);
$sqlQuery->set($id_curso);
Expand Down Expand Up @@ -79,6 +83,32 @@ public function queryCerradosByIdCurso($curso_id){
return $this->getList($sqlQuery);
}

public function queryCerradosByIdGrupo($grupo_id){

/**
* @author cgajardo: previous query
* $sql = 'SELECT q.* '.
'FROM quizes AS q '.
'JOIN sedes_has_cursos sc ON q.id_curso=sc.id_curso '.
'JOIN sedes s ON sc.id_sede=s.id '.
'JOIN instituciones i ON s.id_institucion=i.id '.
'WHERE q.id_curso = ? AND q.nombre REGEXP i.prefijo_tarea '.
'AND q.fecha_cierre > 0 AND q.fecha_cierre < NOW() ORDER BY nombre ASC';
*/

$sql = 'SELECT q.*
FROM quizes AS q
JOIN cursos_has_grupos cg ON q.id_curso=cg.id_curso
JOIN grupos g ON cg.id_grupo = g.id
JOIN sedes s ON g.id_sede=s.id
JOIN instituciones i ON s.id_institucion=i.id
WHERE g.id = ? AND q.nombre REGEXP i.prefijo_tarea
AND q.fecha_cierre < NOW() ORDER BY nombre ASC';
$sqlQuery = new SqlQuery($sql);
$sqlQuery->set($grupo_id);
return $this->getList($sqlQuery);
}

public function queryDiagnosticosByIdCurso($curso_id){
$sql = 'SELECT q.* '.
'FROM quizes AS q '.
Expand Down Expand Up @@ -364,7 +394,7 @@ public function getQuizWithCierre() {

$sqlQuery = new SqlQuery($sql);
return $this->getList($sqlQuery);

}

}
}
?>
?>
14 changes: 6 additions & 8 deletions model/mysql/SedesMySqlDAO.class.php
Expand Up @@ -108,15 +108,13 @@ public function insert($sede){
$sql = 'INSERT INTO sedes (nombre, pais, region, ciudad, id_institucion) VALUES (?, ?, ?, ?, ?)';
$sqlQuery = new SqlQuery($sql);

$sqlQuery->set($sede->nombre);
$sqlQuery->set($sede->pais);
$sqlQuery->set($sede->region);
$sqlQuery->set($sede->ciudad);
$sqlQuery->setString($sede->nombre);
$sqlQuery->setString($sede->pais);
$sqlQuery->setString($sede->region);
$sqlQuery->setString($sede->ciudad);
$sqlQuery->setNumber($sede->idInstitucion);

$id = $this->executeInsert($sqlQuery);
$sede->id = $id;
return $id;

return $this->executeInsert($sqlQuery);
}

/**
Expand Down
6 changes: 3 additions & 3 deletions views/contenidos/asociar2.php
Expand Up @@ -98,9 +98,9 @@ function preguntas(){
<br/>
<?php
$combo ='id="quiz" onchange="preguntas()"><option value="-1">Seleccione un Quiz</option>';
foreach($quizesByCurso as $nombre=>$quizes){
$combo.='<optgroup label="'.$nombre.'">';
foreach($quizes as $quiz){
foreach($quizesByCurso as $quizes){
$combo.='<optgroup label="'.$quizes[0]->nombre.'">';
foreach($quizes[1] as $quiz){
$combo .= '<option value="'.$quiz->id.'">'.$quiz->nombre.'</option>';
}
$combo.='</optgroup>';
Expand Down
12 changes: 7 additions & 5 deletions views/index.php
Expand Up @@ -3,15 +3,17 @@
<p>Prueba ingresando como:</p>
<h4>Alumnos:</h4>
<ul>
<li><a href="./enrutador/index&params=lnFtbVjp2gnQMUkAa_1qgT64fPt6LOGceYd3vuJex_-WwY2gLaDtgQ">Jos&eacute, Ignacio Osorio (Instituto)</a></li>
<li><a href="./enrutador/?params=lnFtbVjp2gnQMUkAa_1qgT64fPt6LOGceYd3vuJex_-WwY2gLaDtgQ">Jos&eacute, Ignacio Osorio (Instituto)</a></li>
<li><a href="./enrutador/?params=lnFtbVjp2gnQMUkAa_1qgT64fPt6LOGcqFVkR2OXAcnxjND2_WqSuQ">Pruebas</a></li>
<!--18162154-->
<li><a href="./enrutador/index&params=lnFtbVjp2gmDCYidkYAPdvehQvhmDNuKeqIjv8xuNh0">Andr&eacute;s Cort&eacute;s (Santiago)</a></li>
<li><a href="./enrutador?params=lnFtbVjp2gmDCYidkYAPdvehQvhmDNuKeqIjv8xuNh0">Andr&eacute;s Cort&eacute;s (Santiago)</a></li>
<!--18459086-->
<li><a href="./enrutador/index&params=lnFtbVjp2gmDCYidkYAPdvehQvhmDNuKGa62irDOuLA">Lucia Luppichini (Santiago)</a></li>
<li><a href="./enrutador?params=lnFtbVjp2gmDCYidkYAPdvehQvhmDNuKGa62irDOuLA">Lucia Luppichini (Santiago)</a></li>
<li><a href="./enrutador?params=lnFtbVjp2gmDCYidkYAPdvehQvhmDNuKO6L0UvUnh70">Lucia Luppichini (Santiago)</a></li>
<!--17968517-->
<li><a href="./enrutador/index&params=lnFtbVjp2gmDCYidkYAPdvehQvhmDNuK7Ha7HListeg">Nadia Tobar (Valparaiso)</a></li>
<li><a href="./enrutador?params=lnFtbVjp2gmDCYidkYAPdvehQvhmDNuK7Ha7HListeg">Nadia Tobar (Valparaiso)</a></li>
<!--18450021-->
<li><a href="./enrutador/index&params=lnFtbVjp2gmDCYidkYAPdvehQvhmDNuK7g0EdEC9dvQ"> Samuel Norero (Valparaiso)</a></li>
<li><a href="./enrutador?params=lnFtbVjp2gmDCYidkYAPdvehQvhmDNuK7g0EdEC9dvQ"> Samuel Norero (Valparaiso)</a></li>
</ul>
<br/>
<h4>Profesores:</h4>
Expand Down
4 changes: 2 additions & 2 deletions views/instituciones/editar.php
Expand Up @@ -25,9 +25,9 @@
}
?>
<table align="center">
<tr><td>Nombre </td><td><input type="text" name="nombre" value ="<?php echo $institucion->nombre;?>"/></td></tr>
<tr><td>Nombre </td><td><input type="text" required name="nombre" value ="<?php echo $institucion->nombre;?>"/></td></tr>

<tr><td>Nombre Corto </td><td><input type="text" name="nombreCorto" value ="<?php echo $institucion->nombreCorto;?>"/></td></tr>
<tr><td>Nombre Corto </td><td><input type="text" required name="nombreCorto" value ="<?php echo $institucion->nombreCorto;?>"/></td></tr>

<tr><td>Prefijo Evaluaciones </td><td><input type="text" name="prefijo" value ="<?php echo $institucion->prefijoEvaluacion;?>"/></td></tr>

Expand Down
4 changes: 2 additions & 2 deletions views/sedes/editar.php
Expand Up @@ -25,15 +25,15 @@
?>
<h1>Ingrese los Datos de la Sede</h1>
<table align="center">
<tr><td>Nombre</td> <td><input type="text" name="nombre" value ="<?php echo $sede->nombre;?>"/></td></tr>
<tr><td>Nombre</td> <td><input required type="text" name="nombre" value ="<?php echo $sede->nombre;?>"/></td></tr>

<tr><td>Pa&iacute;s </td><td><input type="text" name="pais" value ="<?php echo $sede->pais;?>"/></td></tr>

<tr><td>Regi&oacute;n </td><td><input type="text" name="region" value ="<?php echo $sede->region;?>"/></td></tr>

<tr><td>Ciudad </td><td><input type="text" name="ciudad" value ="<?php echo $sede->ciudad;?>"/></td></tr>

<tr><td>Instituci&oacute;n </td><td><select type="text" name="institucion">
<tr><td>Instituci&oacute;n </td><td><select required type="text" name="institucion">
<?php
echo $combo;
?>
Expand Down
1 change: 1 addition & 0 deletions views/sedes/index.php
Expand Up @@ -37,6 +37,7 @@
</table>
<br/>
<a href="sedes/agregar"><button>Nueva Sede</button></a>
<a href="sedes/cursos"><button>Asociar Grupos a Sede</button></a>
<div class="footer"></div>
</body>
</html>

0 comments on commit c603267

Please sign in to comment.