From b32a28c8416682ab36ef6c6d7debe2fde5a303af Mon Sep 17 00:00:00 2001 From: tailor Date: Tue, 27 Feb 2007 22:57:57 +0000 Subject: [PATCH] curso * Un poco de curso como para ir tomandole la mano * Sinceramente, es para mandar algo nomas.. --- sercom/subcontrollers/curso/__init__.py | 35 +++++++++++++------ .../subcontrollers/curso/templates/list.kid | 8 ++--- 2 files changed, 28 insertions(+), 15 deletions(-) diff --git a/sercom/subcontrollers/curso/__init__.py b/sercom/subcontrollers/curso/__init__.py index 2ee0815..bd66334 100644 --- a/sercom/subcontrollers/curso/__init__.py +++ b/sercom/subcontrollers/curso/__init__.py @@ -10,7 +10,7 @@ from turbogears import identity from turbogears import paginate from docutils.core import publish_parts from sercom.subcontrollers import validate as val -from sercom.model import Curso, Ejercicio, Alumno, Docente, Grupo +from sercom.model import Curso, Ejercicio, Alumno, Docente, Grupo, DocenteInscripto #}}} #{{{ Configuración @@ -57,16 +57,16 @@ class CursoForm(W.TableForm): descripcion = W.TextArea(name='descripcion', label=_(u'Descripcion'), help_text=_(u'Descripcion.'), validator=V.UnicodeString(not_empty=False, strip=True)) -# docentes = W.MultipleSelectField(name="docentes", label=_(u'Docentes'), -# help_text=_(u'Docentes asignados al curso'), options=get_docentes, -# validator=V.Int(not_empty=True)) -# alumnos = W.MultipleSelectField(name="alumnos", label=_(u'Alumnos'), -# help_text=_(u'Alumnos del curso'), options=get_alumnos, -# validator=V.Int(not_empty=True)) + docentes = W.MultipleSelectField(name="docentes", label=_(u'Docentes'), + help_text=_(u'Docentes asignados al curso'), options=get_docentes, + validator=V.Int(not_empty=True)) + alumnos = W.MultipleSelectField(name="alumnos", label=_(u'Alumnos'), + help_text=_(u'Alumnos del curso'), options=get_alumnos, + validator=V.Int(not_empty=True)) # grupos = W.MultipleSelectField(name="grupos", label=_(u'Grupos'), -# help_text=_(u'Grupos del curso'), options=get_grupos, +# help_text=_(u'Grupos del curso'), options=get_grupos, # validator=V.Int(not_empty=False)) -# ejercicios = W.MultipleSelectField(name="ejercicios", label=_(u'Ejercicios'), +# ejercicios = W.MultipleSelectField(name="ejercicios", label=_(u'Ejercicios'), # help_text=_(u'Ejercicios'), options=get_ejercicios, # validator=V.Int(not_empty=True)) fields = Fields() @@ -115,10 +115,23 @@ class CursoController(controllers.Controller, identity.SecureResource): @expose() def create(self, **kw): """Save or create record to model""" - validate_new(kw) + r = validate_new(kw) + docentes = kw.get('docentes', []) + alumnos = kw.get('alumnos', []) + """ Elimino todos los docentes asignados al curso y los agrego nuevamente""" + for d in DocenteInscripto.selectBy(curso=r): + d.destroySelf() + """ Agrego la nueva seleccion """ + for d in docentes: + r.add_docente(Docente(d)) + """ Elimino a los alumnos y los vuelvo a agregar """ + for a in AlumnoInscripto.selectBy(curso=r): + d.destroySelf() + for a in alumnos: + r.add_alumno(Alumno(a)) flash(_(u'Se creó un nuevo %s.') % name) raise redirect('list') - + @expose(template='kid:%s.templates.edit' % __name__) def edit(self, id, **kw): """Edit record in model""" diff --git a/sercom/subcontrollers/curso/templates/list.kid b/sercom/subcontrollers/curso/templates/list.kid index d95f542..52d7c19 100644 --- a/sercom/subcontrollers/curso/templates/list.kid +++ b/sercom/subcontrollers/curso/templates/list.kid @@ -32,10 +32,10 @@ cuatrimestre anio descripcion - docentes - alumnos - grupos - ejercicios + Docentes + Alumnos + Grupos + Ejercicio Editar Eliminar -- 2.43.0