X-Git-Url: https://git.llucax.com/software/sercom.git/blobdiff_plain/134cb2d61093217000ace564978667f5a4828c5a..2105d1bec3dccbb8588be2453d15ea82aab90619:/sercom/subcontrollers/curso/__init__.py diff --git a/sercom/subcontrollers/curso/__init__.py b/sercom/subcontrollers/curso/__init__.py index de16547..2ee0815 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 +from sercom.model import Curso, Ejercicio, Alumno, Docente, Grupo #}}} #{{{ Configuración @@ -30,39 +30,47 @@ def validate_new(data): return val.validate_new(cls, name, data) #}}} +def get_ejercicios(): + return [(fk1.id, fk1.shortrepr()) for fk1 in Ejercicio.select()] + +def get_docentes(): + return [(fk1.id, fk1.shortrepr()) for fk1 in Docente.select()] + +def get_alumnos(): + return [(fk1.id, fk1.shortrepr()) for fk1 in Alumno.select()] + +def get_grupos(): + return [(fk1.id, fk1.shortrepr()) for fk1 in Grupo.select()] + #{{{ Formulario class CursoForm(W.TableForm): - fields = [ - W.TextField(name='anio', label=_(u'Anio'), + class Fields(W.WidgetsList): + anio = W.TextField(label=_(u'Anio'), help_text=_(u'Requerido y único.'), - validator=V.Number(min=4, max=4, strip=True)), - W.TextField(name='cuatrimestre', label=_(u'Cuatrimestre'), + validator=V.Number(min=4, max=4, strip=True)) + cuatrimestre = W.TextField(label=_(u'Cuatrimestre'), help_text=_(u'Requerido.'), - validator=V.Number(min=1, max=1, strip=True)), - W.TextField(name='numero', label=_(u'Numero'), + validator=V.Number(min=1, max=1, strip=True)) + numero = W.TextField(label=_(u'Numero'), help_text=_(u'Requerido'), - validator=V.Number(min=1, max=2, strip=True)), - ] + validator=V.Number(min=1, max=2, strip=True)) + 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)) +# grupos = W.MultipleSelectField(name="grupos", label=_(u'Grupos'), +# help_text=_(u'Grupos del curso'), options=get_grupos, +# validator=V.Int(not_empty=False)) +# ejercicios = W.MultipleSelectField(name="ejercicios", label=_(u'Ejercicios'), +# help_text=_(u'Ejercicios'), options=get_ejercicios, +# validator=V.Int(not_empty=True)) + fields = Fields() javascript = [W.JSSource("MochiKit.DOM.focusOnLoad('anio');")] - # ver que otros campos agregar. -""" - W.TextField(name='telefono', label=_(u'Teléfono'), - #help_text=_(u'Texto libre para teléfono, se puede incluir ' - # 'horarios o varias entradas.'), - validator=V.UnicodeString(not_empty=False, min=7, max=255, - strip=True)), - W.TextField(name='nota', label=_(u'Nota'), - #help_text=_(u'Texto libre para teléfono, se puede incluir ' - # 'horarios o varias entradas.'), - validator=V.Number(not_empty=False, strip=True)), - W.TextArea(name='observaciones', label=_(u'Observaciones'), - #help_text=_(u'Observaciones.'), - validator=V.UnicodeString(not_empty=False, strip=True)), - W.CheckBox(name='activo', label=_(u'Activo'), default=1, - #help_text=_(u'Si no está activo no puede ingresar al sistema.'), - validator=V.Bool(if_empty=1)), -""" - form = CursoForm() #}}} @@ -130,10 +138,6 @@ class CursoController(controllers.Controller, identity.SecureResource): def show(self,id, **kw): """Show record in model""" r = validate_get(id) - if r.observaciones is None: - r.obs = '' - else: - r.obs = publish_parts(r.observaciones, writer_name='html')['html_body'] return dict(name=name, namepl=namepl, record=r) @expose()