Project

General

Profile

Feature #7756

Calendar view for teacher: see class/session events

Added by Yannick Warnier about 4 years ago. Updated about 4 years ago.

Status:
Feature implemented
Priority:
Normal
Assignee:
Category:
Agenda
Target version:
Start date:
22/06/2015
Due date:
01/07/2015
% Done:

100%

Estimated time:
4.00 h
Complexity:
Normal
SCRUM pts - complexity:
?

Description

Develop new filters for the following roles:
  • super admin
  • session admin
  • HR manager
  • student boss
  • teacher (or coach)

The feature adds a filter to the global calendar tool (not in the course) that allows one of the roles above to "filter down" by session in which this privileged user is teacher or admin.

The list should only show sessions for which the coach_access_start_date < NOW < coach_access_end_date).

When selecting the session, only events from this session will appear.
When switching from one "page" to the other in the calendar, the filter will remain active.

The filter is removed when the selected session active (dates) or when the user clicks the "Reset filter" button.

====================== Page header =========================================
======================= Main menu ==========================================
== Breadcrumb ==============================================================
= Action bar ===== Filter on [Select box] [Filter button] [Reset filter] ===
==
==
==     Calendar
==
==

This will allow teachers to know whether their students are already overloaded with assignments before assigning them one more.


Files

cal1.png (30.3 KB) cal1.png Yannick Warnier, 08/07/2015 22:02

Associated revisions

Revision 63266a1f (diff)
Added by Julio Montoya about 4 years ago

Add session filter see #7756

Revision 59dd41f6 (diff)
Added by Julio Montoya about 4 years ago

Show all course events for coach if entering a course within a session see #7756

History

#1

Updated by Yannick Warnier about 4 years ago

  • Assignee changed from Angel Quiroz to Julio Montoya

Julio, si quieres verlo... ya que has agregado algo que parece a esto como filtro por usuario...

#2

Updated by Julio Montoya about 4 years ago

  • Status changed from Assigned to Needs testing
  • Assignee changed from Julio Montoya to Yannick Warnier

código agregado

#3

Updated by Yannick Warnier about 4 years ago

  • Status changed from Needs testing to Assigned
  • Assignee changed from Yannick Warnier to Julio Montoya
  • % Done changed from 0 to 10

No creo que me hayas entendido, y a la vez veo que hay una serie de cositas en el calendario que no funcionan.

Cuando se quiere añadir un evento en base a la página-formulario, no hay selector de fechas que aparezca y el formato de fecha esperado no está indicado.

Luego, el selector "To" no parece tener efecto (registro un evento para un alumno en particular pero lo puedo ver siempre).

Finalmente, no veo un selector para ver todos los eventos de la sesión actual (incluso los de otros cursos en mi sesión) como coach, por lo que me pregunto lo que se supone que hace https://github.com/chamilo/chamilo-lms/commit/63266a1ffa024deb5f21b859407374d3e5f039e7. Veo que se cambian filtros sobre sesiones, pero me parecen hacer cosas no necesarias en el contexto de esta tarea...

#4

Updated by Julio Montoya about 4 years ago

  • Assignee changed from Julio Montoya to Yannick Warnier

Yannick Warnier wrote:

No creo que me hayas entendido, y a la vez veo que hay una serie de cositas en el calendario que no funcionan.

Cuando se quiere añadir un evento en base a la página-formulario, no hay selector de fechas que aparezca y el formato de fecha esperado no está indicado.

Esto es debido a este error:

https://github.com/chamilo/chamilo-lms/commit/8553ea3e6a65dbc7803095c2d5b407db08e70761

Luego, el selector "To" no parece tener efecto (registro un evento para un alumno en particular pero lo puedo ver siempre).

Corregido.

Finalmente, no veo un selector para ver todos los eventos de la sesión actual (incluso los de otros cursos en mi sesión) como coach, por lo que me pregunto lo que se supone que hace

https://github.com/chamilo/chamilo-lms/commit/63266a1ffa024deb5f21b859407374d3e5f039e7. Veo que se cambian filtros sobre sesiones, pero me parecen hacer cosas no necesarias en el contexto de esta tarea...

El fitro aparece en el calendario personal según la tarea: "The feature adds a filter to the global calendar tool (not in the course)".

Entrar a: main/calendar/agenda_js.php?type=personal

sudo composer update --prefer-source

es necesario

#5

Updated by Yannick Warnier about 4 years ago

Julio Montoya wrote:

Yannick Warnier wrote:

No creo que me hayas entendido, y a la vez veo que hay una serie de cositas en el calendario que no funcionan.

Cuando se quiere añadir un evento en base a la página-formulario, no hay selector de fechas que aparezca y el formato de fecha esperado no está indicado.

