/
views.py
executable file
·48 lines (39 loc) · 1.6 KB
/
views.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#coding: utf-8
from django.contrib.comments.views.comments import post_comment as django_post_comment
import django.db.models as models
from django.template.loader import render_to_string
from utils.djangoutils import JSONResponse
def no_comment(request):
return JSONResponse(object = {})
def post_comment(request):
jsonobject = {}
if request.method == "POST":
data = request.POST.copy()
verification_code = data.get("verification")
object_pk = data.get("object_pk")
verified = False
try:
#Uppfaert. Spurning geymd i stigull/templates/comments/forms.html
if verification_code == 'geirfugl':
verified = True
except:
verified = False
if not verified:
jsonobject['succeeded'] = False
return JSONResponse(object = jsonobject)
django_post_comment(request) #TODO: Better validation!
ctype = data.get("content_type")
if ctype is None or object_pk is None:
jsonobject['succeeded'] = False
else:
try:
model = models.get_model(*ctype.split(".", 1))
object = model._default_manager.get(pk=object_pk)
except TypeError:
jsonobject['succeeded'] = False
else:
jsonobject['succeeded'] = True
jsonobject['comments'] = render_to_string('comments/list_of_comments.html', {'object': object, 'user': request.user })
else:
jsonobject['succeeded'] = False
return JSONResponse(object = jsonobject)