- record['entregas_para_corregir'] = Correccion.selectBy(corrector=identity.current.user, nota=None).count()
- try:
- record['proxima_entrega'] = InstanciaDeEntrega.select(InstanciaDeEntrega.q.inicio >= DateTimeCol.now() and InstanciaDeEntrega.q.fin > DateTimeCol.now()).getOne()
- record['proxima_entrega'] = record['proxima_entrega'][0]
- except:
- record['proxima_entrega'] = None
- log.debug('Happy TurboGears Controller Responding For Duty')
- return dict(now=time.ctime(), record=record)
+ correcciones = Correccion.selectBy(corrector=identity.current.user,
+ corregido=None).count()
+ instancias = list(InstanciaDeEntrega.select(
+ AND(InstanciaDeEntrega.q.inicio <= now,
+ InstanciaDeEntrega.q.fin > now))
+ .orderBy(InstanciaDeEntrega.q.fin))
+ return dict(a_corregir=correcciones,
+ 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))
+ # Ultimas N entregas realizadas
+ # Grupos en los que el usuario formo parte
+ m = [i.grupo.id for i in Grupo.selectByAlumno(identity.current.user)]
+ entregador = AlumnoInscripto.selectByAlumno(identity.current.user)
+ m.append(entregador.id)
+ entregas = list(Entrega.select(IN(Entrega.q.entregadorID, m))[:5])
+ return dict(instancias_activas=instancias, now=now, entregas=entregas)
+ return dict()