Using cache middleware instead of various caching micro-strategies,
[wolnelektury.git] / apps / social / views.py
index e5a8270..49c9b70 100644 (file)
@@ -3,14 +3,16 @@
 # Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
 #
 from django.shortcuts import render, get_object_or_404, redirect
-from django.http import HttpResponseForbidden
+from django.http import HttpResponseForbidden, JsonResponse
 from django.contrib.auth.decorators import login_required
 from django.views.decorators.http import require_POST
 
-from ajaxable.utils import JSONResponse, AjaxableFormView
+from ajaxable.utils import AjaxableFormView
 
 from catalogue.models import Book
+from ssify import ssi_included
 from social import forms
+from .models import Cite
 from social.utils import get_set, likes, set_sets
 
 
@@ -29,7 +31,7 @@ def like_book(request, slug):
         set_sets(request.user, book, [tag])
 
     if request.is_ajax():
-        return JSONResponse({"success": True, "msg": "ok", "like": True})
+        return JsonResponse({"success": True, "msg": "ok", "like": True})
     else:
         return redirect(book)
 
@@ -66,6 +68,23 @@ def unlike_book(request, slug):
         set_sets(request.user, book, [])
 
     if request.is_ajax():
-        return JSONResponse({"success": True, "msg": "ok", "like": False})
+        return JsonResponse({"success": True, "msg": "ok", "like": False})
     else:
         return redirect(book)
+
+
+@ssi_included
+def cite(request, pk, main=False):
+    cite = get_object_or_404(Cite, pk=pk)
+    return render(request, 'social/cite_promo.html', {
+        'main': main,
+        'cite': cite,
+    })
+
+
+@ssi_included(use_lang=False)
+def cite_info(request, pk):
+    cite = get_object_or_404(Cite, pk=pk)
+    return render(request, 'social/cite_info.html', {
+        'cite': cite,
+    })