Exemplo n.º 1
0
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})
Exemplo n.º 2
0
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
                          })
Exemplo n.º 3
0
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})
Exemplo n.º 4
0
Arquivo: views.py Projeto: zohan95/cw8
 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']
         })
Exemplo n.º 5
0
 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
Exemplo n.º 6
0
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
            })
Exemplo n.º 7
0
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)
Exemplo n.º 8
0
Arquivo: views.py Projeto: zohan95/cw8
 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()
Exemplo n.º 9
0
Arquivo: views.py Projeto: zohan95/cw8
 def get(self, *args, **kwargs):
     return render(self.request, 'review_create.html', {
         'form': ReviewForm(),
         'pk': self.kwargs['pk']
     })