-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
#
from django.shortcuts import render, get_object_or_404, redirect
from django.http import HttpResponseForbidden, JsonResponse
from catalogue.models import Book, Tag
import catalogue.models.tag
-from social import forms
+from social import forms, models
from wolnelektury.utils import is_ajax
# ====================
-@require_POST
+@login_required
def like_book(request, slug):
- if not request.user.is_authenticated:
- return HttpResponseForbidden('Login required.')
book = get_object_or_404(Book, slug=slug)
+ if request.method != 'POST':
+ return redirect(book)
+
book.like(request.user)
if is_ajax(request):
form_class = forms.RemoveSetForm
-@require_POST
+@login_required
def unlike_book(request, slug):
- if not request.user.is_authenticated:
- return HttpResponseForbidden('Login required.')
book = get_object_or_404(Book, slug=slug)
+ if request.method != 'POST':
+ return redirect(book)
+
book.unlike(request.user)
if is_ajax(request):
t.name for t in tags
], safe=False
)
+
+
+def confirm_user(request, key):
+ uc = get_object_or_404(models.UserConfirmation, key=key)
+ user = uc.user
+ uc.use()
+ return render(request, 'social/user_confirmation.html', {
+ 'user': user,
+ })