from cherrypy import request, response
from turbogears.toolbox.catwalk import CatWalk
import model
-from model import InstanciaDeEntrega, Correccion, AND, DateTimeCol, Entrega, Grupo, AlumnoInscripto
+from model import Visita, VisitaUsuario, InstanciaDeEntrega, Correccion, AND, DateTimeCol, Entrega, Grupo, AlumnoInscripto
from sqlobject import *
# from sercom import json
instancias_activas=instancias, now=now)
if 'entregar' in identity.current.permissions:
+ last_login = Visita.select(AND(VisitaUsuario.q.user_id == identity.current.user.id, Visita.q.visit_key == VisitaUsuario.q.visit_key))[-1:][0].created
# Proximas instancias de entrega
instancias = list(InstanciaDeEntrega.select(
AND(InstanciaDeEntrega.q.inicio <= now,
except:
pass
entregas = list(Entrega.select(IN(Entrega.q.entregadorID, m))[:5])
- return dict(instancias_activas=instancias, now=now, entregas=entregas)
+
+ # Ultimas correcciones
+ correcciones = list(Correccion.select(AND(IN(Correccion.q.entregadorID, m), Correccion.q.corregido >= last_login)))
+ return dict(instancias_activas=instancias, now=now, entregas=entregas, correcciones=correcciones)
return dict()
@expose(template='.templates.login')
</li>
</ul>
</div>
- <h2>Últimas entregas realizadas</h2>
+ <div py:if="not len(instancias_activas)">
+ No hay fechas de entrega a vencer.
+ </div>
+ <h2>Últimas entregas realizadas</h2>
<table py:if="len(entregas)">
<tr>
+ <th>Curso</th>
<th>Ejercicio</th>
<th>Fecha Entrega</th>
</tr>
<tr py:for="e in entregas">
- <td>${e.instancia.ejercicio.shortrepr()}</td>
+ <td>${e.instancia.ejercicio.curso.shortrepr()}</td>
+ <td>${e.instancia.ejercicio.enunciado.nombre}</td>
<td>${e.fecha}</td>
+ </tr>
+ <tr>
+ <td colspan="3" align="right">
+ <a href="${tg.url('/mis_entregas/list')}">Ver todas</a>
+ </td>
+ </tr>
+ </table>
+ <h2 py:if="len(correcciones)">Te han corregido los siguientes ejercicios</h2>
+ <table py:if="len(correcciones)">
+ <tr>
+ <th>Curso</th>
+ <th>Ejercicio</th>
+ <th>Fecha</th>
+ <th>Corrector</th>
+ <th>Nota</th>
</tr>
+ <tr py:for="e in correcciones">
+ <td>${e.instancia.ejercicio.curso.shortrepr()}</td>
+ <td>${e.instancia.ejercicio.enunciado.nombre}</td>
+ <td>${e.corregido}</td>
+ <td>${e.corrector.shortrepr()}</td>
+ <td>${e.nota}</td>
+ </tr>
+ <tr>
+ <td colspan="5" align="right">
+ <a href="${tg.url('/mis_correcciones/list')}">Ver todas</a>
+ </td>
+ </tr>
</table>
</div>
</body>