def toggle_moderation()

in pulseapi/entries/views.py [0:0]


def toggle_moderation(request, entryid, stateid, **kwargs):
    """
    Toggle the moderation state for a specific entry,
    based on moderation state id values. These values
    can be obtained via /api/pulse/entries/moderation-states
    which returns id:name pairs for each available state.
    """
    user = request.user

    if user.has_perm('entries.change_entry') is True:
        entry = get_object_or_404(Entry, id=entryid)
        moderation_state = get_object_or_404(ModerationState, id=stateid)

        entry.moderation_state = moderation_state
        entry.save()

        return Response("Updated moderation state.", status=status.HTTP_204_NO_CONTENT)

    return Response(
        "You do not have permission to change entry moderation states.",
        status=status.HTTP_403_FORBIDDEN
    )