X-Git-Url: https://git.llucax.com/z.facultad/75.52/sercom.git/blobdiff_plain/86a6062b45b773ee18843a922ac7c07a11b1fa37..6e795a5270dcc96624425eecc0200bbc60f5766c:/sercom/subcontrollers/curso/__init__.py diff --git a/sercom/subcontrollers/curso/__init__.py b/sercom/subcontrollers/curso/__init__.py index d73b01b..7573a6b 100644 --- a/sercom/subcontrollers/curso/__init__.py +++ b/sercom/subcontrollers/curso/__init__.py @@ -10,13 +10,14 @@ from turbogears import identity from turbogears import paginate from docutils.core import publish_parts from sercom.subcontrollers import validate as val -from sercom.model import Curso, Correccion, Ejercicio, Alumno, Docente, Grupo, DocenteInscripto +from sercom.model import Curso, Correccion, Ejercicio, Alumno, Docente, Grupo, DocenteInscripto, Rol from curso_alumno import * from sqlobject import * from sqlobject.dberrors import * from sercom.widgets import * from alumno import AlumnoInscriptoController from grupo import GrupoController +from ejercicio import EjercicioController #}}} #{{{ Configuración @@ -163,6 +164,7 @@ class CursoController(controllers.Controller, identity.SecureResource): curso_alumno = CursoAlumnoController() alumno = AlumnoInscriptoController() grupo = GrupoController() + ejercicio = EjercicioController() @expose() def default(self, tg_errors=None): @@ -177,7 +179,7 @@ class CursoController(controllers.Controller, identity.SecureResource): @paginate('records') def list(self): """List records in model""" - r = cls.select() + r = cls.select().orderBy((-cls.q.anio, -cls.q.cuatrimestre, cls.q.numero)) return dict(records=r, name=name, namepl=namepl) @expose() @@ -298,7 +300,7 @@ class CursoController(controllers.Controller, identity.SecureResource): if row == []: continue try: - u = Alumno(row[0], nombre=row[1]) + u = Alumno(row[0], nombre=row[1], roles=[Rol.by_nombre('alumno')]) except: u = Alumno.byPadron(row[0]) try: @@ -336,6 +338,8 @@ class CursoController(controllers.Controller, identity.SecureResource): miembro = Grupo.selectByAlumno(i.alumno) if miembro.count() > 0: col["Grupo"] = miembro[0].grupo.shortrepr() + else: + col["Grupo"] = "" correctas = 0 for ej in r.ejercicios: for ins in ej.instancias: @@ -343,14 +347,12 @@ class CursoController(controllers.Controller, identity.SecureResource): # Busco la correccion del grupo g = Grupo.selectByAlumno(i.alumno).getOne() c = Correccion.selectBy(instancia=ins, entregador=g.grupo) - print " ", list(c) else: - print "Alumno" # Busco la correccion del alumno c = Correccion.selectBy(instancia=ins, entregador=i) if c.count() > 0: col["E"+str(ej.numero)+str(ins.numero)] = c[0].nota - if c[0].nota > 7: + if c[0].nota >= 7: correctas += 1 else: col["E"+str(ej.numero)+str(ins.numero)] = ""