]> git.llucax.com Git - software/sercom.git/blobdiff - sercom/subcontrollers/curso/__init__.py
Completar cambios a Enunciado.
[software/sercom.git] / sercom / subcontrollers / curso / __init__.py
index de16547ace0ab80cb786284942b837b4569ca5e3..2ee08159ee1963b1790c5d54ff2ad93eedee1c76 100644 (file)
@@ -10,7 +10,7 @@ from turbogears import identity
 from turbogears import paginate
 from docutils.core import publish_parts
 from sercom.subcontrollers import validate as val
 from turbogears import paginate
 from docutils.core import publish_parts
 from sercom.subcontrollers import validate as val
-from sercom.model import Curso
+from sercom.model import Curso, Ejercicio, Alumno, Docente, Grupo
 #}}}
 
 #{{{ Configuración
 #}}}
 
 #{{{ Configuración
@@ -30,39 +30,47 @@ def validate_new(data):
     return val.validate_new(cls, name, data)
 #}}}
 
     return val.validate_new(cls, name, data)
 #}}}
 
+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()]
+
 #{{{ Formulario
 class CursoForm(W.TableForm):
 #{{{ Formulario
 class CursoForm(W.TableForm):
-    fields = [
-        W.TextField(name='anio', label=_(u'Anio'),
+    class Fields(W.WidgetsList):
+        anio = W.TextField(label=_(u'Anio'),
             help_text=_(u'Requerido y único.'),
             help_text=_(u'Requerido y único.'),
-            validator=V.Number(min=4, max=4, strip=True)),
-        W.TextField(name='cuatrimestre', label=_(u'Cuatrimestre'),
+            validator=V.Number(min=4, max=4, strip=True))
+        cuatrimestre = W.TextField(label=_(u'Cuatrimestre'),
             help_text=_(u'Requerido.'),
             help_text=_(u'Requerido.'),
-            validator=V.Number(min=1, max=1, strip=True)),
-        W.TextField(name='numero', label=_(u'Numero'),
+            validator=V.Number(min=1, max=1, strip=True))
+        numero = W.TextField(label=_(u'Numero'),
             help_text=_(u'Requerido'),
             help_text=_(u'Requerido'),
-            validator=V.Number(min=1, max=2, strip=True)),
-    ]
+            validator=V.Number(min=1, max=2, strip=True))
+        descripcion = W.TextArea(name='descripcion', label=_(u'Descripcion'),
+            help_text=_(u'Descripcion.'),
+            validator=V.UnicodeString(not_empty=False, strip=True))
+#       docentes = W.MultipleSelectField(name="docentes", label=_(u'Docentes'),
+#           help_text=_(u'Docentes asignados al curso'), options=get_docentes,
+#           validator=V.Int(not_empty=True))
+#        alumnos = W.MultipleSelectField(name="alumnos", label=_(u'Alumnos'),
+#            help_text=_(u'Alumnos del curso'), options=get_alumnos,
+#            validator=V.Int(not_empty=True))
+#        grupos = W.MultipleSelectField(name="grupos", label=_(u'Grupos'),
+#           help_text=_(u'Grupos del curso'), options=get_grupos,
+#           validator=V.Int(not_empty=False))
+#       ejercicios = W.MultipleSelectField(name="ejercicios", label=_(u'Ejercicios'),
+#           help_text=_(u'Ejercicios'), options=get_ejercicios,
+#           validator=V.Int(not_empty=True))
+    fields = Fields()
     javascript = [W.JSSource("MochiKit.DOM.focusOnLoad('anio');")]
     javascript = [W.JSSource("MochiKit.DOM.focusOnLoad('anio');")]
-        # ver que otros campos agregar.
-"""
-        W.TextField(name='telefono', label=_(u'Teléfono'),
-            #help_text=_(u'Texto libre para teléfono, se puede incluir '
-            #    'horarios o varias entradas.'),
-            validator=V.UnicodeString(not_empty=False, min=7, max=255,
-                strip=True)),
-        W.TextField(name='nota', label=_(u'Nota'),
-            #help_text=_(u'Texto libre para teléfono, se puede incluir '
-            #    'horarios o varias entradas.'),
-            validator=V.Number(not_empty=False, strip=True)),
-        W.TextArea(name='observaciones', label=_(u'Observaciones'),
-            #help_text=_(u'Observaciones.'),
-            validator=V.UnicodeString(not_empty=False, strip=True)),
-        W.CheckBox(name='activo', label=_(u'Activo'), default=1,
-            #help_text=_(u'Si no está activo no puede ingresar al sistema.'),
-            validator=V.Bool(if_empty=1)),
-"""
-
 form = CursoForm()
 #}}}
 
 form = CursoForm()
 #}}}
 
@@ -130,10 +138,6 @@ class CursoController(controllers.Controller, identity.SecureResource):
     def show(self,id, **kw):
         """Show record in model"""
         r = validate_get(id)
     def show(self,id, **kw):
         """Show record in model"""
         r = validate_get(id)
-        if r.observaciones is None:
-            r.obs = ''
-        else:
-            r.obs = publish_parts(r.observaciones, writer_name='html')['html_body']
         return dict(name=name, namepl=namepl, record=r)
 
     @expose()
         return dict(name=name, namepl=namepl, record=r)
 
     @expose()