]> git.llucax.com Git - software/sercom.git/blobdiff - sercom/model.py
Fix para que ande el select de enunciados
[software/sercom.git] / sercom / model.py
index dff54aee99ed9c7ac70cec7bafbed1193559ae8c..739bbd7183feb86a3dd7a7b90396366aa07e38f1 100644 (file)
@@ -194,10 +194,12 @@ class Usuario(InheritableSQLObject, ByObject): #{{{
 
     def _get_permissions(self): # para identity
         perms = set()
 
     def _get_permissions(self): # para identity
         perms = set()
-        for g in self.groups:
-            perms.update(g.permisos)
+        for r in self.roles:
+            perms.update(r.permisos)
         return perms
 
         return perms
 
+    _get_permisos = _get_permissions
+
     def _set_password(self, cleartext_password): # para identity
         self.contrasenia = encryptpw(cleartext_password)
 
     def _set_password(self, cleartext_password): # para identity
         self.contrasenia = encryptpw(cleartext_password)
 
@@ -336,6 +338,9 @@ class Enunciado(SQLObject, ByObject): #{{{
     autor           = ForeignKey('Docente')
     descripcion     = UnicodeCol(length=255, default=None)
     creado          = DateTimeCol(notNone=True, default=DateTimeCol.now)
     autor           = ForeignKey('Docente')
     descripcion     = UnicodeCol(length=255, default=None)
     creado          = DateTimeCol(notNone=True, default=DateTimeCol.now)
+    archivo         = BLOBCol(default=None)
+    archivo_name    = StringCol(default=None)
+    archivo_type    = StringCol(default=None)
     # Joins
     ejercicios      = MultipleJoin('Ejercicio')
     casos_de_prueba = MultipleJoin('CasoDePrueba')
     # Joins
     ejercicios      = MultipleJoin('Ejercicio')
     casos_de_prueba = MultipleJoin('CasoDePrueba')
@@ -437,8 +442,9 @@ class Ejercicio(SQLObject, ByObject): #{{{
 
     def __init__(self, curso=None, numero=None, enunciado=None, grupal=False,
             **kargs):
 
     def __init__(self, curso=None, numero=None, enunciado=None, grupal=False,
             **kargs):
-        SQLObject.__init__(self, cursoID=curso.id, numero=numero,
-            enunciadoID=enunciado.id, grupal=grupal, **kargs)
+        if curso and enunciado:
+            SQLObject.__init__(self, cursoID=curso.id, numero=numero,
+                enunciadoID=enunciado.id, grupal=grupal, **kargs)
 
     def add_instancia(self, numero, inicio, fin, *args, **kargs):
         return InstanciaDeEntrega(self, numero, inicio, fin, *args, **kargs)
 
     def add_instancia(self, numero, inicio, fin, *args, **kargs):
         return InstanciaDeEntrega(self, numero, inicio, fin, *args, **kargs)
@@ -451,7 +457,7 @@ class Ejercicio(SQLObject, ByObject): #{{{
 
     def shortrepr(self):
         return '(%s, %s, %s)' \
 
     def shortrepr(self):
         return '(%s, %s, %s)' \
-            % (self.curso.shortrepr(), self.nombre, \
+            % (self.curso.shortrepr(), str(self.numero), \
                 self.enunciado.shortrepr())
 #}}}
 
                 self.enunciado.shortrepr())
 #}}}