]> git.llucax.com Git - software/sercom.git/blobdiff - sercom/model.py
DER tareas fix
[software/sercom.git] / sercom / model.py
index c292de850dcfca3d338c2187f98e9ce8659e5163..3794c4a1346529831d453b84db01ebbb71d70cb1 100644 (file)
@@ -155,7 +155,8 @@ class Curso(SQLObject): #{{{
 
 class Usuario(InheritableSQLObject): #{{{
     # Clave (para docentes puede ser un nombre de usuario arbitrario)
 
 class Usuario(InheritableSQLObject): #{{{
     # Clave (para docentes puede ser un nombre de usuario arbitrario)
-    usuario         = UnicodeCol(length=10, alternateID=True)
+    usuario         = UnicodeCol(length=10, alternateID=True,
+                        alternateMethodName='by_usuario')
     # Campos
     contrasenia     = UnicodeCol(length=255, default=None)
     nombre          = UnicodeCol(length=255, notNone=True)
     # Campos
     contrasenia     = UnicodeCol(length=255, default=None)
     nombre          = UnicodeCol(length=255, notNone=True)
@@ -187,6 +188,10 @@ class Usuario(InheritableSQLObject): #{{{
     def _get_user_name(self): # para identity
         return self.usuario
 
     def _get_user_name(self): # para identity
         return self.usuario
 
+    @classmethod
+    def byUsuario(cls, usuario): # TODO eliminar, backward compat
+        return cls.by_usuario(usuario)
+
     @classmethod
     def by_user_name(cls, user_name): # para identity
         user = cls.byUsuario(user_name)
     @classmethod
     def by_user_name(cls, user_name): # para identity
         user = cls.byUsuario(user_name)
@@ -266,9 +271,13 @@ class Alumno(Usuario): #{{{
         self.usuario = padron
 
     @classmethod
         self.usuario = padron
 
     @classmethod
-    def byPadron(cls, padron):
+    def byPadron(cls, padron): # TODO eliminar, backward compat
         return cls.byUsuario(unicode(padron))
 
         return cls.byUsuario(unicode(padron))
 
+    @classmethod
+    def by_padron(cls, padron):
+        return cls.by_usuario(unicode(padron))
+
     def __repr__(self):
         return 'Alumno(id=%s, padron=%s, nombre=%s, password=%s, email=%s, ' \
             'telefono=%s, activo=%s, creado=%s, observaciones=%s)' \
     def __repr__(self):
         return 'Alumno(id=%s, padron=%s, nombre=%s, password=%s, email=%s, ' \
             'telefono=%s, activo=%s, creado=%s, observaciones=%s)' \
@@ -430,9 +439,7 @@ class Enunciado(SQLObject): #{{{
     descripcion     = UnicodeCol(length=255, default=None)
     autor           = ForeignKey('Docente', cascade='null')
     creado          = DateTimeCol(notNone=True, default=DateTimeCol.now)
     descripcion     = UnicodeCol(length=255, default=None)
     autor           = ForeignKey('Docente', cascade='null')
     creado          = DateTimeCol(notNone=True, default=DateTimeCol.now)
-    archivo         = BLOBCol(default=None)
-    archivo_name    = UnicodeCol(length=255, default=None)
-    archivo_type    = UnicodeCol(length=255, default=None)
+    archivos        = BLOBCol(default=None)
     # Joins
     ejercicios      = MultipleJoin('Ejercicio')
     casos_de_prueba = MultipleJoin('CasoDePrueba')
     # Joins
     ejercicios      = MultipleJoin('Ejercicio')
     casos_de_prueba = MultipleJoin('CasoDePrueba')
@@ -656,7 +663,7 @@ class Grupo(Entregador): #{{{
             docente = docente.id
         # FIXME ídem add_miembro()
         try:
             docente = docente.id
         # FIXME ídem add_miembro()
         try:
-            t = Tutor.selectBy(grupo=self, docenteID=alumno).getOne()
+            t = Tutor.selectBy(grupo=self, docenteID=docente).getOne()
             t.baja = None # si ya existía, le sacamos la fecha de baja
             return t
         except SQLObjectNotFound: # creo uno nuevo
             t.baja = None # si ya existía, le sacamos la fecha de baja
             return t
         except SQLObjectNotFound: # creo uno nuevo
@@ -877,11 +884,11 @@ class ComandoPruebaEjecutado(ComandoEjecutado): #{{{
 
     def __repr__(self):
         return super(ComandoPruebaEjecutado, self).__repr__(
 
     def __repr__(self):
         return super(ComandoPruebaEjecutado, self).__repr__(
-            'comando=%s, entrega=%s' % (self.comando.shortrepr(),
-                self.entrega.shortrepr()))
+            'comando=%s, prueba=%s' % (self.comando.shortrepr(),
+                self.prueba.shortrepr()))
 
     def shortrepr(self):
 
     def shortrepr(self):
-        return '%s:%s:%s' % (self.tarea.shortrepr(), self.entrega.shortrepr(),
+        return '%s:%s:%s' % (self.tarea.shortrepr(), self.prueba.shortrepr(),
             self.caso_de_prueba.shortrepr())
 #}}}
 
             self.caso_de_prueba.shortrepr())
 #}}}