]> git.llucax.com Git - software/sercom.git/commitdiff
cleanup ajax y mejor manejo de errores
authorRicardo Markiewicz <rmarkie@fi.uba.ar>
Tue, 27 Feb 2007 06:54:04 +0000 (06:54 +0000)
committerRicardo Markiewicz <rmarkie@fi.uba.ar>
Tue, 27 Feb 2007 06:54:04 +0000 (06:54 +0000)
sercom/subcontrollers/grupo/__init__.py
sercom/widgets.py

index fded2139a1aebfe0126234efbaf20118c5e2d03b..8042b7cb8af4447f0bce979edeaa5c6b26b30f27 100644 (file)
@@ -11,7 +11,7 @@ from turbogears import paginate
 from docutils.core import publish_parts
 from sercom.subcontrollers import validate as val
 from sercom.model import Curso, AlumnoInscripto, Docente, Grupo, Alumno
-from sqlobject import AND
+from sqlobject import *
 
 from sercom.widgets import *
 
@@ -70,7 +70,10 @@ ajax = u"""
     function procesar(result)
     {
         l = MochiKit.DOM.getElement('form_responsable_info');
-        l.innerHTML = result.msg;
+        if (result.error)
+            l.innerHTML = result.msg;
+        else
+            l.innerHTML = result.msg.value;
     }
 
     function buscar_alumno()
@@ -220,12 +223,17 @@ class GrupoController(controllers.Controller, identity.SecureResource):
 
     @expose('json')
     def get_inscripto(self, cursoid, padron):
-        msg = 'No existe el alumno %s en el curso seleccionado.' % padron
+        msg = u''
         error=False
         try:
             # Busco el alumno inscripto
             alumno = AlumnoInscripto.selectBy(curso=cursoid, alumno=Alumno.byUsuario(padron)).getOne()
-            msg = alumno.alumno.nombre
+            msg = {}
+            msg['id'] = alumno.id
+            msg['value'] = alumno.alumno.nombre
+        except SQLObjectNotFound:
+            msg = 'No existe el alumno %s en el curso seleccionado.' % padron
+            error=True
         except Exception, (inst):
             msg = u"""Se ha producido un error inesperado al buscar el registro:\n      %s""" % str(inst)
             error = True
index c3ccea5d32cda70c3547743a8dd8ab985630e973..b4b7e13f9093528112466290e057ee7095f1b8da 100644 (file)
@@ -28,7 +28,7 @@ AlumnoMultiSelectAjax = '''
             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)