** cacheo la excepcion cuando falla la eliminacion de un curso
function alumnos_agregar_a_la_lista(texto, lista)
{
t = MochiKit.DOM.getElement(texto);
function alumnos_agregar_a_la_lista(texto, lista)
{
t = MochiKit.DOM.getElement(texto);
var d = loadJSONDoc(url);
d.addCallbacks(procesar, err);
}
var d = loadJSONDoc(url);
d.addCallbacks(procesar, err);
}
function onsubmit()
{
/* TODO : Validar datos y evitar el submit si no esta completo */
/* Selecciono todos los miembros si no, no llegan al controllere*/
l = MochiKit.DOM.getElement('form_alumnos');
function onsubmit()
{
/* TODO : Validar datos y evitar el submit si no esta completo */
/* Selecciono todos los miembros si no, no llegan al controllere*/
l = MochiKit.DOM.getElement('form_alumnos');
- for (i=0; i<l.options.length; i++) {
- l.options[i].selected = true;
+ for (i=0; i<l.options.length; i++) {
+ l.options[i].selected = true;
}
/* Selecciono todos los miembros si no, no llegan al controllere*/
l = MochiKit.DOM.getElement('form_docentes_curso');
}
/* Selecciono todos los miembros si no, no llegan al controllere*/
l = MochiKit.DOM.getElement('form_docentes_curso');
- for (i=0; i<l.options.length; i++) {
- l.options[i].selected = true;
+ for (i=0; i<l.options.length; i++) {
+ l.options[i].selected = true;
}
return true; // Dejo hacer el submit
}
}
return true; // Dejo hacer el submit
}
descripcion = W.TextArea(name='descripcion', label=_(u'Descripcion'),
help_text=_(u'Descripcion.'),
validator=V.UnicodeString(not_empty=False, strip=True))
descripcion = W.TextArea(name='descripcion', label=_(u'Descripcion'),
help_text=_(u'Descripcion.'),
validator=V.UnicodeString(not_empty=False, strip=True))
docentes = W.MultipleSelectField(name="docentes",
label=_(u'Docentes'),
attrs=dict(style='width:300px'),
docentes = W.MultipleSelectField(name="docentes",
label=_(u'Docentes'),
attrs=dict(style='width:300px'),
del(kw['docentes_curso'])
del(kw['alumnos'])
r = validate_new(kw)
del(kw['docentes_curso'])
del(kw['alumnos'])
r = validate_new(kw)
- """ Agrego la nueva seleccion de docentes """
+ """ Agrego la nueva seleccion de docentes """
for d in docentes:
r.add_docente(d)
""" El curso es nuevo, por ende no hay alumnos inscriptos """
for d in docentes:
r.add_docente(d)
""" El curso es nuevo, por ende no hay alumnos inscriptos """
r.add_alumno(a)
flash(_(u'Se creó un nuevo %s.') % name)
raise redirect('list')
r.add_alumno(a)
flash(_(u'Se creó un nuevo %s.') % name)
raise redirect('list')
@expose(template='kid:%s.templates.edit' % __name__)
def edit(self, id, **kw):
"""Edit record in model"""
@expose(template='kid:%s.templates.edit' % __name__)
def edit(self, id, **kw):
"""Edit record in model"""
# 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.shortrepr()} for a in AlumnoInscripto.selectBy(curso=r.id)]
# 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.shortrepr()} for a in AlumnoInscripto.selectBy(curso=r.id)]
return dict(name=name, namepl=namepl, record=values, form=form)
@validate(form=form)
return dict(name=name, namepl=namepl, record=values, form=form)
@validate(form=form)
"""Save or create record to model"""
params = dict([(k,v) for (k,v) in kw.iteritems() if k in Curso.sqlmeta.columns.keys()])
r = validate_set(id, params)
"""Save or create record to model"""
params = dict([(k,v) for (k,v) in kw.iteritems() if k in Curso.sqlmeta.columns.keys()])
r = validate_set(id, params)
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)
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)
""" elimino a los docentes que no fueron seleccionados """
for di in docentes_inscriptos:
if di.id not in docentes:
r.remove_docente(di.docente)
""" elimino a los docentes que no fueron seleccionados """
for di in docentes_inscriptos:
if di.id not in docentes:
r.remove_docente(di.docente)
""" Agrego la nueva seleccion """
for d in docentes:
try:
r.add_docente(d)
except:
pass
""" Agrego la nueva seleccion """
for d in docentes:
try:
r.add_docente(d)
except:
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)
""" 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)
pass
for a in alumnos:
try:
pass
for a in alumnos:
try:
@expose()
def delete(self, id):
"""Destroy record in model"""
@expose()
def delete(self, id):
"""Destroy record in model"""
- r = validate_get(id)
- r.destroySelf()
+ try:
+ r = validate_get(id)
+ r.destroySelf()
+ except Exception, e:
+ flash(_(u'No se pudo eliminar el curso: %s' % e))
+ raise redirect('../list')
flash(_(u'El %s fue eliminado permanentemente.') % name)
raise redirect('../list')
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.from_file' % __name__)
def from_file(self, id):
return dict(cursoID=int(id))
except Exception, e:
row.append(str(e))
fail.append(row)
except Exception, e:
row.append(str(e))
fail.append(row)
- return dict(ok=ok, fail=fail)
+ return dict(ok=ok, fail=fail)