Historico de mensajes enviados EN UN CURSO EN CONCRETO

Re: Historico de mensajes enviados EN UN CURSO EN CONCRETO

de takashi niimai -
Número de respuestas: 0

Hola Paco, ante todo perdona por no haber contestado antes, me cambiaron de proyecto y tuve que dejar el tema de inmediato, ahora lo he vuelto a retomar.

Estuve probando con lo que decías, pero no acababa de conseguir lo que necesitaba exactamente, por lo que lo enfoqué de otra manera, usando el módulo de informes tipo SQL de Leyva. Con esto ya casi lo tengo, pero me faltan algunos flecos. Te pego aquí la sentencia que he creado en mysql por si por si a alguien le interesa o aporta mejoras:

--------

SELECT

/*campos que mostraremos en el informe*/
FROM_UNIXTIME(MESSAGE.timecreated,'%Y-%m-%d %H:%i:%s') AS Fecha,
CONCAT (USER.firstname,' ',USER.lastname) AS Remitente,
MESSAGE.useridto AS Destinatario,
MESSAGE.fullmessagehtml AS Mensaje

/*condiciones de seleccion*/
from prefix_message MESSAGE, prefix_user USER where USER.id=MESSAGE.useridfrom and MESSAGE.useridfrom='2'
and MESSAGE.useridto in (

    /*ID de todos los alumnos matricualdos en un determinado curso*/

    SELECT
    id from prefix_user where id in (
    SELECT
    userid FROM prefix_role_assignments
    where roleid = 5 and contextid in (
        SELECT id FROM prefix_context where contextlevel = 50
        and instanceid = 3)))
/*Ordenamos la salida por fecha descendiente*/
ORDER BY Fecha DESC

------------------


Con esto se consigo sacar todos los mensajes enviados por el usuario con id=2 a cualquier alumno del curso id=3.


Pero me quedan muchos puntos por arreglar que ya se empiezan a escapar de mi conocimiento, como por ejemplo:


 - En vez de poner el id del usuario y del curso, estaría bien que lo recogiera del usuario actual y el curso actual, sin tener que ponerlo a mano.

 - En el campo Destinatario, que ahora solo aparece el id, que apareciera el nombre completo, lo he conseguido hacer para el Remitente, pero para el Destinatario no se me ocurre como.

 - Añadir al resultado, también los mensajes de la tabla message_read y los enviados por ese usuario en el foro.

 - Que todos los resultados salgan ordenados por fecha de creación.


Con esto se podría generar un informe utlizable en en cada curso que te permitiera ver todas las comunicaciones realizadas por un usuario en particular y sería ideal para generar los informes de comunicaciones que se piden para justificar que un curso se ha atendido correctamente por el profesor o tutor.


De nuevo muchas gracias Paco. Bueno, yo lo dejo ahí por si a alguien le vale para algo, o si le interesa aportar mejoras.

PD: Seguro que se puede hacer mejor y más optimo, pero bueno, es hasta donde yo llego guiño