From 0893de490539a79b3317a8abc9499bbe856af25f Mon Sep 17 00:00:00 2001 From: Leandro Lucarella Date: Thu, 15 Mar 2007 15:54:20 +0000 Subject: [PATCH] =?utf8?q?Grupo.add=5Fmiembro()=20y=20.add=5Ftutor()=20aho?= =?utf8?q?ra=20s=C3=B3lo=20ponen=20baja=3DNone=20si=20ya=20exist=C3=ADa.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- sercom/model.py | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/sercom/model.py b/sercom/model.py index 3442a19..c292de8 100644 --- a/sercom/model.py +++ b/sercom/model.py @@ -634,7 +634,16 @@ class Grupo(Entregador): #{{{ def add_miembro(self, alumno, **kw): if isinstance(alumno, AlumnoInscripto): alumno = alumno.id - return Miembro(grupo=self, alumnoID=alumno, **kw) + # FIXME acá habría que sacarle la unicidad a Miembro.pk para que + # un alumno pueda ser miembro varias veces del mismo grupo, de + # manera de tener la historia completa, pero hay que tener cuidad + # y arreglar todos los lugares donde se asume esa unicidad + try: + m = Miembro.selectBy(grupo=self, alumnoID=alumno).getOne() + m.baja = None # si ya existía, le sacamos la fecha de baja + return m + except SQLObjectNotFound: # creo uno nuevo + return Miembro(grupo=self, alumnoID=alumno, **kw) def remove_miembro(self, alumno): if isinstance(alumno, AlumnoInscripto): @@ -645,7 +654,13 @@ class Grupo(Entregador): #{{{ def add_tutor(self, docente, **kw): if isinstance(docente, DocenteInscripto): docente = docente.id - return Tutor(grupo=self, docenteID=docente, **kw) + # FIXME ídem add_miembro() + try: + t = Tutor.selectBy(grupo=self, docenteID=alumno).getOne() + t.baja = None # si ya existía, le sacamos la fecha de baja + return t + except SQLObjectNotFound: # creo uno nuevo + return Tutor(grupo=self, docenteID=docente, **kw) def remove_tutor(self, docente): if isinstance(docente, DocenteInscripto): -- 2.43.0