Esto es debido a este error:

https://github.com/chamilo/chamilo-lms/commit/8553ea3e6a65dbc7803095c2d5b407db08e70761

Entonces se supone que debería estar arreglado, no? Mira (después de sudo composer update --prefer-source + composer update + composer install):

Luego, el selector "To" no parece tener efecto (registro un evento para un alumno en particular pero lo puedo ver siempre).

Corregido.

Finalmente, no veo un selector para ver todos los eventos de la sesión actual (incluso los de otros cursos en mi sesión) como coach, por lo que me pregunto lo que se supone que hace

https://github.com/chamilo/chamilo-lms/commit/63266a1ffa024deb5f21b859407374d3e5f039e7. Veo que se cambian filtros sobre sesiones, pero me parecen hacer cosas no necesarias en el contexto de esta tarea...

El fitro aparece en el calendario personal según la tarea: "The feature adds a filter to the global calendar tool (not in the course)".

Entrar a: main/calendar/agenda_js.php?type=personal

Ya lo vi! Bien, entonces falta algo: dentro del popup del evento, los títulos de la sesión y del curso. Sino no se donde han sido agregados.

#6

Updated by Yannick Warnier about 4 years ago

  • Assignee changed from Yannick Warnier to Julio Montoya

Bueno, en realidad no funciona como esperado. Aquí un caso de uso.

Creo la sesión S1 que contiene 3 cursos: A, B y C
El usuario admin es admin y no tiene que ver con las sesiones.
El usuario jmontoya es coach general de sesión pero no es profesor de curso.
El usuario agarcia es tutor del curso B.
El usuario mmosquera es tutor del curso A.
Inscribo unos alumnos al azar en la sesión S1 (no importa mucho este paso).

Con el usuario admin, creo la sesión y asigno los roles.
Con el usuario mmosquera, entro al curso S1+A y creo un evento el 7/7, para todos sus alumnos.
Con el usuario agarcia, entreo al curso S1+B y creo un evento el 15/7 para todos sus alumnos.

Con el usuario agarcia, voy a mi calendario general. Primero, no veo mi evento del 15/7. Selecciono el filtro "S1" y no veo nada (debería ver los eventos del 7/7 y del 15/7).

No estoy muy seguro de lo que no funciona, pero estoy seguro de que algo no funciona.

#7

Updated by Julio Montoya about 4 years ago

Cuando dices:

El usuario agarcia es tutor del curso B.
El usuario mmosquera es tutor del curso A.

Supongo que te refieres a curso B dentro de la sesión S1?
Supongo que te refieres a curso A dentro de la sesión S1?

#8

Updated by Julio Montoya about 4 years ago

  • Status changed from Assigned to Needs more info
  • Assignee changed from Julio Montoya to Yannick Warnier

He aplicado unas correciones más. para que los usuarios puedan ver los eventos de las sesiones.
He agregado tambien el nombre del curso y de la sesión cuando se hace click en el evento.

#10

Updated by Yannick Warnier about 4 years ago

Julio Montoya wrote:

Cuando dices:

[...]

Supongo que te refieres a curso B dentro de la sesión S1?
Supongo que te refieres a curso A dentro de la sesión S1?

Correcto.

#11

Updated by Yannick Warnier about 4 years ago

Ya lo vi!

Parece que el selector de fechas dentro del formulario (página, no popup) de evento todavía no funciona. Me sigue mostrando un simple campo de texto. He borrado caché, hecho composer install && composer update pero no pasa nada. No puedo crear evento de esta manera porque sigue diciéndome que el formato de fecha es incorrecto.

Cuando me conecto como tutor de curso A en S1, no puedo añadir eventos de calendario dando clic en el calendario mismo. Me aparece el popup pero no graba nada.

A parte de esto, estuve probando con mis eventos ya grabados en otra sesión y cursos, y sigue sin funcionarme el caso que te detallaba arriba: un tutor de curso A no puede ver los eventos del curso B en la misma sesión (cuando filtra sobre esta sesión). De lo que vi en los queries, se debe a que lo primero que se consulta es a que cursos está inscrito dentro de la sesión para mostrar los eventos. En este caso, el filtro tiene que ser únicamente sobre la sesión, y no considerar el criterio de curso para nada (solo que tiene que saber de que curso viene para mostrarlo en la ficha del evento).

#12

Updated by Yannick Warnier about 4 years ago

  • Status changed from Needs more info to Assigned
  • Assignee changed from Yannick Warnier to Julio Montoya

Lo de mostrar curso y sesión ya funciona. Esta parte está bien.

#13

Updated by Julio Montoya about 4 years ago

  • Status changed from Assigned to Needs more info
  • Assignee changed from Julio Montoya to Yannick Warnier

