瀏覽代碼

Yelp review list are added

Mohidul Islam 4 年之前
父節點
當前提交
d1b81b6ceb
共有 2 個文件被更改,包括 26 次插入6 次删除
  1. 6 6
      manager/templates/_navbar_man.html
  2. 20 0
      manager/views.py

+ 6 - 6
manager/templates/_navbar_man.html

@@ -61,12 +61,12 @@
           Facebook
         </a>
       </li>
-<!--      <li class="nav-item">-->
-<!--        <a class="nav-link" href="{% url 'location-wise-review-list' 'yelp' %}">-->
-<!--          <span data-feather="file-text"></span>-->
-<!--          Yelp-->
-<!--        </a>-->
-<!--      </li>-->
+      <li class="nav-item">
+        <a class="nav-link" href="{% url 'location-wise-review-list-man' platform='yelp' location_id=location.pk %}">
+          <span data-feather="file-text"></span>
+          Yelp
+        </a>
+      </li>
     </ul>
   </div>
 </nav>

+ 20 - 0
manager/views.py

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