From 4970528796ca464949d120f8b70247eb81ff7a48 Mon Sep 17 00:00:00 2001 From: Ricardo Markiewicz Date: Mon, 26 Feb 2007 05:31:27 +0000 Subject: [PATCH] Mass upload de alumnos Podria llegar a faltar una ventanita intermedia que diga que registros se agregaron bien y cuales mal (por ejemplo si hay algun alumno duplicado) --- doc/alumnos_test.csv | 2 ++ sercom/subcontrollers/alumno/__init__.py | 23 +++++++++++++++++++ .../subcontrollers/alumno/templates/list.kid | 1 + 3 files changed, 26 insertions(+) create mode 100644 doc/alumnos_test.csv diff --git a/doc/alumnos_test.csv b/doc/alumnos_test.csv new file mode 100644 index 0000000..188f9a0 --- /dev/null +++ b/doc/alumnos_test.csv @@ -0,0 +1,2 @@ +78226,Ricardo Markiewicz,rmarkie@fi.uba.ar,45524413 +12345,pepe le pua,bla@ble.com, diff --git a/sercom/subcontrollers/alumno/__init__.py b/sercom/subcontrollers/alumno/__init__.py index 9e8c476..b3da1ad 100644 --- a/sercom/subcontrollers/alumno/__init__.py +++ b/sercom/subcontrollers/alumno/__init__.py @@ -142,5 +142,28 @@ class AlumnoController(controllers.Controller, identity.SecureResource): r.destroySelf() flash(_(u'El %s fue eliminado permanentemente.') % name) raise redirect('../list') + + @expose(template='kid:%s.templates.from_file' % __name__) + def from_file(self): + return dict() + + @expose() + def from_file_add(self, archivo): + """ Se espera : + padron,nombre,email,telefono + """ + import csv + lines = archivo.file.read().split('\n') + 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') #}}} diff --git a/sercom/subcontrollers/alumno/templates/list.kid b/sercom/subcontrollers/alumno/templates/list.kid index 4bce498..0afdddf 100644 --- a/sercom/subcontrollers/alumno/templates/list.kid +++ b/sercom/subcontrollers/alumno/templates/list.kid @@ -41,6 +41,7 @@
Agregar +Agregar desde Archivo