]> git.llucax.com Git - software/sercom.git/commitdiff
curso
authorRicardo Markiewicz <rmarkie@fi.uba.ar>
Mon, 5 Mar 2007 00:57:24 +0000 (00:57 +0000)
committerRicardo Markiewicz <rmarkie@fi.uba.ar>
Mon, 5 Mar 2007 00:57:24 +0000 (00:57 +0000)
* ahora se puede eliminar alumnos desde la edicion del curso

doc/alumno_curso_test.csv [new file with mode: 0644]
sercom/subcontrollers/alumno/__init__.py
sercom/subcontrollers/curso/__init__.py
sercom/subcontrollers/grupo/__init__.py

diff --git a/doc/alumno_curso_test.csv b/doc/alumno_curso_test.csv
new file mode 100644 (file)
index 0000000..53f6da0
--- /dev/null
@@ -0,0 +1,4 @@
+78226,Ricardo Markiewicz,rmarkie@fi.uba.ar,45524413
+12345,juan perez,jperez@gmail.com,12345
+78945,pepe parada,ppepe@gmail.com,78945
+65444,marcelo araujo,marcelo@gmail.com,65444
index 3d2c11a1e3280c38f1f07525b79ca8b65ec6e114..155c781f6900ae45456ff4529f3d49c8f87e73ce 100644 (file)
@@ -182,7 +182,7 @@ class AlumnoController(controllers.Controller, identity.SecureResource):
             alumno = Alumno.byPadron(padron=padron)
             msg = {}
             msg['id'] = alumno.id
-            msg['value'] = alumno.nombre
+            msg['value'] = alumno.shortrepr()
         except SQLObjectNotFound:
             msg = 'No existe el alumno con padron: %s.' % padron
             error=True
index c8387779985d18bf10c7d88bf8592594235bcfe9..7411437dba602e684723fc6842b650de65a37543 100644 (file)
@@ -144,6 +144,7 @@ class CursoForm(W.TableForm):
 
         alumnos = AjaxMultiSelect(label=_(u'Alumnos'),
                 validator=V.Int(),
+                attrs = dict(size='20'),
                 on_add="alumnos_agregar_a_la_lista")
 
     fields = Fields()
@@ -229,7 +230,7 @@ class CursoController(controllers.Controller, identity.SecureResource):
         values.descripcion = r.descripcion
         # cargo la lista con los docentes asignados al curso
         values.docentes_curso = [{"id":d.docente.id, "label":d.docente.shortrepr()} for d in DocenteInscripto.selectBy(curso=r.id)]
-        values.alumnos_inscriptos = [{"id":a.alumno.id, "label":a.alumno.nombre} for a in AlumnoInscripto.selectBy(curso=r.id)]
+        values.alumnos_inscriptos = [{"id":a.alumno.id, "label":a.alumno.shortrepr()} for a in AlumnoInscripto.selectBy(curso=r.id)]
        
         return dict(name=name, namepl=namepl, record=values, form=form)
 
@@ -243,6 +244,7 @@ class CursoController(controllers.Controller, identity.SecureResource):
         
         docentes = kw.get('docentes_curso', [])
         alumnos = kw.get('alumnos', [])
+        alumnos_inscriptos = AlumnoInscripto.selectBy(curso=id)
         """ levanto los doncentes del curso para ver cuales tengo que agregar """
         docentes_inscriptos = DocenteInscripto.selectBy(curso=id)
         
@@ -259,6 +261,12 @@ class CursoController(controllers.Controller, identity.SecureResource):
                 pass
          
         """ Verifico que los alumnos no esten ya inscriptos """
+        for a in alumnos_inscriptos:
+            if (a.id not in alumnos):
+                try:
+                    r.remove_alumno(a.alumno)
+                except: 
+                    pass
         for a in alumnos:
             try:
                 r.add_alumno(a)
@@ -301,6 +309,9 @@ class CursoController(controllers.Controller, identity.SecureResource):
                     continue
                 try:
                     u = Alumno(row[0], nombre=row[1])
+                except:
+                    u = Alumno.byPadron(row[0])
+                try:
                     u.email = row[2]
                     u.telefono = row[3]
                     u.contrasenia = row[0]
index 6be17575a0d7b2e2b7869f8bdb21bc98d0808e8a..e6e3e49858a0076a868772ea5799950042a411a4 100644 (file)
@@ -240,7 +240,7 @@ class GrupoController(controllers.Controller, identity.SecureResource):
                 alumno=Alumno.byPadron(kw['responsable'])).getOne()
         except SQLObjectNotFound:
             flash(_(u'El responsable %s no existe') % resp)
-            raise redirect('list')
+            raise redirect('../list')
         kw['responsable'] = resp
         r = validate_set(id, kw)
         flash(_(u'El %s fue actualizado.') % name)