X-Git-Url: https://git.llucax.com/software/sercom.git/blobdiff_plain/2c23f36223624514f3ad84a7c629792a27e74a68..706ad3223b5e5f4de2cbdefec72f0f2f78ba79f4:/sercom/widgets.py diff --git a/sercom/widgets.py b/sercom/widgets.py index 218fb3a..6379964 100644 --- a/sercom/widgets.py +++ b/sercom/widgets.py @@ -21,30 +21,46 @@ class CustomTextField(widgets.TextField): AlumnoMultiSelectAjax = ''' - function _on_alumno_get_result(lista, results) + function _on_alumno_get_result(lista, loading, results) { + load = MochiKit.DOM.getElement(loading); load.style.visibility = 'hidden'; if (results.error) { alert(results.msg); return; } - MochiKit.DOM.appendChildNodes(lista, OPTION(results.msg)); + MochiKit.DOM.appendChildNodes(lista, OPTION({'value':results.msg.id}, results.msg.value)); } - function _on_alumno_get_error(results) + function _on_alumno_get_error(loading, results) { alert(results) + load = MochiKit.DOM.getElement(loading); load.style.visibility = 'hidden'; } - function agregar_a_la_lista(texto, lista) + function agregar_a_la_lista(texto, lista, loading) { - load = MochiKit.DOM.getElement('loading'); - load.style.visibility = 'visible'; t = MochiKit.DOM.getElement(texto); - url = "/grupo/get_inscripto?cursoid=1&padron="+t.value; + + /* Como no se si se puede hacer de otra manera, asumo que tengo en + * el form un Combo que se llama curso en el codigo, y tiro error si + * no existe + */ + curso = MochiKit.DOM.getElement('form_cursoID'); + if (!curso) { + alert("No deberias ver esto, y quiere decir que tu form esta roto.\\nTe falta un combo de curso"); + return; + } + if (curso.options[curso.selectedIndex].value <= 0) { + alert('Debes seleccionar un curso primero'); + return; + } + load = MochiKit.DOM.getElement(loading); + load.style.visibility = 'visible'; + url = "/grupo/get_inscripto?cursoid="+curso.options[curso.selectedIndex].value+"&padron="+t.value; var d = loadJSONDoc(url); - d.addCallbacks(partial(_on_alumno_get_result, lista), _on_alumno_get_error); + d.addCallbacks(partial(_on_alumno_get_result, lista, loading), partial(_on_alumno_get_error, loading)); t.value = ""; } @@ -69,9 +85,9 @@ class AlumnoMultiSelect(widgets.MultipleSelectField):
- + + onClick=" agregar_a_la_lista('${field_id}_nuevo', '${field_id}', '${name}_loading'); " /> |