]> git.llucax.com Git - software/sercom.git/blobdiff - sercom/model.py
Bugfix: El comando a ejecutar es distinto para ComandoPrueba (hay que concatenar...
[software/sercom.git] / sercom / model.py
index 1909de629daa6cf742236e57fcde8f93cbdfc49b..6894bddcbfa404295b51fd30f0c0f9dbaa6c7c32 100644 (file)
@@ -281,8 +281,6 @@ class Tarea(InheritableSQLObject): #{{{
     nombre              = UnicodeCol(length=30, alternateID=True)
     # Campos
     descripcion         = UnicodeCol(length=255, default=None)
-    terminar_si_falla   = BoolCol(notNone=True, default=True)
-    rechazar_si_falla   = BoolCol(notNone=True, default=True)
     # Joins
     enunciados          = RelatedJoin('Enunciado', addRemoveName='_enunciado')
 
@@ -396,7 +394,7 @@ class ComandoFuente(Comando): #{{{
 
 class ComandoPrueba(Comando): #{{{
     _inheritable = False
-    RET_PRUEBA = -2 # Espera el mismo retorno que el de la prueba.
+    RET_PRUEBA = -257 # Espera el mismo retorno que el de la prueba.
     # XXX todos los campos de limitación en este caso son multiplicadores para
     # los valores del caso de prueba.
     # Clave
@@ -405,7 +403,7 @@ class ComandoPrueba(Comando): #{{{
     pk                  = DatabaseIndex(tarea, orden, unique=True)
 
     def __repr__(self):
-        return super(ComandoFuente, self).__repr__('tarea=%s, orden=%s'
+        return super(ComandoPrueba, self).__repr__('tarea=%s, orden=%s'
             % (self.tarea.shortrepr(), self.orden))
 
     def shortrepr(self):
@@ -470,7 +468,7 @@ class CasoDePrueba(Comando): #{{{
     pruebas             = MultipleJoin('Prueba')
 
     def __repr__(self):
-        return super(ComandoFuente, self).__repr__('enunciado=%s, nombre=%s'
+        return super(CasoDePrueba, self).__repr__('enunciado=%s, nombre=%s'
             % (srepr(self.enunciado), self.nombre))
 
     def shortrepr(self):
@@ -652,7 +650,7 @@ class Grupo(Entregador): #{{{
     @classmethod
     def selectByAlumno(self, alumno):
         return Miembro.select(AND(Miembro.q.alumnoID == AlumnoInscripto.q.id,
-                AlumnoInscripto.q.alumnoID == alumno.id))
+                AlumnoInscripto.q.alumnoID == alumno.id, Miembro.q.baja == None))
 
     def shortrepr(self):
         return 'grupo:' + self.nombre
@@ -672,6 +670,10 @@ class AlumnoInscripto(Entregador): #{{{
     membresias          = MultipleJoin('Miembro', joinColumn='alumno_id')
     entregas            = MultipleJoin('Entrega', joinColumn='alumno_id')
     correcciones        = MultipleJoin('Correccion', joinColumn='alumno_id')
+    # Notas de la cursada
+    nota_practica       = DecimalCol(size=3, precision=1, default=None)
+    nota_final          = DecimalCol(size=3, precision=1, default=None)
+    nota_libreta        = DecimalCol(size=3, precision=1, default=None)
 
     def _get_nombre(self):
         return self.alumno.padron
@@ -816,7 +818,7 @@ class ComandoEjecutado(Ejecucion): #{{{
     diferencias = BLOBCol(default=None) # ZIP con archivos guardados
 
     def __repr__(self, clave='', mas=''):
-        return super(ComandoFuenteEjecutado, self).__repr__(clave, mas)
+        return super(ComandoEjecutado, self).__repr__(clave, mas)
 #}}}
 
 class ComandoFuenteEjecutado(ComandoEjecutado): #{{{
@@ -832,7 +834,7 @@ class ComandoFuenteEjecutado(ComandoEjecutado): #{{{
                 self.entrega.shortrepr()))
 
     def shortrepr(self):
-        return '%s-%s' % (self.tarea.shortrepr(), self.entrega.shortrepr())
+        return '%s-%s' % (self.comando.shortrepr(), self.entrega.shortrepr())
 #}}}
 
 class ComandoPruebaEjecutado(ComandoEjecutado): #{{{