]> git.llucax.com Git - z.facultad/75.52/sercom.git/commitdiff
Muevo docente_inscripto dentro de Curso.
authorRicardo Markiewicz <rmarkie@fi.uba.ar>
Sun, 18 Mar 2007 17:43:12 +0000 (17:43 +0000)
committerRicardo Markiewicz <rmarkie@fi.uba.ar>
Sun, 18 Mar 2007 17:43:12 +0000 (17:43 +0000)
sercom/controllers.py
sercom/subcontrollers/__init__.py
sercom/subcontrollers/curso/__init__.py
sercom/subcontrollers/curso/docente/__init__.py [moved from sercom/subcontrollers/docente_inscripto/__init__.py with 73% similarity]
sercom/subcontrollers/curso/docente/templates/__init__.py [moved from sercom/subcontrollers/docente_inscripto/templates/__init__.py with 100% similarity]
sercom/subcontrollers/curso/docente/templates/edit.kid [moved from sercom/subcontrollers/docente_inscripto/templates/edit.kid with 60% similarity]
sercom/subcontrollers/curso/docente/templates/list.kid [moved from sercom/subcontrollers/docente_inscripto/templates/list.kid with 66% similarity]
sercom/subcontrollers/curso/docente/templates/new.kid [moved from sercom/subcontrollers/docente_inscripto/templates/new.kid with 52% similarity]
sercom/subcontrollers/curso/docente/templates/show.kid [moved from sercom/subcontrollers/docente_inscripto/templates/show.kid with 100% similarity]
sercom/subcontrollers/curso/templates/list.kid

index f80973100a1e4e1844c41f4889b029bfcd0c882e..cc237b83b12091e98e3d009c556898e47f152fda 100644 (file)
@@ -121,8 +121,6 @@ class Root(controllers.RootController):
 
     curso = CursoController()
 
 
     curso = CursoController()
 
-    docente_inscripto = DocenteInscriptoController()
-
     correccion = CorreccionController()
 
     admin = identity.SecureObject(CatWalk(model), identity.has_permission('admin'))
     correccion = CorreccionController()
 
     admin = identity.SecureObject(CatWalk(model), identity.has_permission('admin'))
index eadd6a057f81fd0023a0b734e959b677640df464..6bd2a35e0e7dd9eb7a40b863b2861f1b338b9bef 100644 (file)
@@ -2,7 +2,6 @@ from docente import DocenteController
 from alumno import AlumnoController
 from curso import CursoController
 from enunciado import EnunciadoController
 from alumno import AlumnoController
 from curso import CursoController
 from enunciado import EnunciadoController
-from docente_inscripto import DocenteInscriptoController
 from correccion import CorreccionController
 from misentregas import MisEntregasController
 from miscorrecciones import MisCorreccionesController
 from correccion import CorreccionController
 from misentregas import MisEntregasController
 from miscorrecciones import MisCorreccionesController
index 5380d434a5f71ecd113d79db721d532555735917..20c23107d4477db29908a1057942ea164f2d7e92 100644 (file)
@@ -18,6 +18,7 @@ from sercom.widgets import *
 from alumno import AlumnoInscriptoController
 from grupo import GrupoController
 from ejercicio import EjercicioController
 from alumno import AlumnoInscriptoController
 from grupo import GrupoController
 from ejercicio import EjercicioController
+from docente import DocenteInscriptoController
 #}}}
 
 #{{{ Configuración
 #}}}
 
 #{{{ Configuración
@@ -165,6 +166,7 @@ class CursoController(controllers.Controller, identity.SecureResource):
     alumno = AlumnoInscriptoController()
     grupo = GrupoController()
     ejercicio = EjercicioController()
     alumno = AlumnoInscriptoController()
     grupo = GrupoController()
     ejercicio = EjercicioController()
+    docente = DocenteInscriptoController()
 
     @expose()
     def default(self, tg_errors=None):
 
     @expose()
     def default(self, tg_errors=None):
similarity index 73%
rename from sercom/subcontrollers/docente_inscripto/__init__.py
rename to sercom/subcontrollers/curso/docente/__init__.py
index 84aa1790ce1b885fbf4e270f8f64f9445c6becc8..2f9437567a2e6c31391e2f1c0859b6baf50ff552 100644 (file)
@@ -2,7 +2,7 @@
 
 #{{{ Imports
 import cherrypy
 
 #{{{ Imports
 import cherrypy
