From fb3f7fce5b6f99ff075f4a7b085588b50e14b7e2 Mon Sep 17 00:00:00 2001 From: Leandro Lucarella Date: Thu, 8 Mar 2007 14:54:24 +0000 Subject: [PATCH 1/1] =?utf8?q?Mejorar=20model.Grupo=20para=20manejo=20de?= =?utf8?q?=20miembros=20y=20tutores.=20Ahora=20los=20m=C3=A9todos=20remove?= =?utf8?q?=5Fmiembro()=20y=20remove=5Falumno()=20en=20vez=20de=20eliminar?= =?utf8?q?=20las=20clases=20de=20la=20DB=20les=20setea=20la=20fecha=20de?= =?utf8?q?=20baja.=20Tambi=C3=A9n=20se=20agregan=20las=20propiedades=20'al?= =?utf8?q?umnos'=20y=20'docentes'=20que=20devuelven=20una=20lista=20de=20A?= =?utf8?q?lumnoInscripto=20y=20DocenteInscripto=20respectivamente=20(no=20?= =?utf8?q?devuelve=20Miembro/Tutor!)=20con=20los=20objetos=20*activos*=20(?= =?utf8?q?es=20decir,=20baja=3DNone).?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- sercom/model.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/sercom/model.py b/sercom/model.py index 7d4ed29..dc1beed 100644 --- a/sercom/model.py +++ b/sercom/model.py @@ -629,6 +629,14 @@ class Grupo(Entregador): #{{{ for t in tutores: self.add_tutor(t) + _doc_alumnos = 'Devuelve una lista de AlumnoInscriptos **activos**.' + def _get_alumnos(self): + return list([m.alumno for m in Miembro.selectBy(grupo=self, baja=None)]) + + _doc_docentes = 'Devuelve una lista de DocenteInscriptos **activos**.' + def _get_docentes(self): + return list([t.docente for t in Tutor.selectBy(grupo=self, baja=None)]) + def add_miembro(self, alumno, **kw): if isinstance(alumno, AlumnoInscripto): alumno = alumno.id @@ -637,8 +645,8 @@ class Grupo(Entregador): #{{{ def remove_miembro(self, alumno): if isinstance(alumno, AlumnoInscripto): alumno = alumno.id - # FIXME self.id - Miembro.pk.get(self.id, alumno).destroySelf() + m = Miembro.selectBy(grupo=self, alumnoID=alumno, baja=None).getOne() + m.baja = DateTimeCol.now() def add_tutor(self, docente, **kw): if isinstance(docente, DocenteInscripto): @@ -648,8 +656,8 @@ class Grupo(Entregador): #{{{ def remove_tutor(self, docente): if isinstance(docente, DocenteInscripto): docente = docente.id - # FIXME self.id - Tutor.pk.get(self.id, docente).destroySelf() + t = Tutor.selectBy(grupo=self, alumnoID=alumno, baja=None) + t.baja = DateTimeCol.now() def __repr__(self): return 'Grupo(id=%s, nombre=%s, responsable=%s, nota=%s, ' \ -- 2.43.0