Use Django forms in members, WIP

This commit is contained in:
Jan Tuomi
2017-05-11 09:01:30 +03:00
parent 3b770343a0
commit 189f0dd30d
7 changed files with 60 additions and 36 deletions
+27 -25
View File
@@ -1,15 +1,19 @@
from django.shortcuts import render, get_object_or_404
from django.shortcuts import render
from django.contrib.auth.decorators import permission_required
from django.views.decorators.http import require_http_methods
from django.views.decorators.csrf import ensure_csrf_cookie
from django.http import HttpResponse, HttpResponseBadRequest
from django.core.exceptions import ValidationError
from members.models import Member, Request
import json
from django.http import HttpResponse, HttpResponseBadRequest, HttpResponseRedirect
from django.core.mail import send_mail
import requests
from django.conf import settings
import json
import requests
import logging
from members.models import Member, Request
from members.forms import MemberForm
'''Rest API'''
from members.serializers import MemberSerializer, MemberRequestSerializer
from rest_framework import generics
@@ -88,7 +92,8 @@ def member_list(request, *args, **kwargs):
@require_http_methods(["GET"])
@permission_required('members.change_member', login_url='/login')
def add_member(request, *args, **kwargs):
return render(request, 'add_member.html', {})
form = MemberForm()
return render(request, 'add_member.html', {'form': form})
@ensure_csrf_cookie
@require_http_methods(["GET"])
@@ -96,6 +101,21 @@ def add_member(request, *args, **kwargs):
def add_many_members(request, *args, **kwargs):
return render(request, 'add_many_members.html', {})
@ensure_csrf_cookie
@require_http_methods(["POST"])
@permission_required('members.change_member', login_url='/login')
def submit_member(request, *args, **kwargs):
form = MemberForm(request.POST)
if form.is_valid():
print(request.POST)
return HttpResponse('jee')
else:
print(request.POST)
print(form.errors)
return HttpResponse('oh shit')
return HttpResponseRedirect('/members')
@ensure_csrf_cookie
@require_http_methods(["GET"])
@permission_required('members.change_member', login_url='/login')
@@ -172,24 +192,6 @@ def member(request, *args, **kwargs):
resp.status_code = 500
return resp
# update model if request type was PUT
if request.method == 'PUT':
try:
data = json.loads(request.body.decode("utf-8"))
mem.update_from_dict(data)
except ValueError:
return HttpResponseBadRequest('{"error" : "Invalid parameters supplied"}')
return HttpResponse(json.dumps(mem.get_dict()))
if request.method == 'POST':
try:
data = json.loads(request.body.decode("utf-8"))
mem = Member.create_from_dict(data)
return HttpResponse(json.dumps(mem.get_dict()))
except ValueError:
return HttpResponseBadRequest('{"error" : "Invalid parameters supplied"}')
@ensure_csrf_cookie
@require_http_methods(["POST"])