Beispiel #1
0
def save_new(context, request):
    success_url = request.path_url.rpartition('/')[0] + '/'
    failure_url = request.path_url.rpartition('/')[0] + '/edit'

    if 'form.button.cancel' in request.params:
        return HTTPFound(location=success_url)
    resource = context.create_subitem(wrap=True)
    dbsession = DBSession()
    success = resource.form_factory.save(model=resource.model, data=request.params, session=dbsession)
    if success:
        dbsession.add(resource.model)
        return HTTPFound(location=success_url)
    return HTTPFound(location=failure_url)
Beispiel #2
0
def delete(context, request):
    success_url = context.parent_url(request)
    theme = Theme(context, request)
        
    if 'form.button.cancel' in request.params:
        return HTTPFound(location=success_url)
    if 'form.button.confirm_delete' in request.params:
        dbsession = DBSession()
        dbsession.delete(context.model)
        return HTTPFound(location=success_url)
    return render('templates/delete.pt',
                  instance = context.model,
                  context = context,
                  request = request,
                  theme=theme,
                 )
Beispiel #3
0
def save_new(context, request):
    success_url = request.path_url.rpartition('/')[0]+ '/'
    failure_url = request.path_url.rpartition('/')[0] + '/edit'

    if 'form.button.cancel' in request.params:
        return HTTPFound(location=success_url)
    instance = context.create_subitem()
    proxy = context.wrap_child(name=None, model=instance)
    dbsession = DBSession()
    #fs = FieldSet(instance, session=dbsession)
    #fs.rebind(instance, data=request.params)
    #if fs.validate(): 
    #    fs.sync()
    success = proxy.form_factory.save(model=instance, data=request.params, session=dbsession)
    if success:
        dbsession.add(instance)
        return HTTPFound(location=success_url)
    return HTTPFound(location=failure_url)