Yannick Warnier wrote:

Ya lo vi!

Parece que el selector de fechas dentro del formulario (página, no popup) de evento todavía no funciona. Me sigue mostrando un simple campo de texto. He borrado caché, hecho composer install && composer update pero no pasa nada. No puedo crear evento de esta manera porque sigue diciéndome que el formato de fecha es incorrecto.

Prueba eliminando los assets web/assets/* había un problema con las versiones de las librerias js

Cuando me conecto como tutor de curso A en S1, no puedo añadir eventos de calendario dando clic en el calendario mismo. Me aparece el popup pero no graba nada.

Falta actualizar la base de datos:

Probar con esto (actualizado en unstable.chamilo)


jmontoya@chamilo02:/var/www/unstable.chamilo.org/www$ php bin/doctrine.php orm:schema-tool:update --dump-sql
CREATE TABLE extra_field_rel_tag (id INT AUTO_INCREMENT NOT NULL, field_id INT NOT NULL, tag_id INT NOT NULL, item_id INT NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
ALTER TABLE course DROP target_course_code;
ALTER TABLE track_e_default CHANGE default_event_type default_event_type VARCHAR(255) NOT NULL, CHANGE default_value_type default_value_type VARCHAR(255) NOT NULL;
ALTER TABLE sequence ADD created_at DATETIME NOT NULL, ADD updated_at DATETIME NOT NULL;
ALTER TABLE gradebook_category ADD is_requirement TINYINT(1) DEFAULT '0' NOT NULL;
ALTER TABLE c_tool ADD description LONGTEXT DEFAULT NULL, ADD custom_icon VARCHAR(255) DEFAULT NULL;
ALTER TABLE c_calendar_event ADD color VARCHAR(100) DEFAULT NULL;
ALTER TABLE c_forum_thread CHANGE thread_replies thread_replies INT UNSIGNED DEFAULT 0 NOT NULL, CHANGE thread_views thread_views INT UNSIGNED DEFAULT 0 NOT NULL;
ALTER TABLE c_course_description CHANGE description_type description_type INT NOT NULL;
jmontoya@chamilo02:/var/www/unstable.chamilo.org/www$ php bin/doctrine.php orm:schema-tool:update --force
Updating database schema...
Database schema updated successfully! "9" queries were executed
jmontoya@chamilo02:/var/www/unstable.chamilo.org/www$ 

A parte de esto, estuve probando con mis eventos ya grabados en otra sesión y cursos, y sigue sin funcionarme el caso que te detallaba arriba: un tutor de curso A no puede ver los eventos del curso B en la misma sesión (cuando filtra sobre esta sesión). De lo que vi en los queries, se debe a que lo primero que se consulta es a que cursos está inscrito dentro de la sesión para mostrar los eventos. En este caso, el filtro tiene que ser únicamente sobre la sesión, y no considerar el criterio de curso para nada (solo que tiene que saber de que curso viene para mostrarlo en la ficha del evento).

Revisar si es el caso luego de la correción.

#14

Updated by Yannick Warnier about 4 years ago

  • Status changed from Needs more info to Assigned
  • Assignee changed from Yannick Warnier to Julio Montoya

Bueno, en términos generales funciona mejor (con normalidad) y el filtro de sesión sí filtra.
Pero todavía no obtengo el resultado esperado: que un tutor de curso S1+B pueda ver los eventos de S1+A dirigido por otro tutor.

El objetivo, para que quede bien claro, es que dos tutores de cursos distintos dentro de la misma sesión puedan ver los eventos el uno del otro, de tal manera que sepan si los alumnos de la sesión tienen muchas cosas que hacer o si les puede dar una nueva tarea.

#15

Updated by Julio Montoya about 4 years ago

Yannick Warnier wrote:

Bueno, en términos generales funciona mejor (con normalidad) y el filtro de sesión sí filtra.
Pero todavía no obtengo el resultado esperado: que un tutor de curso S1+B pueda ver los eventos de S1+A dirigido por otro tutor.

El objetivo, para que quede bien claro, es que dos tutores de cursos distintos dentro de la misma sesión puedan ver los eventos el uno del otro, de tal manera que sepan si los alumnos de la sesión tienen muchas cosas que hacer o si les puede dar una nueva tarea.

lo reviso ...

#16

Updated by Julio Montoya about 4 years ago

  • Status changed from Assigned to Needs testing
  • Assignee deleted (Julio Montoya)

Acabo de aplicar un cambio.

#17

Updated by Yannick Warnier about 4 years ago

  • Status changed from Needs testing to Feature implemented
  • Assignee set to Julio Montoya
  • % Done changed from 60 to 100

Great! Tested, approved and happy!

Also available in: Atom PDF