#}}}
ajax = u"""
- function makeOption(option) {
- return OPTION({"value": option.value}, option.text);
- }
-
- function moveOption( fromSelect, toSelect) {
- // add 'selected' nodes toSelect
- appendChildNodes(toSelect,
- map( makeOption,ifilter(itemgetter('selected'), $(fromSelect).options)));
- // remove the 'selected' fromSelect
- replaceChildNodes(fromSelect,
- list(ifilterfalse(itemgetter('selected'), $(fromSelect).options))
- );
- }
-
function alumnos_agregar_a_la_lista(texto, lista)
{
t = MochiKit.DOM.getElement(texto);
var d = loadJSONDoc(url);
d.addCallbacks(procesar, err);
}
-
+
function onsubmit()
{
/* TODO : Validar datos y evitar el submit si no esta completo */
options=get_docentes,
validator=V.Int(not_empty=True))
addDocente = W.Button(default='Asignar', label='',
- attrs=dict( onclick='moveOption("form_docentes","form_docentes_curso")'))
+ attrs=dict( onclick='mover("form_docentes","form_docentes_curso")'))
remDocente = W.Button(default='Remover', label='',
- attrs=dict( onclick='moveOption("form_docentes_curso","form_docentes")'))
+ attrs=dict( onclick='remover("form_docentes_curso","form_docentes")'))
docentes_curso = W.MultipleSelectField(name="docentes_curso",
label=_(u'Docentes del curso'),
attrs=dict(style='width:300px'),
values.cursoID = r.id
values.descripcion = r.descripcion
# cargo la lista con los docentes asignados al curso
- values.docentes_curso = [{"id":d.docente.id, "label":d.docente.nombre} for d in DocenteInscripto.selectBy(curso=r.id)]
+ 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)]
return dict(name=name, namepl=namepl, record=values, form=form)
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, id):
+ return dict(cursoID=int(id))
+
+ @expose(template='kid:%s.templates.import_results' % __name__)
+ def from_file_add(self, id, archivo):
+ """ Se espera :
+ padron,nombre,email,telefono
+ """
+ import csv
+ lines = archivo.file.read().split('\n')
+ ok = []
+ fail = []
+ curso = Curso.get(int(id))
+ for line in lines:
+ for row in csv.reader([line]):
+ if row == []:
+ continue
+ try:
+ u = Alumno(row[0], nombre=row[1])
+ u.email = row[2]
+ u.telefono = row[3]
+ u.contrasenia = row[0]
+ u.activo = True
+ curso.add_alumno(u)
+ ok.append(row)
+ except Exception, e:
+ row.append(str(e))
+ fail.append(row)
+ return dict(ok=ok, fail=fail)
#}}}