Example #1
0
def toggle_category():
    resp = {'status': 'success'}
    urlkey = request.args.get('key')
    if urlkey is None:
        raise tasklets.Return({'status': 'error'})
    category = yield Category.get_async(urlkey)
    u2c = yield User2Category.delete_async(g.user, category)
    if u2c:
        resp.update({'data': 'deleted'})
    elif category is not None:
        User2Category.create_async(g.user, category)
        resp.update({'data': 'created'})
    else:
        resp['status'] = 'error'
    raise tasklets.Return(request.is_xhr and jsonify(**resp) or
            redirect(url_for('.setup_profile')))