Exemplo n.º 1
0
def record_action(request, action, item, record_id=0):
    """Unica funzione per gestire azioni diverse"""
    # verifichiamo che l'utente possieda i privilegi
    # e che non abbia digitato la url direttamente
    if Acl.get_permission_for_function(
            request.user.id, Acl.FUNCTION_RECORD) or request.user.is_staff:
        if action == 'remove':
            if item == 'single':
                return _single_record_remove(request, record_id)
            else:
                return _multi_record_remove(request)
        elif action == 'download':
            if item == 'single':
                return _single_record_export(request, record_id)
            else:
                return _multi_record_export_as_zip_file(request)
        else:
            raise Http404
    else:
        raise Http403