]> git.llucax.com Git - z.facultad/75.52/sercom.git/blobdiff - sercom/subcontrollers/curso/__init__.py
Limpiar y simplificar GrupoController.
[z.facultad/75.52/sercom.git] / sercom / subcontrollers / curso / __init__.py
index 34e93e5f371574eb02b77b186c00a609208a4303..3ad2133004bae790e0ff8397669abe0bc93acb0f 100644 (file)
@@ -15,6 +15,8 @@ from curso_alumno import *
 from sqlobject import *
 from sqlobject.dberrors import *
 from sercom.widgets import *
+from alumno import AlumnoInscriptoController
+from grupo import GrupoController
 #}}}
 
 #{{{ Configuración
@@ -102,17 +104,8 @@ def validate_del(id):
     return val.validate_del(cls, name, id)
 #}}}
 
-def get_ejercicios():
-    return [(fk1.id, fk1.shortrepr()) for fk1 in Ejercicio.select()]
-
 def get_docentes():
-    return [(fk1.id, fk1.shortrepr()) for fk1 in Docente.select()]
-
-def get_alumnos():
-    return [(fk1.id, fk1.shortrepr()) for fk1 in Alumno.select()]
-
-def get_grupos():
-    return [(fk1.id, fk1.shortrepr()) for fk1 in Grupo.select()]
+    return [(fk1.id, fk1.shortrepr()) for fk1 in Docente.selectBy(activo=True)]
 
 
 #{{{ Formulario
@@ -127,8 +120,8 @@ class CursoForm(W.TableForm):
         numero = W.TextField(label=_(u'Numero'),
             help_text=_(u'Requerido'),
             validator=V.Number(min=1, max=2, strip=True))
-        descripcion = W.TextArea(name='descripcion', label=_(u'Descripcion'),
-            help_text=_(u'Descripcion.'),
+        descripcion = W.TextField(label=_(u'Descripción'),
+            help_text=_(u'Descripción.'),
             validator=V.UnicodeString(not_empty=False, strip=True))
 
         #docentes = W.MultipleSelectField(name="docentes",
@@ -168,6 +161,8 @@ class CursoController(controllers.Controller, identity.SecureResource):
     """Basic model admin interface"""
     require = identity.has_permission('admin')
     curso_alumno = CursoAlumnoController()
+    alumno = AlumnoInscriptoController()
+    grupo = GrupoController()
 
     @expose()
     def default(self, tg_errors=None):
@@ -225,20 +220,10 @@ class CursoController(controllers.Controller, identity.SecureResource):
     def edit(self, id, **kw):
         """Edit record in model"""
         r = validate_get(id)
-        class EmptyClass:
-            pass
-        values = EmptyClass()
-        values.id = r.id
-        values.anio = r.anio
-        values.numero = r.numero
-        values.cuatrimestre = r.cuatrimestre
-        values.cursoID = r.id
-        values.descripcion = r.descripcion
         # cargo la lista con los docentes asignados al curso
-        values.docentes_to = [{"id":d.docente.id, "label":d.docente.shortrepr()} for d in DocenteInscripto.selectBy(curso=r.id)]
-        values.alumnos_inscriptos = [{"id":a.alumno.id, "label":a.alumno.shortrepr()} for a in AlumnoInscripto.selectBy(curso=r.id)]
-
-        return dict(name=name, namepl=namepl, record=values, form=form)
+        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]
+        return dict(name=name, namepl=namepl, record=r, form=form)
 
     @validate(form=form)
     @error_handler(edit)
@@ -368,7 +353,7 @@ class CursoController(controllers.Controller, identity.SecureResource):
                         if c[0].nota > 7:
                             correctas += 1
                     else:
-                        col["E"+str(ej.numero)+str(ins.numero)] = "" 
+                        col["E"+str(ej.numero)+str(ins.numero)] = ""
             col["EA"] = correctas
             col["NP"] = i.nota_practica
             col["NF"] = i.nota_final
@@ -423,7 +408,6 @@ class CursoController(controllers.Controller, identity.SecureResource):
         s = ",".join(cols) + "\n"
         for i in rows:
             s = s + ",".join(i) + "\n"
-        
         return s
 #}}}