Example #1
0
def one_book(request, id):
    book = Book.objects.get(id=id)
    reviews = Review.objects.filter(book=book, visible=True)
    form = ReviewForm(request.POST)
    if request.method == 'POST':
        user = request.user
        print('USER !!!!!!!', user)
        if not request.user.is_authenticated:
            return HttpResponse('Пожалуйста, авторизируйтесь, чтобы оставить комментарий')

        if form.is_valid():
            title = form.cleaned_data['title']
            text = form.cleaned_data['text']

            new_form = form.save(commit = False)
            book = Book.objects.get(id=id)
            new_form.user = request.user
            new_form.book = book

            print('**********', datetime.now(), book)
            new_form.save()

            return HttpResponse('Ваша рецензия была отправлена на модерацию и будет в скором времени опубликована. Спасибо!')
    else:
        form = ReviewForm()
    return render(request, 'books/one_book.html', {'book': book, 'form': form, 'reviews': reviews})
Example #2
0
def edit_review(request, id):
    profile = UserProfile.objects.get(user=request.user)
    review = Review.objects.get(id=id)
    if(request.method=='POST'):
        review_form = ReviewForm(request.POST, instance=review)
        if review_form.is_valid():
            review_form.save()
            return HttpResponseRedirect("../../")
    else:
        review_form = ReviewForm(instance=review)
    context = {
        "form": review_form,
        "user": request.user,
        "profile": profile,
        "is_user": checkAuth(request),
    }
    return render(request, 'edit_review.html', context=context)
Example #3
0
def detail(request, pk):
    book = get_object_or_404(Book, pk=pk)
    if request.method == 'GET':
        form = ReviewForm()
        return render(request, 'detail.html', {'book': book, 'form': form})
    #if request.method == 'POST':
    form = ReviewForm(request.POST)
    if form.is_valid():
        review_instance = form.save(commit=False)
        review_instance.book = book
        review_instance.save()
        book.number_of_reviews = book.review_set.all().count()
        book.save()
        action.send(book, verb='was reviewed', reviewer=review_instance.name_of_reviewer, text=review_instance.text)
        return HttpResponseRedirect(reverse('detail', args=(book.pk,)))
    return render(request, 'detail.html', {'book': book, 'form': form})
Example #4
0
def create_comment(request, pk):
    if request.method == 'POST':
        form = ReviewForm(request.POST)
        if form.is_valid():
            instance = form.save(commit=False)
            instance.user = request.user
            instance.book = Book.objects.get(pk=pk)
            if instance.would_recommend:
                print('lul')
                instance.book.positive_votes = F('positive_votes') + 1
            else:
                print('wat')
                instance.book.negative_votes = F('negative_votes') + 1
            instance.book.save()
            instance.save()

        return redirect('book_detail', pk=pk)