diff -r 2b30c5426f1e -r 815589aed866 server/python/django/renkanmanager/views.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/python/django/renkanmanager/views.py Tue Jul 22 18:01:03 2014 +0200 @@ -0,0 +1,81 @@ +# -*- coding: utf-8 -*- +''' +Created on Jul 01, 2014 + +@author: tc +''' +from datetime import datetime +from django.core.urlresolvers import reverse +from django.http.response import HttpResponse, HttpResponseBadRequest +from django.shortcuts import get_object_or_404, redirect +from django.views.decorators.csrf import csrf_exempt +from django.views.generic import View +from renkanmanager.models import Renkan +from renkanmanager.utils import LineNodePlacer, renkan_copier, renkan_deleter +import uuid +import json + +import logging +logger = logging.getLogger(__name__) + + + +class RenkanGetPut(View): + + @csrf_exempt + def dispatch(self, *args, **kwargs): + return super(RenkanGetPut, self).dispatch(*args, **kwargs) + + def get(self, request): + + # If a renkan id is set + rk_id = request.GET.get("rk_id", "") + if rk_id!="": + rk = get_object_or_404(Renkan, rk_id=rk_id) + return HttpResponse(rk.content, content_type="application/json") + + return HttpResponseBadRequest("An error occurred while getting renkan.") + + + def put(self, request): + + rk_id = request.GET.get("rk_id", "") + #data = json.loads(request.body) + #logger.debug(data["edges"]) + #logger.debug(data["nodes"]) + if rk_id!="": + rk = get_object_or_404(Renkan, rk_id=rk_id) + if rk.owner!=request.user: + return HttpResponseBadRequest("You are not allowed to edit this renkan") + rk.content = request.body + data = json.loads(request.body) + if "title" in data: + rk.title = data["title"] + rk.save() + + return HttpResponse("OK") + + + + + +class RenkanCopy(View): + + def get(self, request, rk_id): + renkan_copier(request.user, rk_id) + if "next" in request.GET: + return redirect(request.GET["next"]) + return redirect(reverse('home')) + + + + + +class RenkanDelete(View): + + def get(self, request, rk_id): + renkan_deleter(request.user, rk_id) + if "next" in request.GET: + return redirect(request.GET["next"]) + return redirect(reverse('home')) + \ No newline at end of file