]> git.llucax.com Git - software/sercom.git/blobdiff - sercom/subcontrollers/curso/__init__.py
si no hay instancias de entregas activas aborto el agregar entrega al alumno.
[software/sercom.git] / sercom / subcontrollers / curso / __init__.py
index 36101033ac5944fc9048d1d7746419a33e9a8490..b9ce5856b9bb5199378a285af385060d4b1c2450 100644 (file)
@@ -18,6 +18,7 @@ from sercom.widgets import *
 from alumno import AlumnoInscriptoController
 from grupo import GrupoController
 from ejercicio import EjercicioController
 from alumno import AlumnoInscriptoController
 from grupo import GrupoController
 from ejercicio import EjercicioController
+from docente import DocenteInscriptoController
 #}}}
 
 #{{{ Configuración
 #}}}
 
 #{{{ Configuración
@@ -165,6 +166,7 @@ class CursoController(controllers.Controller, identity.SecureResource):
     alumno = AlumnoInscriptoController()
     grupo = GrupoController()
     ejercicio = EjercicioController()
     alumno = AlumnoInscriptoController()
     grupo = GrupoController()
     ejercicio = EjercicioController()
+    docente = DocenteInscriptoController()
 
     @expose()
     def default(self, tg_errors=None):
 
     @expose()
     def default(self, tg_errors=None):
@@ -179,7 +181,7 @@ class CursoController(controllers.Controller, identity.SecureResource):
     @paginate('records')
     def list(self):
         """List records in model"""
     @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()
         return dict(records=r, name=name, namepl=namepl)
 
     @expose()
@@ -223,8 +225,8 @@ class CursoController(controllers.Controller, identity.SecureResource):
         """Edit record in model"""
         r = validate_get(id)
         # cargo la lista con los docentes asignados al curso
         """Edit record in model"""
         r = validate_get(id)
         # cargo la lista con los docentes asignados al curso
-        r.docentes_to = [{"id":d.docente.id, "label":d.docente.shortrepr()} for d in r.docentes]
-        r.alumnos_inscriptos = [{"id":a.alumno.id, "label":a.alumno.shortrepr()} for a in r.alumnos]
+        r.docentes_to = [{"id":d.docente.id, "label":d.docente.shortrepr().replace("'", "\\'")} for d in r.docentes]
+        r.alumnos_inscriptos = [{"id":a.alumno.id, "label":a.alumno.shortrepr().replace("'", "\\'")} for a in r.alumnos]
         return dict(name=name, namepl=namepl, record=r, form=form)
 
     @validate(form=form)
         return dict(name=name, namepl=namepl, record=r, form=form)
 
     @validate(form=form)
@@ -338,6 +340,8 @@ class CursoController(controllers.Controller, identity.SecureResource):
             miembro = Grupo.selectByAlumno(i.alumno)
             if miembro.count() > 0:
                 col["Grupo"] = miembro[0].grupo.shortrepr()
             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:
             correctas = 0
             for ej in r.ejercicios:
                 for ins in ej.instancias:
@@ -345,14 +349,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)
                         # Busco la correccion del grupo
                         g = Grupo.selectByAlumno(i.alumno).getOne()
                         c = Correccion.selectBy(instancia=ins, entregador=g.grupo)
-                        print "  ", list(c)
                     else:
                     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
                         # 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 >= 4:
                             correctas += 1
                     else:
                         col["E"+str(ej.numero)+str(ins.numero)] = ""
                             correctas += 1
                     else:
                         col["E"+str(ej.numero)+str(ins.numero)] = ""
@@ -386,6 +388,8 @@ class CursoController(controllers.Controller, identity.SecureResource):
             miembro = Grupo.selectByAlumno(i.alumno)
             if miembro.count() > 0:
                 col.append(miembro[0].grupo.shortrepr())
             miembro = Grupo.selectByAlumno(i.alumno)
             if miembro.count() > 0:
                 col.append(miembro[0].grupo.shortrepr())
+            else:
+                col.append("")
             correctas = 0
             for ej in r.ejercicios:
                 for ins in ej.instancias:
             correctas = 0
             for ej in r.ejercicios:
                 for ins in ej.instancias:
@@ -398,7 +402,7 @@ class CursoController(controllers.Controller, identity.SecureResource):
                         c = Correccion.selectBy(instancia=ins, entregador=i)
                     if c.count() > 0:
                         col.append(str(c[0].nota))
                         c = Correccion.selectBy(instancia=ins, entregador=i)
                     if c.count() > 0:
                         col.append(str(c[0].nota))
-                        if c[0].nota > 7:
+                        if c[0].nota > 4:
                             correctas += 1
                     else:
                         col.append("")
                             correctas += 1
                     else:
                         col.append("")