]> git.llucax.com Git - z.facultad/75.52/sercom.git/commitdiff
Arreglo cagada del record anterior.
authorRicardo Markiewicz <rmarkie@fi.uba.ar>
Thu, 15 Mar 2007 01:23:25 +0000 (01:23 +0000)
committerRicardo Markiewicz <rmarkie@fi.uba.ar>
Thu, 15 Mar 2007 01:23:25 +0000 (01:23 +0000)
Malditos widgets inmutables -.- que concepto de mierda fucking developers :)
suerte que luca habia preguntado eso en la lista y google lo tenia indexado, y yo
que lo encontre :D

sercom/subcontrollers/curso/grupo/__init__.py
sercom/subcontrollers/curso/grupo/templates/edit.kid
sercom/subcontrollers/curso/grupo/templates/new.kid

index 8dad4a7500eefd14b4021a2659dadeefc8491bef..7d1e8d1b6d0d391567252eb6bc02e05bc0573d7e 100644 (file)
@@ -42,9 +42,7 @@ def get_docentes():
     return [(fk1.id, fk1.shortrepr()) for fk1 in Docente.select()]
 
 def get_docentes_inscriptos(id):
-    def func():
-        return [(fk1.id, fk1.shortrepr()) for fk1 in DocenteInscripto.select(DocenteInscripto.q.cursoID==id)]
-    return func
+    return [(fk1.id, fk1.shortrepr()) for fk1 in DocenteInscripto.select(DocenteInscripto.q.cursoID==id)]
 
 ajax = u"""
     function alumnos_agregar_a_la_lista(texto, lista)
@@ -126,7 +124,7 @@ class GrupoForm(W.TableForm):
         nombre = W.TextField(label=_(u'Nombre'), validator=V.UnicodeString(not_empty=True,strip=True))
         responsable = CustomTextField(label=_(u'Responsable'), validator=V.UnicodeString(), attrs=dict(size='8'))
         miembros = AjaxMultiSelect(label=_(u'Miembros'), validator=V.Int(), on_add="alumnos_agregar_a_la_lista")
-        tutores = W.MultipleSelectField(label=_(u'Tutores'), validator=V.Int(), options=get_docentes)
+        tutores = W.MultipleSelectField(label=_(u'Tutores'), validator=V.Int())
 
     fields = Fields()
     javascript = [W.JSSource("MochiKit.DOM.focusOnLoad('form_nombre');"), W.JSSource(ajax)]
@@ -161,8 +159,8 @@ class GrupoController(controllers.Controller, identity.SecureResource):
     def new(self, cursoID, **kw):
         """Create new records in model"""
         form.fields[0].attrs['value'] = cursoID
-        form.fields[4].options = get_docentes_inscriptos(cursoID)
-        return dict(name=name, namepl=namepl, cursoID=int(cursoID), form=form, values=kw)
+        options = dict(tutores=get_docentes_inscriptos(cursoID))
+        return dict(name=name, namepl=namepl, cursoID=int(cursoID), form=form, options=options, values=kw)
 
     @validate(form=form)
     @error_handler(new)
@@ -190,7 +188,7 @@ class GrupoController(controllers.Controller, identity.SecureResource):
         # de manera comoda y facil de formatear segun lo que espera la UI (que
         # en este caso es super particular). Ese EmptyClass no se si hay algo estandar
         # en python que usar, puse {} y [] pero cuando quiero hacer values.id = XX explota.
-        form.fields[4].options = get_docentes_inscriptos(r.curso.id)
+        options = dict(tutores=get_docentes_inscriptos(r.curso.id))
         class EmptyClass:
             pass
         values = EmptyClass()
@@ -202,7 +200,7 @@ class GrupoController(controllers.Controller, identity.SecureResource):
             values.responsable = r.responsable.alumno.padron
         values.miembros = [{"id":i.alumno.id, "label":i.alumno.alumno.nombre} for i in filter(lambda x: x.baja is None, r.miembros)]
         values.tutores = [a.docenteID for a in r.tutores]
-        return dict(name=name, namepl=namepl, record=values, form=form)
+        return dict(name=name, namepl=namepl, record=values, options=options, form=form)
 
     @validate(form=form)
     @error_handler(edit)
index 52273c083d9d463431bc045e1bcdc9b1529c5138..5c11f1ba366a46697f30962a993585ad1f0514b4 100644 (file)
 <h1>Modificación de <span py:replace="name">Objeto</span></h1>
 
 <div py:replace="form(value=record, action=tg.url('/curso/grupo/update/%d' % record.id),
-       submit_text=_(u'Guardar'))">Formulario</div>
+       options=options, submit_text=_(u'Guardar'))">Formulario</div>
 
 <br/>
-<a href="${tg.url('/curso/grupo/list')}">Volver (cancela)</a>
+<a href="${tg.url('/curso/grupo/list/%d' % record.cursoID)}">Volver (cancela)</a>
 
 </body>
 </html>
index d5fdd20a3fedd082e79fb5b9be22239813418f30..853abf07d8799512ff04441b38088523bc1d3f2d 100644 (file)
@@ -9,7 +9,7 @@
 
 <h1>Crear Nuevo <span py:replace="name">Objeto</span></h1>
 
-<p py:replace="form(action=tg.url('/curso/grupo/create'), value=values, submit_text=_('Crear'))">Formulario</p>
+<p py:replace="form(action=tg.url('/curso/grupo/create'), options=options, value=values, submit_text=_('Crear'))">Formulario</p>
 
 <br/>
 <a href="${tg.url('/curso/grupo/list/%d' % cursoID)}">Cancelar</a>