-form = TableForm(fields=[
- TextField(name='nombre', label=_(u'Nombre'),
- help_text=_(u'Requerido y único.'),
- validator=validators.UnicodeString(min=5, max=60, strip=True)),
- SingleSelectField(name=fkname+'ID', label=_(fkname.capitalize()),
- options=get_options, validator=validators.Int(not_empty=False)),
- TextField(name='descripcion', label=_(u'Descripción'),
- validator=validators.UnicodeString(not_empty=False, max=255, strip=True)),
-])
-
+def get_tareas_fuente():
+ return [(fk.id, fk.shortrepr()) for fk in TareaFuente.select()]
+
+def get_tareas_prueba():
+ return [(fk.id, fk.shortrepr()) for fk in TareaPrueba.select()]
+
+class EnunciadoForm(W.TableForm):
+ class Fields(W.WidgetsList):
+ anio = W.TextField(label=_(u'Año'),
+ help_text=_(u'Requerido.'),
+ validator=V.Number(min=4, max=4, strip=True))
+ cuatrimestre = W.TextField(label=_(u'Cuatrimestre'),
+ help_text=_(u'Requerido.'),
+ validator=V.Number(min=1, max=1, strip=True))
+ nombre = W.TextField(label=_(u'Nombre'),
+ help_text=_(u'Requerido y Único.'),
+ 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))
+ archivo = W.FileField(label=_(u'Archivo'))
+ tareas_fuente = AjaxDosListasSelect(label=_(u'Tareas Fuente'),
+ title_from=u'Disponibles',
+ title_to=u'Asignadas',
+ options=get_tareas_fuente,
+ validator=V.Int(not_empty=True))
+ tareas_prueba = AjaxDosListasSelect(label=_(u'Tareas Prueba'),
+ title_from=u'Disponibles',
+ title_to=u'Asignadas',
+ options=get_tareas_prueba,
+ validator=V.Int(not_empty=True))
+ fields = Fields()
+ form_attrs = dict(onsubmit='return doSubmit();')
+ javascript = [W.JSSource("MochiKit.DOM.focusOnLoad('form_nombre');"), W.JSSource(ajax)]
+
+form = EnunciadoForm()
+#}}}
+
+#{{{ Controlador