from turbogears import paginate
from docutils.core import publish_parts
from sercom.subcontrollers import validate as val
-from sercom.model import Curso, Correccion, Ejercicio, Alumno, Docente, Grupo, DocenteInscripto
+from sercom.model import Curso, Correccion, Ejercicio, Alumno, Docente, Grupo, DocenteInscripto, Rol
from curso_alumno import *
from sqlobject import *
from sqlobject.dberrors import *
from sercom.widgets import *
from alumno import AlumnoInscriptoController
from grupo import GrupoController
+from ejercicio import EjercicioController
+from docente import DocenteInscriptoController
#}}}
#{{{ Configuración
curso_alumno = CursoAlumnoController()
alumno = AlumnoInscriptoController()
grupo = GrupoController()
+ ejercicio = EjercicioController()
+ docente = DocenteInscriptoController()
@expose()
def default(self, tg_errors=None):
@paginate('records')
def list(self):
"""List records in model"""
- r = cls.select()
+ r = cls.select().orderBy((-cls.q.anio, -cls.q.cuatrimestre, cls.q.numero))
return dict(records=r, name=name, namepl=namepl)
@expose()
"""Edit record in model"""
r = validate_get(id)
# cargo la lista con los docentes asignados al curso
- r.docentes_to = [{"id":d.docente.id, "label":d.docente.shortrepr()} for d in r.docentes]
- r.alumnos_inscriptos = [{"id":a.alumno.id, "label":a.alumno.shortrepr()} for a in r.alumnos]
+ r.docentes_to = [{"id":d.docente.id, "label":d.docente.shortrepr().replace("'", "\\'")} for d in r.docentes]
+ r.alumnos_inscriptos = [{"id":a.alumno.id, "label":a.alumno.shortrepr().replace("'", "\\'")} for a in r.alumnos]
return dict(name=name, namepl=namepl, record=r, form=form)
@validate(form=form)
if row == []:
continue
try:
- u = Alumno(row[0], nombre=row[1])
+ u = Alumno(row[0], nombre=row[1], roles=[Rol.by_nombre('alumno')])
except:
u = Alumno.byPadron(row[0])
try:
u.email = row[2]
u.telefono = row[3]
- u.contrasenia = row[0]
+ u.password = row[0]
u.activo = True
curso.add_alumno(u)
ok.append(row)
miembro = Grupo.selectByAlumno(i.alumno)
if miembro.count() > 0:
col["Grupo"] = miembro[0].grupo.shortrepr()
+ else:
+ col["Grupo"] = ""
correctas = 0
for ej in r.ejercicios:
for ins in ej.instancias:
# Busco la correccion del grupo
g = Grupo.selectByAlumno(i.alumno).getOne()
c = Correccion.selectBy(instancia=ins, entregador=g.grupo)
- print " ", list(c)
else:
- print "Alumno"
# Busco la correccion del alumno
c = Correccion.selectBy(instancia=ins, entregador=i)
if c.count() > 0:
col["E"+str(ej.numero)+str(ins.numero)] = c[0].nota
- if c[0].nota > 7:
+ if c[0].nota >= 4:
correctas += 1
else:
col["E"+str(ej.numero)+str(ins.numero)] = ""
miembro = Grupo.selectByAlumno(i.alumno)
if miembro.count() > 0:
col.append(miembro[0].grupo.shortrepr())
+ else:
+ col.append("")
correctas = 0
for ej in r.ejercicios:
for ins in ej.instancias:
c = Correccion.selectBy(instancia=ins, entregador=i)
if c.count() > 0:
col.append(str(c[0].nota))
- if c[0].nota > 7:
+ if c[0].nota > 4:
correctas += 1
else:
col.append("")