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
# Un poco de ajax para llenar los cursos
ajax = """
+ function showHint()
+ {
+ MochiKit.DOM.showElement('hint')
+ }
+
+ function hideHint()
+ {
+ MochiKit.DOM.hideElement('hint')
+ }
+
function clearEnunciados ()
{
l = MochiKit.DOM.getElement('form_enunciadoID');
l.options.length = 0;
+ l.disabled = true;
}
function mostrarEnunciados (res)
label = res.enunciados[i].nombre;
MochiKit.DOM.appendChildNodes("form_enunciadoID", OPTION({"value":id}, label))
}
+ l.disabled = false;
+ hideHint();
}
function err (err)
{
alert("The metadata for MochiKit.Async could not be fetched :(");
+ hideHint();
}
function actualizar_enunciados ()
url = "/enunciado/de_curso?curso_id="+id;
var d = loadJSONDoc(url);
d.addCallbacks(mostrarEnunciados, err);
+ showHint();
}
function prepare()
{
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)
#{{{ Controlador
class EjercicioController(controllers.Controller, identity.SecureResource):
"""Basic model admin interface"""
- require = identity.has_permission('admin')
+ require = identity.has_permission('entregar')
entrega = EntregaController()
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"""
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)
@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)
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')