X-Git-Url: https://git.llucax.com/software/sercom.git/blobdiff_plain/50cdb52f444c5fc26314938eb27bfbc28d9f54af..c3014f5f1bb51734bf6095409c085ea011ad95b8:/sercom/subcontrollers/ejercicio/__init__.py?ds=sidebyside diff --git a/sercom/subcontrollers/ejercicio/__init__.py b/sercom/subcontrollers/ejercicio/__init__.py index 962a088..58a36b2 100644 --- a/sercom/subcontrollers/ejercicio/__init__.py +++ b/sercom/subcontrollers/ejercicio/__init__.py @@ -71,6 +71,9 @@ def validate_new(data): validate_fk(data) validate_fk1(data) return val.validate_new(cls, name, data) + +def validate_del(id): + return val.validate_del(cls, name, id) #}}} #{{{ Formulario @@ -93,6 +96,7 @@ ajax = """ { l = MochiKit.DOM.getElement('form_enunciadoID'); l.options.length = 0; + l.disabled = true; } function mostrarEnunciados (res) @@ -103,6 +107,7 @@ ajax = """ label = res.enunciados[i].nombre; MochiKit.DOM.appendChildNodes("form_enunciadoID", OPTION({"value":id}, label)) } + l.disabled = false; hideHint(); } @@ -131,6 +136,11 @@ ajax = """ { connect('form_cursoID', 'onchange', actualizar_enunciados); hideHint(); + clearEnunciados(); + actualizar_enunciados(); + if (select_enunciado) { + wait(0.1).addCallback(function (res) { return select_enunciado() }); + } } MochiKit.DOM.addLoadEvent(prepare) @@ -155,7 +165,7 @@ form = EjercicioForm() #{{{ Controlador class EjercicioController(controllers.Controller, identity.SecureResource): """Basic model admin interface""" - require = identity.has_permission('admin') + require = identity.has_permission('entregar') entrega = EntregaController() @@ -177,12 +187,14 @@ class EjercicioController(controllers.Controller, identity.SecureResource): return dict(records=r, name=name, namepl=namepl, parcial=autor) @expose(template='kid:%s.templates.new' % __name__) + @identity.require(identity.has_permission('admin')) def new(self, **kw): """Create new records in model""" return dict(name=name, namepl=namepl, form=form, values=kw) @validate(form=form) @error_handler(new) + @identity.require(identity.has_permission('admin')) @expose() def create(self, **kw): """Save or create record to model""" @@ -191,6 +203,7 @@ class EjercicioController(controllers.Controller, identity.SecureResource): raise redirect('list') @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) @@ -199,6 +212,7 @@ class EjercicioController(controllers.Controller, identity.SecureResource): @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) @@ -212,10 +226,10 @@ class EjercicioController(controllers.Controller, identity.SecureResource): 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) - r.destroySelf() + validate_del(id) flash(_(u'El %s fue eliminado permanentemente.') % name) raise redirect('../list')