From 87209655a15931250b9731f676e55882b0deaa72 Mon Sep 17 00:00:00 2001 From: Ricardo Markiewicz Date: Wed, 14 Mar 2007 19:33:44 +0000 Subject: [PATCH] Muevo CasoDePrueba a /enunciado y ajusto todo para que ande. --- sercom/controllers.py | 2 - sercom/subcontrollers/__init__.py | 1 - sercom/subcontrollers/enunciado/__init__.py | 3 ++ .../caso_de_prueba/__init__.py | 45 +++++++------------ .../caso_de_prueba/templates/__init__.py | 0 .../caso_de_prueba/templates/edit.kid | 8 ++-- .../caso_de_prueba/templates/list.kid | 10 ++--- .../caso_de_prueba/templates/new.kid | 6 +-- .../caso_de_prueba/templates/show.kid | 6 +-- .../enunciado/templates/list.kid | 5 +-- 10 files changed, 37 insertions(+), 49 deletions(-) rename sercom/subcontrollers/{ => enunciado}/caso_de_prueba/__init__.py (82%) rename sercom/subcontrollers/{ => enunciado}/caso_de_prueba/templates/__init__.py (100%) rename sercom/subcontrollers/{ => enunciado}/caso_de_prueba/templates/edit.kid (57%) rename sercom/subcontrollers/{ => enunciado}/caso_de_prueba/templates/list.kid (73%) rename sercom/subcontrollers/{ => enunciado}/caso_de_prueba/templates/new.kid (61%) rename sercom/subcontrollers/{ => enunciado}/caso_de_prueba/templates/show.kid (84%) diff --git a/sercom/controllers.py b/sercom/controllers.py index 3f91e91..d584af2 100644 --- a/sercom/controllers.py +++ b/sercom/controllers.py @@ -123,8 +123,6 @@ class Root(controllers.RootController): tarea_prueba = TareaPruebaController() - caso_de_prueba = CasoDePruebaController() - curso = CursoController() docente_inscripto = DocenteInscriptoController() diff --git a/sercom/subcontrollers/__init__.py b/sercom/subcontrollers/__init__.py index 56aa6ef..3e58ec5 100644 --- a/sercom/subcontrollers/__init__.py +++ b/sercom/subcontrollers/__init__.py @@ -2,7 +2,6 @@ from docente import DocenteController from alumno import AlumnoController from curso import CursoController from enunciado import EnunciadoController -from caso_de_prueba import CasoDePruebaController from ejercicio import EjercicioController from docente_inscripto import DocenteInscriptoController from grupo import GrupoController diff --git a/sercom/subcontrollers/enunciado/__init__.py b/sercom/subcontrollers/enunciado/__init__.py index c181994..3809ef0 100644 --- a/sercom/subcontrollers/enunciado/__init__.py +++ b/sercom/subcontrollers/enunciado/__init__.py @@ -12,6 +12,7 @@ from sercom.subcontrollers import validate as val from sercom.model import Enunciado, Docente, Curso, Tarea, TareaFuente, TareaPrueba from cherrypy import request, response from sercom.widgets import * +from caso_de_prueba import CasoDePruebaController #}}} #{{{ Configuración @@ -117,6 +118,8 @@ class EnunciadoController(controllers.Controller, identity.SecureResource): """Basic model admin interface""" require = identity.has_permission('entregar') + caso_de_prueba = CasoDePruebaController() + @expose() def default(self, tg_errors=None): """handle non exist urls""" diff --git a/sercom/subcontrollers/caso_de_prueba/__init__.py b/sercom/subcontrollers/enunciado/caso_de_prueba/__init__.py similarity index 82% rename from sercom/subcontrollers/caso_de_prueba/__init__.py rename to sercom/subcontrollers/enunciado/caso_de_prueba/__init__.py index 8c52315..fe4a12b 100644 --- a/sercom/subcontrollers/caso_de_prueba/__init__.py +++ b/sercom/subcontrollers/enunciado/caso_de_prueba/__init__.py @@ -33,6 +33,10 @@ def validate_fk(data): flash(_(u'No se pudo crear el nuevo %s porque el %s con ' 'identificador %d no existe.' % (name, fkname, fk))) raise redirect('new', **data) + else: + 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 @@ -53,17 +57,12 @@ def validate_del(id): #}}} #{{{ Formulario -def get_options(): - return [(0, _(u'<>'))] + [(fk.id, fk.shortrepr()) - for fk in fkcls.select()] - class CasoDePruebaForm(W.TableForm): class Fields(W.WidgetsList): + enunciadoID = W.HiddenField() nombre = W.TextField(label=_(u'Nombre'), help_text=_(u'Requerido y único.'), validator=V.UnicodeString(min=5, max=60, strip=True)) - fk = W.SingleSelectField(name=fkname+'ID', label=_(fkname.capitalize()), - options=get_options, validator=V.Int(not_empty=False)) descripcion = W.TextField(label=_(u'Descripción'), validator=V.UnicodeString(not_empty=False, max=255, strip=True)) @@ -85,44 +84,34 @@ class CasoDePruebaController(controllers.Controller, identity.SecureResource): """Basic model admin interface""" require = identity.has_permission('admin') - @expose() - def default(self, tg_errors=None): - """handle non exist urls""" - raise redirect('list') - - @expose() - def index(self): - raise redirect('list') - @expose(template='kid:%s.templates.list' % __name__) @validate(validators=dict(enunciado=V.Int)) @paginate('records') - def list(self, enunciado=None): + def list(self, enunciado): """List records in model""" - if enunciado is None: - r = cls.select() - else: - r = cls.selectBy(enunciadoID=enunciado) - return dict(records=r, name=name, namepl=namepl, parcial=enunciado) + r = cls.selectBy(enunciadoID=enunciado) + return dict(records=r, name=name, namepl=namepl, enunciado=enunciado) @expose(template='kid:%s.templates.new' % __name__) - def new(self, **kw): + def new(self, enunciado=0, **kw): """Create new records in model""" - return dict(name=name, namepl=namepl, form=form, values=kw) + form.fields[0].attrs['value'] = enunciado or kw['enunciadoID'] + return dict(name=name, namepl=namepl, form=form, values=kw, enunciado=int(enunciado)) @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('list/%d' % r.enunciado.id) @expose(template='kid:%s.templates.edit' % __name__) def edit(self, id, **kw): """Edit record in model""" r = validate_get(id) + form.fields[0].attrs['value'] = r.enunciado.id return dict(name=name, namepl=namepl, record=r, form=form) @validate(form=form) @@ -132,7 +121,7 @@ class CasoDePruebaController(controllers.Controller, identity.SecureResource): """Save or create record to model""" r = validate_set(id, kw) flash(_(u'El %s fue actualizado.') % name) - raise redirect('../list') + raise redirect('../list/%d' % r.enunciado.id) @expose(template='kid:%s.templates.show' % __name__) def show(self, id, **kw): @@ -145,10 +134,10 @@ class CasoDePruebaController(controllers.Controller, identity.SecureResource): return dict(name=name, namepl=namepl, record=r) @expose() - def delete(self, id): + def delete(self, enunciado, id): """Destroy record in model""" validate_del(id) flash(_(u'El %s fue eliminado permanentemente.') % name) - raise redirect('../list') + raise redirect('../../list/%d' % int(enunciado)) #}}} diff --git a/sercom/subcontrollers/caso_de_prueba/templates/__init__.py b/sercom/subcontrollers/enunciado/caso_de_prueba/templates/__init__.py similarity index 100% rename from sercom/subcontrollers/caso_de_prueba/templates/__init__.py rename to sercom/subcontrollers/enunciado/caso_de_prueba/templates/__init__.py diff --git a/sercom/subcontrollers/caso_de_prueba/templates/edit.kid b/sercom/subcontrollers/enunciado/caso_de_prueba/templates/edit.kid similarity index 57% rename from sercom/subcontrollers/caso_de_prueba/templates/edit.kid rename to sercom/subcontrollers/enunciado/caso_de_prueba/templates/edit.kid index a8a5aec..6f34c30 100644 --- a/sercom/subcontrollers/caso_de_prueba/templates/edit.kid +++ b/sercom/subcontrollers/enunciado/caso_de_prueba/templates/edit.kid @@ -1,6 +1,6 @@ + py:extends="'../../../../templates/master.kid'"> edit @@ -9,12 +9,12 @@

