]> git.llucax.com Git - software/sercom.git/commitdiff
Escribir formularios más lindos usando WidgetsList.
authorLeandro Lucarella <llucax@gmail.com>
Sat, 24 Feb 2007 22:50:30 +0000 (22:50 +0000)
committerLeandro Lucarella <llucax@gmail.com>
Sat, 24 Feb 2007 22:50:30 +0000 (22:50 +0000)
sercom/subcontrollers/alumno/__init__.py
sercom/subcontrollers/caso_de_prueba/__init__.py
sercom/subcontrollers/curso/__init__.py
sercom/subcontrollers/docente/__init__.py
sercom/subcontrollers/enunciado/__init__.py

index e54459cdc881a88ec9a1a524fc25a135bbfe3496..9e8c476051143b159ef48214980564624955748b 100644 (file)
@@ -32,34 +32,34 @@ def validate_new(data):
 
 #{{{ Formulario
 class AlumnoForm(W.TableForm):
-    fields = [
-        W.TextField(name='padron', label=_(u'Padrón'),
+    class Fields(W.WidgetsList):
+        padron = W.TextField(label=_(u'Padrón'),
             help_text=_(u'Requerido y único.'),
-            validator=V.UnicodeString(min=3, max=10, strip=True)),
-        W.TextField(name='nombre', label=_(u'Nombre'),
+            validator=V.UnicodeString(min=3, max=10, strip=True))
+        nombre = W.TextField(label=_(u'Nombre'),
             help_text=_(u'Requerido.'),
-            validator=V.UnicodeString(min=10, max=255, strip=True)),
-        W.TextField(name='email', label=_(u'E-Mail'),
+            validator=V.UnicodeString(min=10, max=255, strip=True))
+        email = W.TextField(label=_(u'E-Mail'),
             #help_text=_(u'Dirección de e-mail.'),
             validator=V.All(
                 V.Email(not_empty=False, resolve_domain=True),
-                V.UnicodeString(not_empty=False, max=255, strip=True))),
-        W.TextField(name='telefono', label=_(u'Teléfono'),
+                V.UnicodeString(not_empty=False, max=255, strip=True)))
+        telefono = W.TextField(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'),
+                strip=True))
+        nota = W.TextField(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'),
+            validator=V.Number(not_empty=False, strip=True))
+        observaciones = W.TextArea(label=_(u'Observaciones'),
             #help_text=_(u'Observaciones.'),
-            validator=V.UnicodeString(not_empty=False, strip=True)),
-        W.CheckBox(name='activo', label=_(u'Activo'), default=1,
+            validator=V.UnicodeString(not_empty=False, strip=True))
+        activo = W.CheckBox(label=_(u'Activo'), default=1,
             #help_text=_(u'Si no está activo no puede ingresar al sistema.'),
-            validator=V.Bool(if_empty=1)),
-    ]
+            validator=V.Bool(if_empty=1))
+    fields = Fields()
     javascript = [W.JSSource("MochiKit.DOM.focusOnLoad('form_padron');")]
 
 form = AlumnoForm()
index 62435c676ed3a7be83fe34973be1e3566bf85b5b..6fca78906c36692ea7e9dce6567ac5176ff1e618 100644 (file)
@@ -56,22 +56,22 @@ def get_options():
         for fk in fkcls.select()]
 
 class CasoDePruebaForm(W.TableForm):
-    fields = [
-        W.TextField(name='nombre', label=_(u'Nombre'),
+    class Fields(W.WidgetsList):
+        nombre = W.TextField(label=_(u'Nombre'),
             help_text=_(u'Requerido y único.'),
-            validator=V.UnicodeString(min=5, max=60, strip=True)),
-        W.SingleSelectField(name=fkname+'ID', label=_(fkname.capitalize()),
-            options=get_options, validator=V.Int(not_empty=False)),
-        W.TextField(name='descripcion', label=_(u'Descripción'),
+            validator=V.UnicodeString(min=5, max=60, strip=True))
+        fk = W.SingleSelectField(name=fkname+'ID', label=_(fkname.capitalize()),
+            options=get_options, validator=V.Int(not_empty=False))
+        descripcion = W.TextField(label=_(u'Descripción'),
             validator=V.UnicodeString(not_empty=False, max=255,
-                strip=True)),
-        W.TextField(name='parametros', label=_(u'Parámetros'),
-            validator=ParamsValidator(not_empty=False, strip=True)),
-        W.TextField(name='retorno', label=_(u'Código de retorno'),
-            validator=V.Int(not_empty=False, strip=True)),
-        W.TextField(name='tiempo_cpu', label=_(u'Tiempo de CPU'),
-            validator=V.Number(not_empty=False, strip=True)),
-    ]
+                strip=True))
+        parametros = W.TextField(label=_(u'Parámetros'),
+            validator=ParamsValidator(not_empty=False, strip=True))
+        retorno = W.TextField(label=_(u'Código de retorno'),
+            validator=V.Int(not_empty=False, strip=True))
+        tiempo_cpu = W.TextField(label=_(u'Tiempo de CPU'),
+            validator=V.Number(not_empty=False, strip=True))
+    fields = Fields()
     javascript = [W.JSSource("MochiKit.DOM.focusOnLoad('form_nombre');")]
 
 form = CasoDePruebaForm()
