浏览代码

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
           Facebook
         </a>
         </a>
       </li>
       </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>
     </ul>
   </div>
   </div>
 </nav>
 </nav>

+ 20 - 0
manager/views.py

@@ -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'))