From 45ac5f80a3135e0ec9a2688bd46bcd9423da4290 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Mon, 28 Nov 2016 15:49:46 +0100 Subject: [PATCH] Reponse Codes --- rowers/views.py | 41 ++++++++++++++++++++++---------------- rowsandall_app/settings.py | 5 +++-- 2 files changed, 27 insertions(+), 19 deletions(-) diff --git a/rowers/views.py b/rowers/views.py index dd72faee..fefb5580 100644 --- a/rowers/views.py +++ b/rowers/views.py @@ -3,7 +3,11 @@ import operator from django.views.generic.base import TemplateView from django.db.models import Q from django.shortcuts import render -from django.http import HttpResponse, HttpResponseRedirect +from django.http import ( + HttpResponse, HttpResponseRedirect, + HttpResponseForbidden, HttpResponseNotAllowed, + HttpResponseNotFound, + ) from django.contrib.auth import authenticate, login, logout from rowers.forms import LoginForm,DocumentsForm,UploadOptionsForm from django.core.urlresolvers import reverse @@ -2019,7 +2023,7 @@ def workout_view(request,id=0): except Workout.DoesNotExist: - return HttpResponse("Workout doesn't exist") + return HttpResponseNotFound("Workout doesn't exist") @user_passes_test(promember,login_url="/login") @@ -4036,7 +4040,7 @@ def workout_delete_confirm_view(request, id=0): 'workout':row}) except Workout.DoesNotExist: - return HttpResponse("Workout doesn't exist") + return HttpResponseNotFound("Workout doesn't exist") @login_required() def workout_delete_view(request,id=0): @@ -4055,7 +4059,7 @@ def workout_delete_view(request,id=0): return HttpResponseRedirect(url) except Workout.DoesNotExist: - return HttpResponse("Workout doesn't exist") + return HttpResponseNotFound("Workout doesn't exist") @login_required() @@ -4071,7 +4075,7 @@ def graph_delete_confirm_view(request, id=0): 'graph':img}) except Workout.DoesNotExist: - return HttpResponse("Workout doesn't exist") + return HttpResponseNotFound("Workout doesn't exist") @login_required() def graph_delete_view(request,id=0): @@ -4168,7 +4172,7 @@ def workout_summary_restore_view(request,id,message="",successmessage=""): if (checkworkoutuser(request.user,row)==False): return HttpResponse("You are not allowed to edit this workout") except Workout.DoesNotExist: - return HttpResponse("Workout doesn't exist") + return HttpResponseNotFound("Workout doesn't exist") s = "" # still here - this is a workout we may edit @@ -4216,7 +4220,7 @@ def workout_summary_edit_view(request,id,message="",successmessage="" if (checkworkoutuser(request.user,row)==False): return HttpResponse("You are not allowed to edit this workout") except Workout.DoesNotExist: - return HttpResponse("Workout doesn't exist") + return HttpResponseNotFound("Workout doesn't exist") s = "" # still here - this is a workout we may edit @@ -4524,13 +4528,13 @@ def strokedatajson(request,id): try: row = Workout.objects.get(id=id) if (checkworkoutuser(request.user,row)==False): - return HttpResponse("Permission error") + return HttpResponseForbidden("Permission error") except Workout.DoesNotExist: - return HttpResponse("Workout doesn't exist") + return HttpResponseNotFound("Workout doesn't exist") try: id = int(id) except ValueError: - return HttpResponse("Not a valid workout number") + return HttpResponse("Not a valid workout number",status=400) if request.method == 'GET': @@ -4541,7 +4545,7 @@ def strokedatajson(request,id): if request.method == 'POST': checkdata,r = dataprep.getrowdata_db(id=row.id) if not checkdata.empty: - return "Not OK 1" + return HttpResponse("Duplicate Error",409) # strokedata = request.POST['strokedata'] print request.body received_json_data = json.loads(request.body) @@ -4549,7 +4553,7 @@ def strokedatajson(request,id): try: strokedata = json.loads(received_json_data['strokedata']) except: - return HttpResponse("Not OK 2") + return HttpResponse("No JSON object could be decoded",400) df = pd.DataFrame(strokedata) df.index = df.index.astype(int) @@ -4559,18 +4563,18 @@ def strokedatajson(request,id): aantal = len(time) pace = df['pseconds'] if len(pace) != aantal: - return "Not OK" + return HttpResponse("Pace array has incorrect length",status=400) distance = df['distance'] if len(distance) != aantal: - return "Not OK 3" + return HttpResponse("Distance array has incorrect length",status=400) spm = df['spm'] if len(spm) != aantal: - return "Not OK 4" + return HttpResponse("SPM array has incorrect length",status=400) res = dataprep.testdata(time,distance,pace,spm) if not res: - return HttpResponse("Not OK 5") + return HttpResponse("Data are not numerical",status=400) power = trydf(df,aantal,'power') drivelength = trydf(df,aantal,'drivelength') @@ -4621,4 +4625,7 @@ def strokedatajson(request,id): # mangling # - return HttpResponse("OK") + return HttpResponse(row.id,status=201) + + #Method not supported + return HttpResponseNotAllowed("Method not supported") diff --git a/rowsandall_app/settings.py b/rowsandall_app/settings.py index 1e78bec2..e9cb69e5 100644 --- a/rowsandall_app/settings.py +++ b/rowsandall_app/settings.py @@ -45,7 +45,7 @@ INSTALLED_APPS = [ 'cvkbrno', 'django_rq', 'translation_manager', - 'debug_toolbar', +# 'debug_toolbar', 'django_mailbox', 'rest_framework', 'rest_framework_swagger', @@ -71,7 +71,7 @@ MIDDLEWARE_CLASSES = [ 'oauth2_provider.middleware.OAuth2TokenMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', - 'debug_toolbar.middleware.DebugToolbarMiddleware', +# 'debug_toolbar.middleware.DebugToolbarMiddleware', ] ROOT_URLCONF = 'rowsandall_app.urls' @@ -267,3 +267,4 @@ REST_FRAMEWORK = { ), 'PAGE_SIZE': 20, } +