server/src/metaeducation/views.py
author ymh <ymh.work@gmail.com>
Wed, 22 Jun 2016 00:53:58 +0200
changeset 71 1b93c07510e4
parent 15 8004d8fc9b38
child 73 f64fb2da5a54
permissions -rw-r--r--
add correct object initialization to save

from django.conf import settings
from django.core.urlresolvers import reverse
from django.http import HttpResponse, HttpResponseRedirect
from django.shortcuts import render, get_object_or_404
from django.views.decorators.csrf import csrf_exempt
from django.views.generic import TemplateView, View
from renkanmanager.api.views import RenkanDetail
from renkanmanager.models import Renkan
from renkanmanager.serializers import RenkanSerializer
from rest_framework.renderers import TemplateHTMLRenderer
from metaeducation import __version__

class ListRenkansView(View):
    template_name = "renkan_list.html"
    
    def get(self, request):
        renkans = Renkan.objects.filter(creator=request.user)
        return render(request, self.template_name, {'renkans': renkans, 'version': __version__})  
      
    def post(self, request):
        create_data = {
            "title" : request.POST.get("title", "Untitled Renkan")
        }
        
        serializer = RenkanSerializer(data=create_data)
        if serializer.is_valid():
            serializer.save(creator=request.user)
        return HttpResponseRedirect(request.META.get('HTTP_REFERER', settings.BASE_URL))

class NewRenkanView(View):
    
    def get(self, request):
        create_data = {
            "title" : "Untitled Renkan"
        }
        serializer = RenkanSerializer(data=create_data)
        if serializer.is_valid():
            new_renkan = serializer.save(creator=request.user)
            return HttpResponseRedirect(reverse("front_edit_renkan", kwargs={"renkan_guid": new_renkan.renkan_guid}))
        

class ViewRenkanView(TemplateView):
    template_name = "renkan_view.html"


class EditRenkanView(TemplateView):
    template_name = "renkan_edit.html"
    
class DeleteRenkanView(View):
    def get(self, request, renkan_guid):
        request.method = "DELETE"
        delete_response = RenkanDetail.as_view()(request, renkan_guid)
        return HttpResponseRedirect(request.META.get('HTTP_REFERER', settings.BASE_URL))