- def add_miembro(self, alumno, **kargs):
- return Miembro(grupo=self, alumno=alumno, **kargs)
+ def set(self, miembros=None, tutores=None, **kw):
+ super(Grupo, self).set(**kw)
+ if miembros is not None:
+ for m in Miembro.selectBy(grupo=self):
+ m.destroySelf()
+ for m in miembros:
+ self.add_miembro(m)
+ if tutores is not None:
+ for t in Tutor.selectBy(grupo=self):
+ t.destroySelf()
+ for t in tutores:
+ self.add_tutor(t)
+
+ def add_miembro(self, alumno, **kw):
+ if isinstance(alumno, Alumno):
+ kw['alumno'] = alumno
+ else:
+ kw['alumnoID'] = alumno
+ return Miembro(grupo=self, **kw)
+
+ def remove_miembro(self, alumno):
+ if isinstance(alumno, Alumno):
+ 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):
+ kw['docente'] = docente
+ else:
+ kw['docenteID'] = docente
+ return Tutor(grupo=self, **kw)