Пример #1
0
        return _handle_redirect(request)
    else:
        renderer = ConfirmDialogRenderer(request, clazz, 'delete')
        rvalue = {}
        rvalue['dialog'] = renderer.render(items)
        rvalue['clazz'] = clazz
        rvalue['item'] = items
        return rvalue


def delete(request, callback=None):
    item = get_item_from_request(request)
    return _handle_delete_request(request, [item], callback)


def rest_delete(request, callback=None):
    """Deletes an item of type clazz. The item is deleted based on the
    unique id value provided in the matchtict object in the current
    DELETE request. The data will be deleted without any futher confirmation!

    :clazz: Class of item to delete
    :request: Current request
    :returns: JSON object.
    """
    item = get_item_from_request(request)
    request.db.delete(item)
    return JSONResponse(True, item)


set_bundle_action_handler("delete", _handle_delete_request)
Пример #2
0
from ringo.views.base import set_web_action_view
from ringo.views.base.list_ import set_bundle_action_handler

# Define your custom views here or overwrite the default views. Default
# CRUD operations are generated by the ringo frameworkd.


def anonymize(request):
    handle_history(request)
    handle_params(request)
    item = get_item_from_request(request)
    return _handle_anonymize_request(request, [item])


def _handle_anonymize_request(request, items):
    _ = request.translate
    clazz = request.context.__model__
    modul = request.context.__modul__
    renderer = ConfirmDialogRenderer(request, clazz, _("anonymize"))
    if (request.method == 'POST' and is_confirmed(request)):
        for item in items:
            item.anonymize()
    rvalue = {}
    rvalue['dialog'] = renderer.render(items)
    return rvalue


# Register the view and request handlers.
set_web_action_view("anonymize", anonymize)
set_bundle_action_handler("anonymize", _handle_anonymize_request)
Пример #3
0
    else:
        renderer = ConfirmDialogRenderer(request, clazz, 'delete')
        rvalue = {}
        rvalue['dialog'] = renderer.render(items)
        rvalue['clazz'] = clazz
        rvalue['item'] = items
        return rvalue


def delete(request, callback=None):
    item = get_item_from_request(request)
    handle_history(request)
    handle_params(request)
    return _handle_delete_request(request, [item], callback)


def rest_delete(request, callback=None):
    """Deletes an item of type clazz. The item is deleted based on the
    unique id value provided in the matchtict object in the current
    DELETE request. The data will be deleted without any futher confirmation!

    :clazz: Class of item to delete
    :request: Current request
    :returns: JSON object.
    """
    item = get_item_from_request(request)
    request.db.delete(item)
    return JSONResponse(True, item)

set_bundle_action_handler("delete", _handle_delete_request)
Пример #4
0
    single item or when exporting multiple items in a bundle."""
    clazz = request.context.__model__
    renderer = ExportDialogRenderer(request, clazz)
    form = renderer.form
    if (request.method == 'POST'
       and is_confirmed(request)
       and form.validate(request.params)):
        # Setup exporter
        ef = form.data.get('format')
        if ef == "json":
            exporter = JSONExporter(clazz)
        elif ef == "csv":
            exporter = CSVExporter(clazz)
        elif ef == "xlsx":
            exporter = XLSXExporter(clazz)
        export = exporter.perform(items)
        # Build response
        resp = request.response
        resp.content_type = str('application/%s' % ef)
        resp.content_disposition = 'attachment; filename=export.%s' % ef
        resp.body = export
        return resp
    else:
        # FIXME: Get the ActionItem here and provide this in the Dialog to get
        # the translation working (torsten) <2013-07-10 09:32>
        rvalue = {}
        rvalue['dialog'] = renderer.render(items)
        return rvalue

set_bundle_action_handler("export", _handle_export_request)
Пример #5
0
    else:
        # FIXME: Get the ActionItem here and provide this in the Dialog to get
        # the translation working (torsten) <2013-07-10 09:32>
        rvalue = {}
        rvalue['dialog'] = renderer.render(items)
        return rvalue


def _fill_sheet(sheet, data, fields):
    if len(data) > 0:
        if not fields:
            fields = sorted(data[0].keys())
    sheet.reset(size=(len(data)+1, len(fields)))
    for x, field in enumerate(fields):
        cell = sheet[0,x]
        cell.set_value(field)
    for y, item in enumerate(data):
        for x, field in enumerate(fields):
            cell = sheet[y+1, x]
            if field in item:
                cell.set_value(item[field] or "")

# Register the view and request handlers.
# Overwrite create and update view specificially for the evaluation
# module
set_web_action_view("create", create_, "evaluations")
set_web_action_view("update", update_, "evaluations")
# Add generic evaluation view for all modules
set_web_action_view("evaluate", evaluate)
set_bundle_action_handler("evaluate", _handle_evaluation_request)
Пример #6
0
    single item or when exporting multiple items in a bundle."""
    clazz = request.context.__model__
    renderer = ExportDialogRenderer(request, clazz)
    form = renderer.form
    if (request.method == 'POST' and request.ringo.params.confirmed
            and form.validate(request.params)):
        # Setup exporter
        ef = form.data.get('format')
        if ef == "json":
            exporter = JSONExporter(clazz)
        elif ef == "csv":
            exporter = CSVExporter(clazz)
        elif ef == "xlsx":
            exporter = XLSXExporter(clazz)
        export = exporter.perform(items)
        # Build response
        resp = request.response
        resp.content_type = str('application/%s' % ef)
        resp.content_disposition = 'attachment; filename=export.%s' % ef
        resp.body = export
        return resp
    else:
        # FIXME: Get the ActionItem here and provide this in the Dialog to get
        # the translation working (torsten) <2013-07-10 09:32>
        rvalue = {}
        rvalue['dialog'] = renderer.render(items)
        return rvalue


set_bundle_action_handler("export", _handle_export_request)