server/src/metaeducation/views.py
author durandn
Wed, 17 Feb 2016 16:14:04 +0100
changeset 4 8bc8b208441d
parent 1 5f50937893ac
child 6 39cecdd5260e
permissions -rw-r--r--
corrected middleware to allow proper redirects
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
     1
from django.contrib.auth import authenticate, login, logout
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
     2
from django.core.urlresolvers import reverse
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
     3
from django.http import HttpResponse, HttpResponseRedirect
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
     4
from django.shortcuts import render, get_object_or_404
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
     5
from django.views.decorators.csrf import csrf_exempt
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
     6
from django.views.generic import TemplateView, View
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
     7
from rest_framework.renderers import TemplateHTMLRenderer
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
     8
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
     9
from renkanmanager.models import Renkan
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
    10
from renkanmanager.serializers import RenkanSerializer
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
    11
from renkanmanager.api.views import RenkanDetail
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
    12
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
    13
class ListRenkansView(View):
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
    14
    template_name = "renkan_list.html"
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
    15
    
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
    16
    def get(self, request):
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
    17
        renkans = Renkan.objects.filter(creator=request.user)
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
    18
        return render(request, self.template_name, {'renkans': renkans})  
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
    19
      
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
    20
    def post(self, request):
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
    21
        create_data = {
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
    22
            "title" : request.POST.get("title", "Untitled Renkan")
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
    23
        }
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
    24
        
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
    25
        serializer = RenkanSerializer(data=create_data)
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
    26
        if serializer.is_valid():
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
    27
            serializer.save(creator=request.user)
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
    28
        return HttpResponseRedirect(request.META.get('HTTP_REFERER', '/'))
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
    29
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
    30
class NewRenkanView(View):
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
    31
    
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
    32
    def get(self, request):
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
    33
        create_data = {
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
    34
            "title" : "Untitled Renkan"
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
    35
        }
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
    36
        serializer = RenkanSerializer(data=create_data)
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
    37
        if serializer.is_valid():
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
    38
            new_renkan = serializer.save(creator=request.user)
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
    39
            return HttpResponseRedirect(reverse("front_edit_renkan", kwargs={"renkan_guid": new_renkan.renkan_guid}))
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
    40
        
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
    41
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
    42
class ViewRenkanView(TemplateView):
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
    43
    template_name = "renkan_view.html"
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
    44
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
    45
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
    46
class EditRenkanView(TemplateView):
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
    47
    template_name = "renkan_edit.html"
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
    48
    
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
    49
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
    50
class DeleteRenkanView(View):
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
    51
    def get(self, request, renkan_guid):
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
    52
        request.method = "DELETE"
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
    53
        delete_response = RenkanDetail.as_view()(request, renkan_guid)
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
    54
        return HttpResponseRedirect(request.META.get('HTTP_REFERER', '/')) 
5f50937893ac Commit work on metaeducation
durandn
parents:
diff changeset
    55