]> git.llucax.com Git - software/sercom.git/blobdiff - sercom/subcontrollers/curso/__init__.py
Termino de arreglar controller de instancias de entrega.
[software/sercom.git] / sercom / subcontrollers / curso / __init__.py
index d73b01beb5aac2c6e37c6bfa572b298f3fc8a838..7573a6ba5b57f9f3ac142e9adb33d9fd8c4fbf35 100644 (file)
@@ -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)] = ""