Modificación de Objeto

-
Formulario

-Ver (cancela) | -Volver (cancela) +Ver (cancela) | +Volver (cancela) diff --git a/sercom/subcontrollers/caso_de_prueba/templates/list.kid b/sercom/subcontrollers/enunciado/caso_de_prueba/templates/list.kid similarity index 73% rename from sercom/subcontrollers/caso_de_prueba/templates/list.kid rename to sercom/subcontrollers/enunciado/caso_de_prueba/templates/list.kid index c891ae8..077b6c3 100644 --- a/sercom/subcontrollers/caso_de_prueba/templates/list.kid +++ b/sercom/subcontrollers/enunciado/caso_de_prueba/templates/list.kid @@ -1,6 +1,6 @@ + py:extends="'../../../../templates/master.kid'"> list @@ -28,14 +28,14 @@ comando --con-parámetros retorno máx tiempo de cpu - Editar - Eliminar + Editar + Eliminar
-Agregar -Ver todo +Agregar +Volver
+ py:extends="'../../../../templates/master.kid'"> new @@ -9,10 +9,10 @@

Crear Nuevo Objeto

-

Formulario

+

Formulario


-
Cancelar +Cancelar diff --git a/sercom/subcontrollers/caso_de_prueba/templates/show.kid b/sercom/subcontrollers/enunciado/caso_de_prueba/templates/show.kid similarity index 84% rename from sercom/subcontrollers/caso_de_prueba/templates/show.kid rename to sercom/subcontrollers/enunciado/caso_de_prueba/templates/show.kid index 91060cd..1a60d42 100644 --- a/sercom/subcontrollers/caso_de_prueba/templates/show.kid +++ b/sercom/subcontrollers/enunciado/caso_de_prueba/templates/show.kid @@ -1,6 +1,6 @@ + py:extends="'../../../../templates/master.kid'"> show @@ -39,8 +39,8 @@
-Editar | -Volver +Editar | +Volver diff --git a/sercom/subcontrollers/enunciado/templates/list.kid b/sercom/subcontrollers/enunciado/templates/list.kid index b7f3d7f..3f5269d 100644 --- a/sercom/subcontrollers/enunciado/templates/list.kid +++ b/sercom/subcontrollers/enunciado/templates/list.kid @@ -35,10 +35,9 @@ cant - cant + + Casos de Prueba Editar Eliminar Bajar Enunciado -- 2.43.0