def new_review(request, username): if request.method == 'POST': form = ReviewForm(request.POST) if form.is_valid(): # More validation to see if user can post review about the trader # Hasn't posted too recently already # Has chatted to trader recently trader_object = get_object_or_404(User, username=username) # Add review to database review_object = Review( trader=trader_object, reviewer=request.user, review_title=form.cleaned_data["title"], comment=form.cleaned_data["comment"], score=form.cleaned_data["score"], ) review_object.save() review_object.refresh_from_db() return redirect('detail', review_object.trader) else: # if form not valid, display it again with message return render(request, 'webapp/new_review.html', {'form': form}) form = ReviewForm() return render(request, 'webapp/new_review.html', {'form': form})
def review_edit_view(request, pk): review = get_object_or_404(Review, pk=pk) if request.method == 'GET': form = ReviewForm(data={ 'name': review.name, 'email': review.email, 'text': review.text }) return render(request, 'edit.html', context={ 'form': form, 'review': review }) elif request.method == 'POST': form = ReviewForm(data=request.POST) if form.is_valid(): data = form.cleaned_data review.name = data['name'] review.email = data['email'] review.text = data['text'] review.save() return redirect('index') else: return render(request, 'edit.html', context={ 'form': form, 'review': review })
def review_create_view(request, *args, **kwargs): if request.method == 'GET': form = ReviewForm() return render(request, 'create.html', context={'form': form}) elif request.method == 'POST': form = ReviewForm(data=request.POST) if form.is_valid(): review = Review.objects.create(name=form.cleaned_data['name'], email=form.cleaned_data['email'], text=form.cleaned_data['text']) return redirect('index') else: return render(request, 'create.html', context={'form': form})
def post(self, *args, **kwargs): bound_form = ReviewForm(self.request.POST) if bound_form.is_valid(): review = Review.objects.get(pk=self.kwargs['pk']) review.review_text = bound_form.cleaned_data.get('review_text') review.mark = bound_form.cleaned_data.get('mark') review.save() return redirect( reverse('webapp:product_details_url', args=(review.product_id, ))) else: return render(self.request, 'review_create.html', { 'form': bound_form, 'pk': self.kwargs['pk'] })
def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) history = set(context['user_obj'].announcement.all() | context['user_obj'].clients.all()) history = sorted(history, key=lambda O: O.departure_time, reverse=True) context['history'] = history context['review_form'] = ReviewForm() return context
def review_movie(request): if request.method == "POST": reviewform = ReviewForm(request.POST) new_post = None rating = request.POST.get('rating') if reviewform.is_valid(): m_id = Movie.objects.get(m_id=reviewform.cleaned_data['m_id']) user = Users.objects.get(username=request.user.username) review = reviewform.cleaned_data['review'] try: new_post = Posting.objects.get(m_id=m_id, username=user) new_post.new_review(new_review=review) new_post.update_rating(new_rating=rating) new_post.save() except ObjectDoesNotExist: new_post = Posting(m_id=m_id, username=user, review=review, rating=rating) new_post.save() listing_url = '/listing?m_id=' + str(new_post.m_id.m_id) return HttpResponseRedirect(listing_url) ''' else: will implement error later ''' elif request.method == "GET": movie = request.GET['movie'] movie = literal_eval(movie) reviewform = ReviewForm(initial={'m_id': movie['id']}) return render( request, 'pages/review.html', { 'title': movie['title'], 'poster_path': movie['poster_path'], 'release_date': movie['release_date'], 'm_id': movie['id'], 'reviewform': reviewform })
def place_info(name): pictures = [''] form = ReviewForm() imageform = ImageUpload() places = retrievePlace(name) reviews = retrieveReviews(name) images = list(mongo.db.images.find({"name": name})) lat = float(places[1][:-1]) long = float(places[2][:-1]) if form.validate_on_submit(): rate = Rating(user_id=current_user.id, place=name, rating=float(form.rating.data)) db.session.add(rate) db.session.commit() insertReviews(name, current_user.username, form.rating.data, form.comments.data) recos_places = find_relation(name) flash("Your review successfully added...!") if len(recos_places) > 0: recos = [] for i in recos_places: recos.append(retrievePlace(i)) return render_template('recommendations.html', results=recos) else: return redirect(url_for('users.place_info', name=name)) if imageform.validate_on_submit(): file = '' if imageform.image.data: file = add_picture(imageform.image.data) mongo.db.images.insert({"name": name, "image": file}) flash("Image successfully uploaded....!") return redirect(url_for('users.place_info', name=name)) return render_template('place.html', name=name, form=form, imageform=imageform, images=images, reviews=reviews, places=places, lat=lat, long=long)
def get(self, *args, **kwargs): review = Review.objects.get(pk=self.kwargs['pk']) if self.request.user == review.author or self.request.user.has_perm( 'webapp.change_review'): form = ReviewForm(instance=review) return render(self.request, 'review_edit.html', { 'pk': self.kwargs['pk'], 'form': form }) else: raise PermissionDenied()
def get(self, *args, **kwargs): return render(self.request, 'review_create.html', { 'form': ReviewForm(), 'pk': self.kwargs['pk'] })