from cherrypy import request, response
from turbogears.toolbox.catwalk import CatWalk
import model
-from model import InstanciaDeEntrega, Correccion, AND, DateTimeCol
+from model import InstanciaDeEntrega, Correccion, AND, DateTimeCol, Entrega
# from sercom import json
from subcontrollers import *
instancias_activas=instancias, now=now)
if 'entregar' in identity.current.permissions:
+ # Proximas instancias de entrega
instancias = list(InstanciaDeEntrega.select(
AND(InstanciaDeEntrega.q.inicio <= now,
- InstanciaDeEntrega.q.fin > now))
- .orderBy(InstanciaDeEntrega.q.fin))
- return dict(instancias_activas=instancias, now=now)
+ InstanciaDeEntrega.q.fin > now)).orderBy(InstanciaDeEntrega.q.fin))
+ # Ultimas N entregas realizadas
+ entregas = list(Entrega.select(Entrega.q.entregadorID == identity.current.user.id))
+ return dict(instancias_activas=instancias, now=now, entregas=entregas)
return dict()
@expose(template='.templates.login')
def create(self, archivo, ejercicio, **kw):
"""Save or create record to model"""
try:
- zfile = ZipFile(StringIO(archivo.file.read()), 'r')
+ zfile = ZipFile(archivo.file)
except BadZipfile:
flash(_(u'El archivo ZIP no es valido'))
raise redirect('list')
</div>
<div py:if="'entregar' in identity.current.permissions and 'admin' not in identity.current.permissions">
- <h1>Soy entregar</h1>
<h2>Instancias de Entrega</h2>
<div py:if="len(instancias_activas)">
<ul py:for="instancia in instancias_activas">
</li>
</ul>
</div>
- <div py:if="not len(instancias_activas)">
- No hay Ejercicios con entregas en curso en este momento.
- </div>
+ <h2>Últimas entregas realizadas</h2>
+ <table py:if="len(entregas)">
+ <tr>
+ <th>Ejercicio</th>
+ <th>Fecha Entrega</th>
+ </tr>
+ <tr py:for="e in entregas">
+ <td>${e.instancia.ejercicio.shortrepr()}</td>
+ <td>${e.fecha}</td>
+ </tr>
+ </table>
</div>
</body>
</html>