-from turbogears import controllers, expose, redirect
+from turbogears import controllers, expose, redirect, url
 from turbogears import validate, flash, error_handler
 from turbogears import validators as V
 from turbogears import widgets as W
 from turbogears import validate, flash, error_handler
 from turbogears import validators as V
 from turbogears import widgets as W
@@ -34,14 +34,9 @@ def validate_new(data):
 def get_docentes():
     return [(fk1.id, fk1.shortrepr()) for fk1 in Docente.select()]
 
 def get_docentes():
     return [(fk1.id, fk1.shortrepr()) for fk1 in Docente.select()]
 
-def get_cursos():
-    return [(fk1.id, fk1.shortrepr()) for fk1 in Curso.select()]
-
 class DocenteInscriptoForm(W.TableForm):
     class Fields(W.WidgetsList):
 class DocenteInscriptoForm(W.TableForm):
     class Fields(W.WidgetsList):
-       curso = W.SingleSelectField(label=_(u'Curso'), options = get_cursos,
-       validator = V.Int(not_empty=True))
-
+       cursoID = W.HiddenField()
        docente = W.SingleSelectField(label=_(u'Docente'), options = get_docentes,
        validator = V.Int(not_empty=True))
 
        docente = W.SingleSelectField(label=_(u'Docente'), options = get_docentes,
        validator = V.Int(not_empty=True))
 
