diff -r c949cb431613 -r 05c9f6551fde src/hdalab/views/profile.py --- a/src/hdalab/views/profile.py Tue Aug 19 18:33:53 2014 +0200 +++ b/src/hdalab/views/profile.py Wed Aug 20 15:36:50 2014 +0200 @@ -13,7 +13,7 @@ from django.contrib.sites.models import get_current_site from django.core.urlresolvers import reverse from django.db.models import Q -from django.http import HttpResponse +from django.http import HttpResponse, HttpResponseBadRequest from django.http import HttpResponseRedirect from django.shortcuts import get_object_or_404, redirect from django.shortcuts import resolve_url @@ -230,19 +230,72 @@ response = json.dumps(content) - if request.user.is_authenticated(): - rk = Renkan() - rk.rk_id = unicode(uuid.uuid1()) - rk.title = title - rk.content = response - rk.owner = request.user - rk.save() - hr = HdalabRenkan() - hr.renkan = rk - hr.state = HdalabRenkan.EDITION - hr.save() +# if request.user.is_authenticated(): +# rk = Renkan() +# rk.rk_id = unicode(uuid.uuid1()) +# rk.title = title +# rk.content = response +# rk.owner = request.user +# rk.save() +# hr = HdalabRenkan() +# hr.renkan = rk +# hr.state = HdalabRenkan.EDITION +# hr.save() return HttpResponse(response, content_type="application/json") + + + def post(self, request): + + rk_id = request.GET.get("rk_id", "") + #data = json.loads(request.body) + logger.debug("YEAH !") + #logger.debug(data["edges"]) + #logger.debug(data["nodes"]) + #logger.debug(request.user.is_authenticated()) + #logger.debug(request.user.is_anonymous()) + 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("SAVED") + else: + logger.debug("1") + # if rk_id was not a get parameter AND if it is set in json data AND if user is authenticated + # Then we can save the renkan + data = json.loads(request.body) + logger.debug("2") + if "id" in data: + logger.debug("3") + rk_id = data["id"] + logger.debug("4") + logger.debug(rk_id) + logger.debug(Renkan.objects.filter(rk_id=rk_id)) + logger.debug(Renkan.objects.filter(rk_id=rk_id).count()) + logger.debug(request.user.is_authenticated()) + logger.debug(request.user) + if rk_id != "" and Renkan.objects.filter(rk_id=rk_id).count()==0 and request.user.is_authenticated(): + logger.debug("5") + rk = Renkan() + rk.rk_id = rk_id + rk.title = data["title"] if "title" in data else "" + rk.content = data + rk.owner = request.user + rk.save() + hr = HdalabRenkan() + hr.renkan = rk + hr.state = HdalabRenkan.EDITION + hr.save() + logger.debug("6") + return HttpResponse("rk_id=" + rk_id) + + + return HttpResponse("NOT SAVED")