Skip to content

json_views

django_spire.knowledge.collection.views.json_views

reorder_view

Source code in django_spire/knowledge/collection/views/json_views.py
@valid_ajax_request_required
def reorder_view(request: WSGIRequest) -> JsonResponse:
    body_data = json.loads(request.body.decode('utf-8'))

    collection_id = body_data.get('collection_id', 0)
    collection = get_object_or_null_obj(Collection, pk=collection_id)

    if not collection.id:
        return JsonResponse({'type': 'error', 'message': 'Collection not found.'})

    order = body_data.get('order', None)
    if order is None:
        return JsonResponse({'type': 'error', 'message': 'Order must be provided.'})

    collection.services.ordering.reorder(
        order=order,
        new_parent_pk=body_data.get('parent', None),
    )

    return JsonResponse({'type': 'success'})