]> git.llucax.com Git - software/sercom.git/commitdiff
Agrego la fk de grupo para poder agregar grupos.
authorRicardo Markiewicz <rmarkie@fi.uba.ar>
Mon, 26 Feb 2007 03:09:05 +0000 (03:09 +0000)
committerRicardo Markiewicz <rmarkie@fi.uba.ar>
Mon, 26 Feb 2007 03:09:05 +0000 (03:09 +0000)
sercom/subcontrollers/grupo/__init__.py
sercom/subcontrollers/grupo/templates/list.kid

index 58e6d95ba137bebad1869eb91f0c454e45337632..be0792766c3ea5aa813301e04fbac6ee7cf6832e 100644 (file)
@@ -17,16 +17,36 @@ from sercom.model import Curso, AlumnoInscripto, Docente, Grupo
 cls = Grupo
 name = 'grupo'
 namepl = 'grupos'
 cls = Grupo
 name = 'grupo'
 namepl = 'grupos'
+
+fkcls = Curso
+fkname = 'curso'
+fknamepl = fkname + 's'
 #}}}
 
 #{{{ Validación
 #}}}
 
 #{{{ Validación
+def validate_fk(data):
+    fk = data.get(fkname + 'ID', None)
+    if fk == 0: fk = None
+    if fk is not None:
+        try:
+            fk = fkcls.get(fk)
+        except LookupError:
+            flash(_(u'No se pudo crear el nuevo %s porque el %s con '
+                'identificador %d no existe.' % (name, fkname, fk)))
+            raise redirect('new', **data)
+    data.pop(fkname + 'ID', None)
+    data[fkname] = fk
+    return fk
+
 def validate_get(id):
     return val.validate_get(cls, name, id)
 
 def validate_set(id, data):
 def validate_get(id):
     return val.validate_get(cls, name, id)
 
 def validate_set(id, data):
+    validate_fk(data)
     return val.validate_set(cls, name, id, data)
 
 def validate_new(data):
     return val.validate_set(cls, name, id, data)
 
 def validate_new(data):
+    validate_fk(data)
     return val.validate_new(cls, name, data)
 #}}}
 
     return val.validate_new(cls, name, data)
 #}}}
 
@@ -39,7 +59,7 @@ def get_cursos():
 
 class GrupoForm(W.TableForm):
     class Fields(W.WidgetsList):
 
 class GrupoForm(W.TableForm):
     class Fields(W.WidgetsList):
-       curso = W.SingleSelectField(label=_(u'Curso'), options = get_cursos,
+       curso = W.SingleSelectField(name='cursoID', label=_(u'Curso'), options = get_cursos,
        validator = V.Int(not_empty=True))
        nombre = W.TextField(label=_(u'Nombre'), validator=V.UnicodeString(not_empty=True,strip=True))
 
        validator = V.Int(not_empty=True))
        nombre = W.TextField(label=_(u'Nombre'), validator=V.UnicodeString(not_empty=True,strip=True))
 
index 9fcdfaf2075c67724fd758ddaf161bbf18314ba5..6d7d4af3fc1d9bf20aa4e276f653a7512bc536bd 100644 (file)
@@ -14,6 +14,7 @@
         <th>Curso</th>
         <th>Nombre</th>
         <th>Responsable</th>
         <th>Curso</th>
         <th>Nombre</th>
         <th>Responsable</th>
+        <th>Operaciones</th>
     </tr>
     <tr py:for="record in records">
         <td><span py:replace="record.curso.shortrepr()">curso</span></td>
     </tr>
     <tr py:for="record in records">
         <td><span py:replace="record.curso.shortrepr()">curso</span></td>