require = identity.has_permission('entregar')
@expose(template='kid:%s.templates.list' % __name__)
- @validate(validators=dict(ejercicio_id=V.Int))
+ @validate(validators=dict(ejercicio=V.Int))
@paginate('records')
- def list(self, ejercicio_id):
- r = cls.selectBy(ejercicioID=ejercicio_id)
- return dict(records=r, name=name, namepl=namepl, ejercicio=ejercicio_id)
+ def list(self, ejercicio):
+ ejercicio = Ejercicio.get(ejercicio)
+ r = cls.selectBy(ejercicio=ejercicio).orderBy(cls.q.numero)
+ return dict(records=r, name=name, namepl=namepl, ejercicio=ejercicio)
@expose(template='kid:%s.templates.new' % __name__)
+ @validate(validators=dict(ejercicio=V.Int))
@identity.require(identity.has_permission('admin'))
- def new(self, ejercicio_id, **kw):
+ def new(self, ejercicio, **kw):
"""Create new records in model"""
- kw['ejercicioID'] = ejercicio_id
+ kw['ejercicioID'] = ejercicio
return dict(name=name, namepl=namepl, form=form, values=kw)
@validate(form=form)
flash(_(u'Se creó un nuevo %s.') % name)
raise redirect('list/%s' % e.id)
+ @expose(template='kid:%s.templates.edit' % __name__)
+ @identity.require(identity.has_permission('admin'))
+ def edit(self, id, **kw):
+ """Edit record in model"""
+ r = validate_get(id)
+ return dict(name=name, namepl=namepl, record=r, form=form)
+
+ @validate(form=form)
+ @error_handler(edit)
+ @expose()
+ @identity.require(identity.has_permission('admin'))
+ def update(self, id, **kw):
+ """Save or create record to model"""
+ r = validate_set(id, kw)
+ flash(_(u'El %s fue actualizado.') % name)
+ raise redirect('../list/%s' % r.ejercicioID)
+
+ @expose(template='kid:%s.templates.show' % __name__)
+ def show(self,id, **kw):
+ """Show record in model"""
+ r = validate_get(id)
+ return dict(name=name, namepl=namepl, record=r)
+
@expose()
@identity.require(identity.has_permission('admin'))
def delete(self, id):
"""Destroy record in model"""
r = validate_get(id)
- ejercicio_id = r.ejercicioID
+ ejercicio = r.ejercicioID
r.destroySelf()
flash(_(u'El %s fue eliminado permanentemente.') % name)
- raise redirect('../list/%s' % ejercicio_id)
+ raise redirect('../list/%s' % ejercicio)
#}}}
--- /dev/null
+<!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'">
+<head>
+<meta content="text/html; charset=utf-8" http-equiv="Content-Type" py:replace="''"/>
+<title>edit</title>
+</head>
+<body>
+
+<h1>Modificación de <span py:replace="name">Objeto</span></h1>
+
+<div py:replace="form(value=record, action=tg.url('/curso/ejercicio/entrega/update/%d' % record.id),
+ submit_text=_(u'Guardar'))">Formulario</div>
+
+<br/>
+<a href="${tg.url('/curso/ejercicio/entrega/show/%s' % record.id)}">Ver (cancela)</a> |
+<a href="${tg.url('/curso/ejercicio/entrega/list/%s' % record.ejercicioID)}">Volver (cancela)</a>
+</body>
+</html>
<td><span py:replace="tg.strbool(record.activo)">activa</span></td>
<td><span py:replace="record.observaciones">obs</span></td>
<td>
+ <a py:if="'admin' in identity.current.permissions" href="${tg.url('/curso/ejercicio/entrega/show/%d' % record.id)}">Ver</a>
+ <a py:if="'admin' in identity.current.permissions" href="${tg.url('/curso/ejercicio/entrega/edit/%d' % record.id)}">Editar</a>
<a py:if="'admin' in identity.current.permissions" href="${tg.url('/curso/ejercicio/entrega/delete/%d' % record.id)}" onclick="if (confirm('${_(u'Estás seguro? Yo creo que no...')}')) { 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 py:if="'admin' in identity.current.permissions" href="${tg.url('/curso/ejercicio/entrega/new/%s' % ejercicio)}">Agregar</a>
-<a href="${tg.url('/curso/ejercicio/list')}">Volver a Ejericicios</a>
+<a py:if="'admin' in identity.current.permissions" href="${tg.url('/curso/ejercicio/entrega/new/%s' % ejercicio.id)}">Agregar</a>
+<a href="${tg.url('/curso/ejercicio/list/%s' % ejercicio.curso.id)}">Volver a Ejericicios</a>
<div py:for="page in tg.paginate.pages">
<a py:if="page != tg.paginate.current_page"
--- /dev/null
+<!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'">
+<head>
+<meta content="text/html; charset=utf-8" http-equiv="Content-Type" py:replace="''"/>
+<title>show</title>
+</head>
+<body>
+
+ <table>
+ <tr>
+ <th>Número:</th>
+ <td><span py:replace="record.numero">descripcion</span></td>
+ </tr>
+ <tr>
+ <th>Inicio:</th>
+ <td><span py:replace="record.inicio">2007/02/21 12:34:21</span></td>
+ </tr>
+ <tr>
+ <th>Fin:</th>
+ <td><span py:replace="record.fin">2007/02/21 12:34:21</span></td>
+ </tr>
+ <tr>
+ <th>Inicio de procesamiento:</th>
+ <td><span py:replace="record.inicio_proceso">2007/02/21 12:34:21</span></td>
+ </tr>
+ <tr>
+ <th>Fin de procesamiento:</th>
+ <td><span py:replace="record.inicio_proceso">2007/02/21 12:34:21</span></td>
+ </tr>
+ <tr>
+ <th>Activo:</th>
+ <td>
+ <span py:replace="tg.strbool(record.activo)">No</span>
+ </td>
+ </tr>
+ <tr>
+ <th>Observaciones:</th>
+ <td>
+ <span py:replace="record.observaciones">Observaciones</span>
+ </td>
+ </tr>
+ </table>
+
+<br/>
+<a href="${tg.url('/curso/ejercicio/entrega/edit/%s' % record.id)}">Editar</a> |
+<a href="${tg.url('/curso/ejercicio/entrega/list/%s' % record.ejercicioID)}">Volver</a>
+
+</body>
+</html>