]> git.llucax.com Git - software/sercom.git/commitdiff
Paso el select-all como responsabilidad del usuario del widget.
authorRicardo Markiewicz <rmarkie@fi.uba.ar>
Thu, 1 Mar 2007 02:20:09 +0000 (02:20 +0000)
committerRicardo Markiewicz <rmarkie@fi.uba.ar>
Thu, 1 Mar 2007 02:20:09 +0000 (02:20 +0000)
No quedan muchas opciones, asi que quien use el AjaxMultiSelect debera implementar un onsubmit
en el form para seleccionar todos los elementos de la lista de manera que sean pasados al controller.

sercom/subcontrollers/grupo/__init__.py
sercom/widgets.py

index b9bbeeeb2e66a5df534cbf9be090c847288e0b2c..6be17575a0d7b2e2b7869f8bdb21bc98d0808e8a 100644 (file)
@@ -120,6 +120,18 @@ ajax = u"""
         connect('form_responsable', 'onblur', buscar_alumno);
     }
 
         connect('form_responsable', 'onblur', buscar_alumno);
     }
 
+    function onsubmit()
+    {
+        /* TODO : Validar datos y evitar el submit si no esta completo */
+
+        /* Selecciono todos los miembros si no, no llegan al controllere*/
+        l = MochiKit.DOM.getElement('form_miembros');
+        for (i=0; i<l.options.length; i++) { 
+            l.options[i].selected = true; 
+        }
+        return true; // Dejo hacer el submit
+    }
+
     MochiKit.DOM.addLoadEvent(prepare)
 
 """
     MochiKit.DOM.addLoadEvent(prepare)
 
 """
@@ -136,6 +148,7 @@ class GrupoForm(W.TableForm):
 
     fields = Fields()
     javascript = [W.JSSource("MochiKit.DOM.focusOnLoad('curso');"), W.JSSource(ajax)]
 
     fields = Fields()
     javascript = [W.JSSource("MochiKit.DOM.focusOnLoad('curso');"), W.JSSource(ajax)]
+    form_attrs = dict(onsubmit='return onsubmit()')
 
 form = GrupoForm()
 
 
 form = GrupoForm()
 
index 5f9540c531d26bdfd1e38792874b15ee0336a97b..5d3560625d89723dada1f854b5c0b73fecda6bd2 100644 (file)
@@ -31,9 +31,6 @@ MultiSelectAjax = '''
         }
         MochiKit.DOM.appendChildNodes(lista, OPTION({'value':results.msg.id}, results.msg.value));
         l = MochiKit.DOM.getElement(lista);
         }
         MochiKit.DOM.appendChildNodes(lista, OPTION({'value':results.msg.id}, results.msg.value));
         l = MochiKit.DOM.getElement(lista);
-        for (i=0; i<l.options.length; i++) { 
-            l.options[i].selected = true; 
-        }
     }
 
     function _on_alumno_get_error(loading, results)
     }
 
     function _on_alumno_get_error(loading, results)