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})
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)
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})
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)