def remove_docente(self, docente):
if isinstance(docente, Docente):
- DocenteInscripto.pk.get(curso=self, docente=docente).destroySelf()
- else:
- DocenteInscripto.pk.get(curso=self, docenteID=docente).destroySelf()
+ docente = docente.id
+ # FIXME esto deberian arreglarlo en SQLObject y debería ser
+ # DocenteInscripto.pk.get(self, docente).destroySelf()
+ DocenteInscripto.pk.get(self.id, docente).destroySelf()
def add_alumno(self, alumno, **kw):
if isinstance(alumno, Alumno):
def remove_alumno(self, alumno):
if isinstance(alumno, Alumno):
- AlumnoInscripto.pk.get(curso=self, alumno=alumno).destroySelf()
- else:
- AlumnoInscripto.pk.get(curso=self, alumnoID=alumno).destroySelf()
+ alumno = alumno.id
+ # FIXME esto deberian arreglarlo en SQLObject
+ AlumnoInscripto.pk.get(self.id, alumno).destroySelf()
def add_grupo(self, nombre, **kw):
return Grupo(curso=self, nombre=unicode(nombre), **kw)
def remove_grupo(self, nombre):
- Grupo.pk.get(curso=self, nombre=nombre).destroySelf()
+ # FIXME esto deberian arreglarlo en SQLObject
+ Grupo.pk.get(self.id, nombre).destroySelf()
def add_ejercicio(self, numero, enunciado, **kw):
if isinstance(enunciado, Enunciado):
return Ejercicio(curso=self, numero=numero, **kw)
def remove_ejercicio(self, numero):
- Ejercicio.pk.get(curso=self, numero=numero).destroySelf()
+ # FIXME esto deberian arreglarlo en SQLObject
+ Ejercicio.pk.get(self.id, numero).destroySelf()
def __repr__(self):
return 'Curso(id=%s, anio=%s, cuatrimestre=%s, numero=%s, ' \
# Joins
entregas = MultipleJoin('Entrega', joinColumn='instancia_id')
correcciones = MultipleJoin('Correccion', joinColumn='instancia_id')
- casos_de_prueba = RelatedJoin('CasoDePrueba', # TODO CasoInstancia -> private
- addRemoveName='_caso_de_prueba')
def __init__(self, tareas=(), **kw):
super(InstanciaDeEntrega, self).__init__(**kw)
self.add_tutor(t)
def add_miembro(self, alumno, **kw):
- if isinstance(alumno, Alumno):
+ if isinstance(alumno, AlumnoInscripto):
kw['alumno'] = alumno
else:
kw['alumnoID'] = alumno
return Miembro(grupo=self, **kw)
def remove_miembro(self, alumno):
- if isinstance(alumno, Alumno):
+ if isinstance(alumno, AlumnoInscripto):
Miembro.pk.get(grupo=self, alumno=alumno).destroySelf()
else:
Miembro.pk.get(grupo=self, alumnoID=alumno).destroySelf()
def add_tutor(self, docente, **kw):
- if isinstance(docente, Docente):
+ if isinstance(docente, DocenteInscripto):
kw['docente'] = docente
else:
kw['docenteID'] = docente
return Tutor(grupo=self, **kw)
def remove_tutor(self, docente):
- if isinstance(docente, Alumno):
+ if isinstance(docente, DocenteInscripto):
Tutor.pk.get(grupo=self, docente=docente).destroySelf()
else:
Tutor.pk.get(grupo=self, docenteID=docente).destroySelf()
nota = DecimalCol(size=3, precision=1, default=None)
observaciones = UnicodeCol(default=None)
+ def _get_entregas(self):
+ return list(Entrega.selectBy(instancia=self.instancia, entregador=self.entregador))
+
def __repr__(self):
return 'Correccion(instancia=%s, entregador=%s, entrega=%s, ' \
'corrector=%s, asignado=%s, corregido=%s, nota=%s, ' \
self.corregido, self.nota, self.observaciones)
def shortrepr(self):
+ if not self.corrector:
+ return '%s' % self.entrega.shortrepr()
return '%s,%s' % (self.entrega.shortrepr(), self.corrector.shortrepr())
#}}}