def update_my_metadataFormat(request): if request.method == 'POST': #UPDATE the registry try: #Get all form information if 'id' in request.POST: id = request.POST.get('id') if 'metadataPrefix' in request.POST: metadataprefix = request.POST.get('metadataPrefix') #Call the API to update my metadataFormat try: req = update_my_metadataFormat_model(id, metadataprefix) #If the status is OK, sucess message if req.status_code == status.HTTP_200_OK: messages.add_message(request, messages.INFO, 'Metadata Format 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 as e: return HttpResponseBadRequest('An error occurred. Please contact your administrator.') except Exception as e: return HttpResponseBadRequest('An error occurred. Please contact your administrator.') elif request.method == 'GET': #Build the template to render for the metadata format edition template = loader.get_template('oai_pmh/admin/form_my_metadata_format_edit.html') metadata_format_id = request.GET['metadata_format_id'] try: information = OaiMyMetadataFormat.objects.get(pk=metadata_format_id) data = {'id': metadata_format_id, 'metadataPrefix': information.metadataPrefix, 'schema': information.schema, 'metadataNamespace': information.metadataNamespace} metadataformat_form = UpdateMyMetadataFormatForm(data) except: metadataformat_form = UpdateMyMetadataFormatForm() context = RequestContext(request, { 'metadataformat_form': metadataformat_form, }) return HttpResponse(json.dumps({'template': template.render(context)}), content_type='application/javascript')
def update_my_metadataFormat(request): """ PUT http://localhost/oai_pmh/api/update/my-metadataFormat PUT data query='{"id":"value", "metadataPrefix":"value"}' """ try: serializer = UpdateMyMetadataFormatSerializer(data=request.DATA) if serializer.is_valid(): #We retrieve all information id = request.DATA['id'] metadataprefix = request.DATA['metadataPrefix'] return update_my_metadataFormat_model(id, metadataprefix) 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)