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
#}}}
#{{{ Configuración
return val.validate_del(cls, name, id)
#}}}
-def get_ejercicios():
- return [(fk1.id, fk1.shortrepr()) for fk1 in Ejercicio.select()]
-
def get_docentes():
- return [(fk1.id, fk1.shortrepr()) for fk1 in Docente.select()]
-
-def get_alumnos():
- return [(fk1.id, fk1.shortrepr()) for fk1 in Alumno.select()]
-
-def get_grupos():
- return [(fk1.id, fk1.shortrepr()) for fk1 in Grupo.select()]
+ return [(fk1.id, fk1.shortrepr()) for fk1 in Docente.selectBy(activo=True)]
#{{{ Formulario
numero = W.TextField(label=_(u'Numero'),
help_text=_(u'Requerido'),
validator=V.Number(min=1, max=2, strip=True))
- descripcion = W.TextArea(name='descripcion', label=_(u'Descripcion'),
- help_text=_(u'Descripcion.'),
+ descripcion = W.TextField(label=_(u'Descripción'),
+ help_text=_(u'Descripción.'),
validator=V.UnicodeString(not_empty=False, strip=True))
#docentes = W.MultipleSelectField(name="docentes",
require = identity.has_permission('admin')
curso_alumno = CursoAlumnoController()
alumno = AlumnoInscriptoController()
+ grupo = GrupoController()
@expose()
def default(self, tg_errors=None):
def edit(self, id, **kw):
"""Edit record in model"""
r = validate_get(id)
- class EmptyClass:
- pass
- values = EmptyClass()
- values.id = r.id
- values.anio = r.anio
- values.numero = r.numero
- values.cuatrimestre = r.cuatrimestre
- values.cursoID = r.id
- values.descripcion = r.descripcion
# cargo la lista con los docentes asignados al curso
- values.docentes_to = [{"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)
+ 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]
+ return dict(name=name, namepl=namepl, record=r, form=form)
@validate(form=form)
@error_handler(edit)
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)
if c[0].nota > 7:
correctas += 1
else:
- col["E"+str(ej.numero)+str(ins.numero)] = ""
+ col["E"+str(ej.numero)+str(ins.numero)] = ""
col["EA"] = correctas
col["NP"] = i.nota_practica
col["NF"] = i.nota_final
s = ",".join(cols) + "\n"
for i in rows:
s = s + ",".join(i) + "\n"
-
return s
#}}}