def edit_oai_pmh_xslt(request, id=None): if request.method == 'POST': try: xslt_id = request.POST['object_id'] new_name = request.POST['new_name'] new_name = new_name.strip(' \t\n\r') req = edit_oai_pmh_xslt_model(xslt_id, new_name) if req.status_code == status.HTTP_200_OK: messages.add_message(request, messages.INFO, 'XSLT edited with success.') return HttpResponse(json.dumps({}), content_type='application/javascript') #Else, we return a bad request response with the message provided by the API else: data = req.data return HttpResponseBadRequest(data[APIMessage.label]) except OAIAPIException as e: return HttpResponseBadRequest(e.message) except Exception: return HttpResponseBadRequest('An error occurred. Please contact your administrator.')
def edit_oai_pmh_xslt(request): """ POST http://localhost/oai_pmh/api/edit/xslt POST data query='{"xslt_id":"value", "name": "value"}' """ try: serializer = EditXSLTSerializer(data=request.DATA) if serializer.is_valid(): #Get the ID id = request.DATA['xslt_id'] new_name = request.DATA['name'] return edit_oai_pmh_xslt_model(id, new_name) else: raise OAIAPISerializeLabelledException(errors=serializer.errors, status=status.HTTP_400_BAD_REQUEST) except OAIAPIException as e: return e.response() except Exception as e: content = APIMessage.getMessageLabelled(e.message) return Response(content, status=status.HTTP_500_INTERNAL_SERVER_ERROR)