curso = CursoController()
- docente_inscripto = DocenteInscriptoController()
-
correccion = CorreccionController()
admin = identity.SecureObject(CatWalk(model), identity.has_permission('admin'))
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 alumno import AlumnoInscriptoController
from grupo import GrupoController
from ejercicio import EjercicioController
+from docente import DocenteInscriptoController
#}}}
#{{{ Configuración
alumno = AlumnoInscriptoController()
grupo = GrupoController()
ejercicio = EjercicioController()
+ docente = DocenteInscriptoController()
@expose()
def default(self, tg_errors=None):
#{{{ 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
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):
- 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))
@expose()
def default(self, tg_errors=None):
"""handle non exist urls"""
- raise redirect('list')
+ raise redirect(url('/curso/list'))
@expose()
def index(self):
- raise redirect('list')
+ raise redirect(url('/curso/list'))
+
@expose(template='kid:%s.templates.list' % __name__)
@paginate('records')
- def list(self):
+ def list(self, cursoID):
"""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__)
- def new(self, **kw):
+ def new(self, cursoID, **kw):
"""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_new(kw)
+ r = validate_new(kw)
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)
- 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)
"""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):
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)
- raise redirect('../list')
+ raise redirect(url('/curso/docente/list/%s' % cursoID))
#}}}
<!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>
<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/>
-<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>
<!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>
-<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>
- <th>Curso</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-->
- <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_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/>
-<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"
<!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>
-<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/>
-<a href="${tg.url('/docente_inscripto/list')}">Cancelar</a>
+<a href="${tg.url('/curso/docente/list/%d' % curso.id)}">Cancelar</a>
</body>
</html>
<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>
</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><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><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>