| author | cavaliet |
| Thu, 24 Jul 2014 13:18:10 +0200 | |
| changeset 320 | 154b121a43f1 |
| parent 319 | 91245f09c7a7 |
| permissions | -rw-r--r-- |
|
318
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
1 |
# -*- coding: utf-8 -*- |
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
2 |
''' |
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
3 |
Created on Jul 01, 2014 |
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
4 |
|
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
5 |
@author: tc |
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
6 |
''' |
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
7 |
from datetime import datetime |
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
8 |
from django.core.urlresolvers import reverse |
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
9 |
from django.http.response import HttpResponse, HttpResponseBadRequest |
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
10 |
from django.shortcuts import get_object_or_404, redirect |
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
11 |
from django.views.decorators.csrf import csrf_exempt |
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
12 |
from django.views.generic import View |
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
13 |
from renkanmanager.models import Renkan |
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
14 |
from renkanmanager.utils import LineNodePlacer, renkan_copier, renkan_deleter |
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
15 |
import uuid |
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
16 |
import json |
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
17 |
|
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
18 |
import logging |
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
19 |
logger = logging.getLogger(__name__) |
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
20 |
|
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
21 |
|
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
22 |
|
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
23 |
class RenkanGetPut(View): |
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
24 |
|
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
25 |
@csrf_exempt |
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
26 |
def dispatch(self, *args, **kwargs): |
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
27 |
return super(RenkanGetPut, self).dispatch(*args, **kwargs) |
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
28 |
|
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
29 |
def get(self, request): |
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
30 |
|
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
31 |
# If a renkan id is set |
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
32 |
rk_id = request.GET.get("rk_id", "") |
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
33 |
if rk_id!="": |
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
34 |
rk = get_object_or_404(Renkan, rk_id=rk_id) |
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
35 |
return HttpResponse(rk.content, content_type="application/json") |
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
36 |
|
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
37 |
return HttpResponseBadRequest("An error occurred while getting renkan.") |
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
38 |
|
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
39 |
|
|
320
154b121a43f1
enhance save on click (snapshot mode) and update django app
cavaliet
parents:
319
diff
changeset
|
40 |
def post(self, request): |
|
318
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
41 |
|
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
42 |
rk_id = request.GET.get("rk_id", "") |
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
43 |
#data = json.loads(request.body) |
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
44 |
#logger.debug(data["edges"]) |
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
45 |
#logger.debug(data["nodes"]) |
| 319 | 46 |
#logger.debug(request.user.is_authenticated()) |
47 |
#logger.debug(request.user.is_anonymous()) |
|
|
318
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
48 |
if rk_id!="": |
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
49 |
rk = get_object_or_404(Renkan, rk_id=rk_id) |
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
50 |
if rk.owner!=request.user: |
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
51 |
return HttpResponseBadRequest("You are not allowed to edit this renkan") |
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
52 |
rk.content = request.body |
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
53 |
data = json.loads(request.body) |
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
54 |
if "title" in data: |
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
55 |
rk.title = data["title"] |
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
56 |
rk.save() |
| 319 | 57 |
return HttpResponse("SAVED") |
|
318
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
58 |
|
| 319 | 59 |
return HttpResponse("NOT SAVED") |
|
318
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
60 |
|
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
61 |
|
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
62 |
|
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
63 |
|
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
64 |
|
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
65 |
class RenkanCopy(View): |
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
66 |
|
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
67 |
def get(self, request, rk_id): |
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
68 |
renkan_copier(request.user, rk_id) |
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
69 |
if "next" in request.GET: |
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
70 |
return redirect(request.GET["next"]) |
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
71 |
return redirect(reverse('home')) |
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
72 |
|
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
73 |
|
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
74 |
|
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
75 |
|
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
76 |
|
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
77 |
class RenkanDelete(View): |
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
78 |
|
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
79 |
def get(self, request, rk_id): |
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
80 |
renkan_deleter(request.user, rk_id) |
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
81 |
if "next" in request.GET: |
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
82 |
return redirect(request.GET["next"]) |
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
83 |
return redirect(reverse('home')) |
|
815589aed866
django app renkamanager (models, vanilla views, utils, static files)
cavaliet
parents:
diff
changeset
|
84 |