]> git.llucax.com Git - software/sercom.git/commitdiff
Resultados del mass update
authorRicardo Markiewicz <rmarkie@fi.uba.ar>
Mon, 26 Feb 2007 06:06:40 +0000 (06:06 +0000)
committerRicardo Markiewicz <rmarkie@fi.uba.ar>
Mon, 26 Feb 2007 06:06:40 +0000 (06:06 +0000)
Faltaria ver si se puede capturar los errores de manera mas amigable

sercom/subcontrollers/alumno/__init__.py
sercom/subcontrollers/alumno/templates/import_results.kid [new file with mode: 0644]

index b3da1ad2da340a03c8f33bf662e1354f6152e92f..7cdb4552ce457489fddde56c7cf027833dc5fdc0 100644 (file)
@@ -147,23 +147,29 @@ class AlumnoController(controllers.Controller, identity.SecureResource):
     def from_file(self):
         return dict()
 
     def from_file(self):
         return dict()
 
-    @expose()
+    @expose(template='kid:%s.templates.import_results' % __name__)
     def from_file_add(self, archivo):
         """ Se espera :
              padron,nombre,email,telefono
         """
         import csv
         lines = archivo.file.read().split('\n')
     def from_file_add(self, archivo):
         """ Se espera :
              padron,nombre,email,telefono
         """
         import csv
         lines = archivo.file.read().split('\n')
+        ok = []
+        fail = []
         for line in lines:
             for row in csv.reader([line]):
                 if row == []:
                     continue
         for line in lines:
             for row in csv.reader([line]):
                 if row == []:
                     continue
-                print row[1]
-                u = Alumno(row[0], nombre=row[1])
-                u.email = row[2]
-                u.telefono = row[3]
-                u.contrasenia = row[0]
-                u.activo = True
-        raise redirect('./list')
+                try:
+                    u = Alumno(row[0], nombre=row[1])
+                    u.email = row[2]
+                    u.telefono = row[3]
+                    u.contrasenia = row[0]
+                    u.activo = True
+                    ok.append(row)
+                except Exception, e:
+                    row.append(str(e))
+                    fail.append(row)
+        return dict(ok=ok, fail=fail)
 #}}}
 
 #}}}
 
diff --git a/sercom/subcontrollers/alumno/templates/import_results.kid b/sercom/subcontrollers/alumno/templates/import_results.kid
new file mode 100644 (file)
index 0000000..994b08c
--- /dev/null
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://purl.org/kid/ns#"
+    py:extends="'../../../templates/master.kid'">
+<head>
+<meta content="text/html; charset=utf-8" http-equiv="Content-Type" py:replace="''"/>
+<title>new</title>
+</head>
+<body>
+
+<h1>Agregar desde Archivo - Resultados</h1>
+
+<h2>Se agregagon con éxito los siguientes alumnos</h2>
+       <ul>
+               <li py:for="i in ok">${i[1]}</li>
+</ul>
+
+<h2>No se pudieron agregar los siguientes alumnos</h2>
+       <ul>
+               <li py:for="i in fail">${i[1]} - ${i[4]}</li>
+</ul>
+<br/>
+<a href="${tg.url('/alumno/list')}">Volver</a>
+
+</body>
+</html>