def create_view(request): next = request.GET.get('next', '/') msg = '' if request.user.is_authenticated: if request.method == "POST": review = Review() review.account = request.user review.restaurant = Restaurant.objects.get( pk=int(request.POST['restaurant'])) review.title = request.POST['title'] review.content = request.POST['review'] review.food = int(request.POST['food']) review.price = int(request.POST['price']) review.service = int(request.POST['service']) review.environment = int(request.POST['environment']) result = sum([ review.food, review.price, review.service, review.environment ]) / 4.0 review.average = round(result, 1) review.status = getReviewStatus(review.average) stars = getStars(review.average) review.star1 = stars[0] review.star2 = stars[1] review.star3 = stars[2] review.star4 = stars[3] review.star5 = stars[4] if review.title == '': msg = "Title field is requried." else: ck = updateRestaurantReview(review.restaurant, review) if ck == True: msg = 'Review has been saved.' review.save() else: msg = 'Something went wrong' else: msg = 'Bad request.' else: messages.success(request, "You need to login first to write a review.") return HttpResponseRedirect("/accounts/login/?next=" + next) if msg != '': messages.success(request, msg) return HttpResponseRedirect('/restaurants/' + review.restaurant.slug + "/review/")