|
@@ -6,6 +6,7 @@ from django.views.generic import View
|
|
from django.contrib import messages
|
|
from django.contrib import messages
|
|
from user.forms import StaffRegistrationForm, StaffSheetDateForm, GoogleReviewsFilter, FacebookReviewsFilter
|
|
from user.forms import StaffRegistrationForm, StaffSheetDateForm, GoogleReviewsFilter, FacebookReviewsFilter
|
|
from review.models import Review
|
|
from review.models import Review
|
|
|
|
+from yelp.models import YelpReview
|
|
from facebook_app.models import FacebookReview
|
|
from facebook_app.models import FacebookReview
|
|
from name_extractor.models import Staff
|
|
from name_extractor.models import Staff
|
|
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
|
|
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
|
|
@@ -110,6 +111,9 @@ class ReviewListLocationWise(View):
|
|
elif platform == 'facebook':
|
|
elif platform == 'facebook':
|
|
form = FacebookReviewsFilter()
|
|
form = FacebookReviewsFilter()
|
|
reviews = FacebookReview.objects.filter(page__location_id=location_id).order_by('-create_time')
|
|
reviews = FacebookReview.objects.filter(page__location_id=location_id).order_by('-create_time')
|
|
|
|
+ elif platform == 'yelp':
|
|
|
|
+ form = GoogleReviewsFilter()
|
|
|
|
+ reviews = YelpReview.objects.filter(location__location_id=location_id).order_by('-date_posted')
|
|
else:
|
|
else:
|
|
raise Http404()
|
|
raise Http404()
|
|
|
|
|
|
@@ -130,6 +134,8 @@ class ReviewListLocationWise(View):
|
|
form = GoogleReviewsFilter(data=request.POST)
|
|
form = GoogleReviewsFilter(data=request.POST)
|
|
start_date = date_str2datetime(request.POST.get('start_date'))
|
|
start_date = date_str2datetime(request.POST.get('start_date'))
|
|
end_date = date_str2datetime(request.POST.get('end_date'))
|
|
end_date = date_str2datetime(request.POST.get('end_date'))
|
|
|
|
+ if end_date < start_date:
|
|
|
|
+ start_date, end_date = end_date, start_date
|
|
star_rating = int(request.POST.get('star_ratings'))
|
|
star_rating = int(request.POST.get('star_ratings'))
|
|
reviews = Review.objects.filter(location_id=location_id).order_by('-update_time')
|
|
reviews = Review.objects.filter(location_id=location_id).order_by('-update_time')
|
|
if start_date and end_date:
|
|
if start_date and end_date:
|
|
@@ -137,6 +143,20 @@ class ReviewListLocationWise(View):
|
|
reviews = reviews.filter(create_time__range=(start_date, end_date))
|
|
reviews = reviews.filter(create_time__range=(start_date, end_date))
|
|
else:
|
|
else:
|
|
reviews = reviews.filter(create_time__range=(start_date, end_date), star_rating=star_rating)
|
|
reviews = reviews.filter(create_time__range=(start_date, end_date), star_rating=star_rating)
|
|
|
|
+ elif platform == 'yelp':
|
|
|
|
+ form = GoogleReviewsFilter(data=request.POST)
|
|
|
|
+ start_date = date_str2datetime(request.POST.get('start_date'))
|
|
|
|
+ end_date = date_str2datetime(request.POST.get('end_date'))
|
|
|
|
+ if end_date < start_date:
|
|
|
|
+ start_date, end_date = end_date, start_date
|
|
|
|
+ star_rating = int(request.POST.get('star_ratings'))
|
|
|
|
+ reviews = YelpReview.objects.filter(location__location_id=location_id).order_by('-date_posted')
|
|
|
|
+ if start_date and end_date:
|
|
|
|
+ if star_rating > 5:
|
|
|
|
+ reviews = reviews.filter(date_posted__range=(start_date, end_date))
|
|
|
|
+ else:
|
|
|
|
+ reviews = reviews.filter(date_posted__range=(start_date, end_date), rating=star_rating)
|
|
|
|
+
|
|
elif platform == 'facebook':
|
|
elif platform == 'facebook':
|
|
form = FacebookReviewsFilter(request.POST)
|
|
form = FacebookReviewsFilter(request.POST)
|
|
start_date = date_str2datetime(request.POST.get('start_date'))
|
|
start_date = date_str2datetime(request.POST.get('start_date'))
|