Esempio n. 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)
Esempio n. 2
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)