13/05/2013, 04:11
|
| | Fecha de Ingreso: septiembre-2006
Mensajes: 139
Antigüedad: 18 años, 2 meses Puntos: 14 | |
Enlazar tareas a calendario al seleccionar un proyecto Buenos días,
Quería agregar un calendario a mi proyecto que hago uso del patrón MVC y opté por fullcalendar:
El problema viene en el momento que intento codificar la respuesta json. El código que uso es el siguiente: proyectosModel.php
Código:
public function obtenerTareasProyecto($idProyecto){
$sql = "SELECT tareasProyectos.nombre as title, tareasProyectos.fechaInicio as start, tareasProyectos.fechaLimite as end, tareasProyectos.estado , proyectos.idProyecto, proyectos.nombre as NombreProyecto, usuarios.codUsuario, usuarios.nombre, usuarios.apellido1, usuarios.apellido2\n";
$sql .= "FROM tareasProyectos\n";
$sql .= "JOIN proyectos on tareasProyectos.FKidProyecto = proyectos.idProyecto\n";
$sql .= "JOIN usuarios on tareasProyectos.FKusuarioAsignado = usuarios.codUsuario\n";
$sql .= "WHERE tareasProyectos.FKidProyecto ='" . $idProyecto . "'";
$tareasProyecto = $this->_db->query($sql);
return $tareasProyecto->fetchall(PDO::FETCH_ASSOC);
}
proyectosController.php
Código:
public function obtenerTareasProyecto() {
echo json_encode($this->_proyectos->obtenerTareasProyecto($this->getTexto('idProyecto')));
}
proyectos.js
Código:
$(document).ready(function(proyecto){
var cargarTareas = $.post('/distribucion/proyectos/obtenerTareasProyecto',
{
idProyecto: proyecto
}, function(datos){
//Aquí debería enlazar el titulo, la fecha de inicio y la fecha final con los eventos pero no sé cómo.
}, 'json'}
//Cargamos el calendario principal
$("#calendario").fullCalendar({
weekMode:'variable',
header:{ //Cabecera
left: 'month,basicWeek,agendaDay',
center: 'title',
right: 'today prev,next'
},
firstDay:1, //Primer día de la semana
selectable: true, //Fechas seleccionables
titleFormat:{//Formato del título del calendario
month: "MMMM yyyy",
week: "d 'de' MMMM",
day: "dddd, d 'de' MMMM, yyyy"
},
columnFormat:{
month:"dddd",
week:"dddd d/M",
day:"dddd d/M"
},
monthNames:['Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre'],
monthNamesShort:['Ene','Feb','Mar','Abr','May','Jun','Jul','Ago','Sep','Oct','Nov','Dic'],
dayNames: ['Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado'],
dayNamesShort:['Dom','Lun','Mar','Mie','Jue','Vie','Sab'],
buttonText:{
month:'mes',
week:'semana',
day: 'día',
today:'Hoy'
},
eventSources: [
{
events: //¿Cómo puedo agregar los eventos desde el método $.post()?
}
]
});
}
En el fichero de javascript es donde cargo con ajax los eventos mediante $.post() pero no sé como agregarlos a events:[] que es el array en formato Json para enlazar los eventos en mi caso tareas de un proyecto. Supongo que tendría que crear un array en la función $.post para luego enlazar con la función fullCalendar().
Saludos cordiales.
Francisco J. |