Use Django forms in members, WIP
This commit is contained in:
+27
-25
@@ -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"])
|
||||
|
||||
Reference in New Issue
Block a user