index de16547ace0ab80cb786284942b837b4569ca5e3..4921c30f7fb9ef81c2a0d1406f73eaa04fb59f2c 100644 (file)
@@ -32,17 +32,17 @@ def validate_new(data):
 
 #{{{ 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.'),
             validator=V.Number(min=4, max=4, strip=True)),
-        W.TextField(name='cuatrimestre', label=_(u'Cuatrimestre'),
+        cuatrimestre = W.TextField(label=_(u'Cuatrimestre'),
             help_text=_(u'Requerido.'),
             validator=V.Number(min=1, max=1, strip=True)),
-        W.TextField(name='numero', label=_(u'Numero'),
+        numero = W.TextField(label=_(u'Numero'),
             help_text=_(u'Requerido'),
             validator=V.Number(min=1, max=2, strip=True)),
-    ]
+    fields = Fields()
     javascript = [W.JSSource("MochiKit.DOM.focusOnLoad('anio');")]
         # ver que otros campos agregar.
 """
index 3ab67c8a63802fa575f6dc25024ca90fe64f4852..755029516676912be145930b5f3a62e53cd6c177 100644 (file)
@@ -32,33 +32,33 @@ def validate_new(data):
 
 #{{{ Formulario
 class DocenteForm(W.TableForm):
-    fields = [
-        W.TextField(name='usuario', label=_(u'Usuario'),
+    class Fields(W.WidgetsList):
+        usuario = W.TextField(label=_(u'Usuario'),
             help_text=_(u'Requerido y único.'),
             validator=V.UnicodeString(min=3, max=10, strip=True)),
-        W.TextField(name='nombre', label=_(u'Nombre'),
+        nombre = W.TextField(label=_(u'Nombre'),
             help_text=_(u'Requerido.'),
             validator=V.UnicodeString(min=10, max=255, strip=True)),
-        W.TextField(name='email', label=_(u'E-Mail'),
+        email = W.TextField(label=_(u'E-Mail'),
             #help_text=_(u'Dirección de e-mail.'),
             validator=V.All(
                 V.Email(not_empty=False, resolve_domain=True),
                 V.UnicodeString(not_empty=False, max=255, strip=True))),
-        W.TextField(name='telefono', label=_(u'Teléfono'),
+        telefono = W.TextField(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.TextArea(name='observaciones', label=_(u'Observaciones'),
+        observaciones = W.TextArea(label=_(u'Observaciones'),
             #help_text=_(u'Observaciones.'),
             validator=V.UnicodeString(not_empty=False, strip=True)),
-        W.CheckBox(name='nombrado', label=_(u'Nombrado'), default=1,
+        nombrado = W.CheckBox(label=_(u'Nombrado'), default=1,
             #help_text=_(u'Indica si tiene cargo.'),
             validator=V.Bool(if_empty=1)),
-        W.CheckBox(name='activo', label=_(u'Activo'), default=1,
+        activo = W.CheckBox(label=_(u'Activo'), default=1,
             #help_text=_(u'Si no está activo no puede ingresar al sistema.'),
             validator=V.Bool(if_empty=1)),
-    ]
+    fields = Fields()
     javascript = [W.JSSource("MochiKit.DOM.focusOnLoad('form_usuario');")]
 
 form = DocenteForm()
index 31a4c3021ba48c2975d9f9bc4346e435421c05fb..7f5661f64c657698080d2b0332315ecd7eb2b79b 100644 (file)
@@ -54,15 +54,15 @@ def get_options():
     return [(0, _(u'--'))] + [(fk.id, fk.shortrepr()) for fk in fkcls.select()]
 
 class EnunciadoForm(W.TableForm):
-    fields = [
-        W.TextField(name='nombre', label=_(u'Nombre'),
+    class Fields(W.WidgetsList):
+        nombre = W.TextField(label=_(u'Nombre'),
             help_text=_(u'Requerido y único.'),
             validator=V.UnicodeString(min=5, max=60, strip=True)),
-        W.SingleSelectField(name=fkname+'ID', label=_(fkname.capitalize()),
+        fk = W.SingleSelectField(name=fkname+'ID', label=_(fkname.capitalize()),
             options=get_options, validator=V.Int(not_empty=False)),
-        W.TextField(name='descripcion', label=_(u'Descripción'),
+        descripcion = W.TextField(label=_(u'Descripción'),
             validator=V.UnicodeString(not_empty=False, max=255, strip=True)),
-    ]
+    fields = Fields()
     javascript = [W.JSSource("MochiKit.DOM.focusOnLoad('form_nombre');")]
 
 form = EnunciadoForm()