src/hdalab/views/profile.py
changeset 310 05c9f6551fde
parent 308 eab6629b5b31
child 311 6c16170f947f
--- 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")