From: Leandro Lucarella Date: Sat, 24 Feb 2007 22:50:30 +0000 (+0000) Subject: Escribir formularios más lindos usando WidgetsList. X-Git-Url: https://git.llucax.com/z.facultad/75.52/sercom.git/commitdiff_plain/e9571fa510c7719a5b3e59a795fe8b7625112f3d?ds=sidebyside;hp=134cb2d61093217000ace564978667f5a4828c5a Escribir formularios más lindos usando WidgetsList. --- diff --git a/sercom/subcontrollers/alumno/__init__.py b/sercom/subcontrollers/alumno/__init__.py index e54459c..9e8c476 100644 --- a/sercom/subcontrollers/alumno/__init__.py +++ b/sercom/subcontrollers/alumno/__init__.py @@ -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() diff --git a/sercom/subcontrollers/caso_de_prueba/__init__.py b/sercom/subcontrollers/caso_de_prueba/__init__.py index 62435c6..6fca789 100644 --- a/sercom/subcontrollers/caso_de_prueba/__init__.py +++ b/sercom/subcontrollers/caso_de_prueba/__init__.py @@ -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() diff --git a/sercom/subcontrollers/curso/__init__.py b/sercom/subcontrollers/curso/__init__.py index de16547..4921c30 100644 --- a/sercom/subcontrollers/curso/__init__.py +++ b/sercom/subcontrollers/curso/__init__.py @@ -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. """ diff --git a/sercom/subcontrollers/docente/__init__.py b/sercom/subcontrollers/docente/__init__.py index 3ab67c8..7550295 100644 --- a/sercom/subcontrollers/docente/__init__.py +++ b/sercom/subcontrollers/docente/__init__.py @@ -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() diff --git a/sercom/subcontrollers/enunciado/__init__.py b/sercom/subcontrollers/enunciado/__init__.py index 31a4c30..7f5661f 100644 --- a/sercom/subcontrollers/enunciado/__init__.py +++ b/sercom/subcontrollers/enunciado/__init__.py @@ -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()