@@ -63,44 +58,49 @@ class DocenteInscriptoController(controllers.Controller, identity.SecureResource
     @expose()
     def default(self, tg_errors=None):
         """handle non exist urls"""
     @expose()
     def default(self, tg_errors=None):
         """handle non exist urls"""
-        raise redirect('list')
+        raise redirect(url('/curso/list'))
 
     @expose()
     def index(self):
 
     @expose()
     def index(self):
-        raise redirect('list')
+        raise redirect(url('/curso/list'))
+
 
     @expose(template='kid:%s.templates.list' % __name__)
     @paginate('records')
 
     @expose(template='kid:%s.templates.list' % __name__)
     @paginate('records')
-    def list(self):
+    def list(self, cursoID):
         """List records in model"""
         """List records in model"""
-        r = cls.select()
-        return dict(records=r, name=name, namepl=namepl)
-
-    @expose()
-    def activate(self, id, activo):
-        """Save or create record to model"""
-        r = validate_get(id)
-        raise redirect('../../list')
+        r = cls.select(cls.q.cursoID==cursoID)
+        return dict(records=r, name=name, namepl=namepl, curso=Curso.get(cursoID))
 
     @expose(template='kid:%s.templates.new' % __name__)
 
     @expose(template='kid:%s.templates.new' % __name__)
-    def new(self, **kw):
+    def new(self, cursoID, **kw):
         """Create new records in model"""
         """Create new records in model"""
-        return dict(name=name, namepl=namepl, form=form, values=kw)
+        form.fields[0].attrs['value'] = cursoID
+        return dict(name=name, namepl=namepl, form=form, values=kw, curso=Curso.get(cursoID))
 
     @validate(form=form)
     @error_handler(new)
     @expose()
     def create(self, **kw):
         """Save or create record to model"""
 
     @validate(form=form)
     @error_handler(new)
     @expose()
     def create(self, **kw):
         """Save or create record to model"""
-        validate_new(kw)
+        r = validate_new(kw)
         flash(_(u'Se creó un nuevo %s.') % name)
         flash(_(u'Se creó un nuevo %s.') % name)
-        raise redirect('list')
+        raise redirect(url('/curso/docente/list/%d' % r.curso.id))
 
     @expose(template='kid:%s.templates.edit' % __name__)
     def edit(self, id, **kw):
         """Edit record in model"""
         r = validate_get(id)
 
     @expose(template='kid:%s.templates.edit' % __name__)
     def edit(self, id, **kw):
         """Edit record in model"""
         r = validate_get(id)
-        return dict(name=name, namepl=namepl, record=r, form=form)
+        class EmptyClass:
+            pass
+        values = EmptyClass()
+        values.id = r.id
+        values.docente = r.docente.id
+        values.corrige = r.corrige
+        values.observaciones = r.observaciones
+        values.curso = r.curso
+        values.cursoID = r.curso.id
+        return dict(name=name, namepl=namepl, record=values, form=form)
 
     @validate(form=form)
     @error_handler(edit)
 
     @validate(form=form)
     @error_handler(edit)
@@ -109,7 +109,7 @@ class DocenteInscriptoController(controllers.Controller, identity.SecureResource
         """Save or create record to model"""
         r = validate_set(id, kw)
         flash(_(u'El %s fue actualizado.') % name)
         """Save or create record to model"""
         r = validate_set(id, kw)
         flash(_(u'El %s fue actualizado.') % name)
-        raise redirect('../list')
+        raise redirect(url('/curso/docente/list/%d' % r.curso.id))
 
     @expose(template='kid:%s.templates.show' % __name__)
     def show(self,id, **kw):
 
     @expose(template='kid:%s.templates.show' % __name__)
     def show(self,id, **kw):
@@ -118,11 +118,11 @@ class DocenteInscriptoController(controllers.Controller, identity.SecureResource
         return dict(name=name, namepl=namepl, record=r)
 
     @expose()
         return dict(name=name, namepl=namepl, record=r)
 
     @expose()
-    def delete(self, id):
+    def delete(self, cursoID, id):
         """Destroy record in model"""
         r = validate_get(id)
         r.destroySelf()
         flash(_(u'El %s fue eliminado permanentemente.') % name)
         """Destroy record in model"""
         r = validate_get(id)
         r.destroySelf()
         flash(_(u'El %s fue eliminado permanentemente.') % name)
-        raise redirect('../list')
+        raise redirect(url('/curso/docente/list/%s' % cursoID))
 #}}}
 
 #}}}
 
similarity index 60%
rename from sercom/subcontrollers/docente_inscripto/templates/edit.kid
rename to sercom/subcontrollers/curso/docente/templates/edit.kid
index f5c603404c26bbd57b3f936bc12de384ee89e176..4b6ba81f87880c6523d36030b4d2f146ac44898a 100644 (file)
@@ -1,6 +1,6 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://purl.org/kid/ns#"
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://purl.org/kid/ns#"
-    py:extends="'../../../templates/master.kid'">
+    py:extends="'../../../../templates/master.kid'">
 <head>
 <meta content="text/html; charset=utf-8" http-equiv="Content-Type" py:replace="''"/>
 <title>edit</title>
 <head>
 <meta content="text/html; charset=utf-8" http-equiv="Content-Type" py:replace="''"/>
 <title>edit</title>
@@ -9,12 +9,12 @@
 
 <h1>Modificación de <span py:replace="name">Objeto</span></h1>
 
 
 <h1>Modificación de <span py:replace="name">Objeto</span></h1>
 
-<div py:replace="form(value=record, action=tg.url('/docente_inscripto/update/%d' % record.id),
+<div py:replace="form(value=record, action=tg.url('/curso/docente/update/%d' % record.id),
        submit_text=_(u'Guardar'))">Formulario</div>
 
 <br/>
        submit_text=_(u'Guardar'))">Formulario</div>
 
 <br/>
-<a href="${tg.url('/docente_inscripto/show/%d' % record.id)}">Ver (cancela)</a> |
-<a href="${tg.url('/docente_inscripto/list')}">Volver (cancela)</a>
+<a href="${tg.url('/curso/docente/show/%d' % record.id)}">Ver (cancela)</a> |
+<a href="${tg.url('/curso/docente/list/%d' % record.curso.id)}">Volver (cancela)</a>
 
 </body>
 </html>
 
 </body>
 </html>
similarity index 66%
rename from sercom/subcontrollers/docente_inscripto/templates/list.kid
rename to sercom/subcontrollers/curso/docente/templates/list.kid
index d416162c2a11239a8f9bfffe3c77a96a57a0ce7d..5a0d6f3bc2228895785f41dae50b1f1e1a5af255 100644 (file)
@@ -1,17 +1,16 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://purl.org/kid/ns#"
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://purl.org/kid/ns#"
-    py:extends="'../../../templates/master.kid'">
+    py:extends="'../../../../templates/master.kid'">
 <head>
 <meta content="text/html; charset=utf-8" http-equiv="Content-Type" py:replace="''"/>
 <title>list</title>
 </head>
 <body>
 
 <head>
 <meta content="text/html; charset=utf-8" http-equiv="Content-Type" py:replace="''"/>
 <title>list</title>
 </head>
 <body>
 
-<h1>Administración de <span py:replace="namepl">Objetos</span></h1>
+<h1><span py:replace="namepl">Objetos</span> del Curso <span py:replace="curso.shortrepr()">Curso</span></h1>
 
 <table class="list">
     <tr>
 
 <table class="list">
     <tr>
-        <th>Curso</th>
         <th>Docente</th>
         <th>Corrige</th>
         <th>Observaciones</th>
         <th>Docente</th>
         <th>Corrige</th>
         <th>Observaciones</th>
             f.method = 'POST'; f.action = '${tg.url('/alumno/activate/%d/%d' % (record.id, int(not record.activo)))}';
             f.submit(); return false;"
             py:attrs="checked=tg.checker(record.activo)" /></td-->
             f.method = 'POST'; f.action = '${tg.url('/alumno/activate/%d/%d' % (record.id, int(not record.activo)))}';
             f.submit(); return false;"
             py:attrs="checked=tg.checker(record.activo)" /></td-->
-        <td><a href="${tg.url('/curso/show/%d' % record.id)}"><span py:replace="record.curso.shortrepr()">curso</span></a></td> 
         <td><a href="${tg.url('/docente/show/%d' % record.docente.id)}"><span py:replace="record.docente.shortrepr()">docentes</span></a></td> 
         <td><span py:if="record.corrige">SI</span><span py:if="not record.corrige">NO</span></td>
         <td><span py:replace="record.observaciones">observaciones</span></td>
         <td><a href="${tg.url('/docente/show/%d' % record.docente.id)}"><span py:replace="record.docente.shortrepr()">docentes</span></a></td> 
         <td><span py:if="record.corrige">SI</span><span py:if="not record.corrige">NO</span></td>
         <td><span py:replace="record.observaciones">observaciones</span></td>
-        <td><a href="${tg.url('/docente_inscripto/edit/%d' % record.id)}">Editar</a>
-            <a href="${tg.url('/docente_inscripto/delete/%d' % record.id)}" onclick="if (confirm('${_(u'Estás seguro? Tal vez sólo quieras desactivarlo mejor...')}')) { var f = document.createElement('form'); this.parentNode.appendChild(f); f.method = 'POST'; f.action = this.href; f.submit(); };return false;">Eliminar</a></td>
+        <td><a href="${tg.url('/curso/docente/edit/%d' % record.id)}">Editar</a>
+            <a href="${tg.url('/curso/docente/delete/%d/%d' % (record.curso.id, record.id))}" onclick="if (confirm('${_(u'Estás seguro? Tal vez sólo quieras desactivarlo mejor...')}')) { var f = document.createElement('form'); this.parentNode.appendChild(f); f.method = 'POST'; f.action = this.href; f.submit(); };return false;">Eliminar</a></td>
     </tr>
 </table>
 
 <br/>
     </tr>
 </table>
 
 <br/>
-<a href="${tg.url('/docente_inscripto/new')}">Agregar</a>
+<a href="${tg.url('/curso/docente/new/%d' % curso.id)}">Agregar</a> |
+<a href="${tg.url('/curso/list')}">Volver</a>
 
 <div py:for="page in tg.paginate.pages">
     <a py:if="page != tg.paginate.current_page"
 
 <div py:for="page in tg.paginate.pages">
     <a py:if="page != tg.paginate.current_page"
similarity index 52%
rename from sercom/subcontrollers/docente_inscripto/templates/new.kid
rename to sercom/subcontrollers/curso/docente/templates/new.kid
index b0f35599c5e865f03f3a7adca95b67a6f27bf4d7..166eb5a17332c95717c09151c75aac422f949e0d 100644 (file)
@@ -1,18 +1,18 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://purl.org/kid/ns#"
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://purl.org/kid/ns#"
-    py:extends="'../../../templates/master.kid'">
+    py:extends="'../../../../templates/master.kid'">
 <head>
 <meta content="text/html; charset=utf-8" http-equiv="Content-Type" py:replace="''"/>
 <title>new</title>
 </head>
 <body>
 
 <head>
 <meta content="text/html; charset=utf-8" http-equiv="Content-Type" py:replace="''"/>
 <title>new</title>
 </head>
 <body>
 
-<h1>Crear Nuevo <span py:replace="name">Objeto</span></h1>
+<h1>Inscribir Docente en curso <span py:replace="curso.shortrepr()">Curso</span></h1>
 
 
-<p py:replace="form(action=tg.url('/docente_inscripto/create'), value=values, submit_text=_('Crear'))">Formulario</p>
+<p py:replace="form(action=tg.url('/curso/docente/create/'), value=values, submit_text=_('Crear'))">Formulario</p>
 
 <br/>
 
 <br/>
-<a href="${tg.url('/docente_inscripto/list')}">Cancelar</a>
+<a href="${tg.url('/curso/docente/list/%d' % curso.id)}">Cancelar</a>
 
 </body>
 </html>
 
 </body>
 </html>
index faa27c0318419c5872ea7a935997c8751ccff142..5b35eb3ac51f3b5adc9874d3cc694d476dc78784 100644 (file)
@@ -12,8 +12,8 @@
 <table class="list">
     <tr>
         <th>#</th>
 <table class="list">
     <tr>
         <th>#</th>
-        <th>Numero</th>
-        <th>Cuatrimestre</th>
+        <th>Nro</th>
+        <th># Cuat.</th>
         <th>Anio</th>
         <th>Descripcion</th>
         <th>Docentes</th>
         <th>Anio</th>
         <th>Descripcion</th>
         <th>Docentes</th>
     </tr>
     <tr py:for="record in records">
         <td><span py:replace="record.id">id</span></td>
     </tr>
     <tr py:for="record in records">
         <td><span py:replace="record.id">id</span></td>
-        <td><span py:replace="record.numero">numero</span></td>
-        <td><span py:replace="record.cuatrimestre">cuatrimestre</span></td>
-        <td><span py:replace="record.anio">anio</span></td>
+        <td align="center"><span py:replace="record.numero">numero</span></td>
+        <td align="center"><span py:replace="record.cuatrimestre">cuatrimestre</span></td>
+        <td align="center"><span py:replace="record.anio">anio</span></td>
         <td><span py:replace="record.descripcion">descripcion</span></td>
         <td><span py:replace="record.descripcion">descripcion</span></td>
-        <td><a href="${tg.url('/docente/list')}"><span py:replace="len(record.docentes)">Docentes</span></a></td>
-        <td><a href="${tg.url('/curso/alumno/list/%d' % record.id)}"><span py:replace="len(record.alumnos)">Alumnos</span></a></td>
+        <td align="center"><a href="${tg.url('/curso/docente/list/%d' % record.id)}"><span py:replace="len(record.docentes)">Docentes</span></a></td>
+        <td align="center"><a href="${tg.url('/curso/alumno/list/%d' % record.id)}"><span py:replace="len(record.alumnos)">Alumnos</span></a></td>
         <td align="center"><a href="${tg.url('/curso/grupo/list/%d' % record.id)}"><span py:replace="len(record.grupos)">Grupos</span></a></td>
         <td align="center"><a href="${tg.url('/curso/grupo/list/%d' % record.id)}"><span py:replace="len(record.grupos)">Grupos</span></a></td>
-        <td><a href="${tg.url('/curso/ejercicio/list/%s' % record.id)}"><span py:replace="len(record.ejercicios)">Ejercicio</span></a></td>
+        <td align="center"><a href="${tg.url('/curso/ejercicio/list/%s' % record.id)}"><span py:replace="len(record.ejercicios)">Ejercicio</span></a></td>
         <td><a href="${tg.url('/curso/show/%d' % record.id)}">Ver</a>
             <a href="${tg.url('/curso/edit/%d' % record.id)}">Editar</a>
             <a href="${tg.url('/curso/notas/%d' % record.id)}">Notas</a>
         <td><a href="${tg.url('/curso/show/%d' % record.id)}">Ver</a>
             <a href="${tg.url('/curso/edit/%d' % record.id)}">Editar</a>
             <a href="${tg.url('/curso/notas/%d' % record.id)}">Notas</a>