Kaynağa Gözat

added star rating wise filtering

Mohidul Islam 4 yıl önce
ebeveyn
işleme
d9bd74be1f

+ 12 - 9
manager/templates/manager-base.html

@@ -41,15 +41,18 @@
         <main role="main" class="col-md-9 ml-sm-auto col-lg-10 pt-3 px-4">
           <div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pb-2 mb-3 border-bottom">
             <h1 class="h2">Dashboard for {{ location.care_name }}</h1>
-            <div class="btn-toolbar mb-2 mb-md-0">
-              <div class="btn-group mr-2">
-                <button class="btn btn-sm btn-outline-secondary">Export</button>
-              </div>
-              <button class="btn btn-sm btn-outline-secondary dropdown-toggle">
-                <span data-feather="calendar"></span>
-                This week
-              </button>
-            </div>
+              {% block filter %}
+              {% endblock %}
+
+<!--            <div class="btn-toolbar mb-2 mb-md-0">-->
+<!--              <div class="btn-group mr-2">-->
+<!--                <button class="btn btn-sm btn-outline-secondary">Export</button>-->
+<!--              </div>-->
+<!--              <button class="btn btn-sm btn-outline-secondary dropdown-toggle">-->
+<!--                <span data-feather="calendar"></span>-->
+<!--                This week-->
+<!--              </button>-->
+<!--            </div>-->
           </div>
           {% block content %}
           {% endblock %}

+ 33 - 0
manager/templates/review-list-man.html

@@ -1,4 +1,37 @@
 {% extends 'manager-base.html' %}
+
+{% block filter %}
+  <div class="btn-toolbar mb-2 mb-md-0">
+    <div class="btn-group mr-2">
+      {% if platform == 'google' %}
+        <a class="btn btn-outline-secondary" href="{% url 'location-wise-review-list-man' platform='google' location_id=location.pk %}">All Reviews</a>
+      {% elif platform == 'facebook' %}
+        <a class="btn btn-outline-secondary" href="{% url 'location-wise-review-list-man' platform='facebook' location_id=location.pk %}">All Reviews</a>
+      {% endif %}
+    </div>
+    <div class="dropdown show">
+      <a class="btn btn-outline-secondary dropdown-toggle" href="#" role="button" id="dropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
+        Filter Review
+      </a>
+      {% if platform == 'google' %}
+      <div class="dropdown-menu" aria-labelledby="dropdownMenuLink">
+        <a class="dropdown-item" href="{% url 'location-wise-review-list-man' platform='google' location_id=location.pk %}?rating=1">1 star rating</a>
+        <a class="dropdown-item" href="{% url 'location-wise-review-list-man' platform='google' location_id=location.pk %}?rating=2">2 star rating</a>
+        <a class="dropdown-item" href="{% url 'location-wise-review-list-man' platform='google' location_id=location.pk %}?rating=3">3 star rating</a>
+        <a class="dropdown-item" href="{% url 'location-wise-review-list-man' platform='google' location_id=location.pk %}?rating=4">4 star rating</a>
+        <a class="dropdown-item" href="{% url 'location-wise-review-list-man' platform='google' location_id=location.pk %}?rating=5">5 star rating</a>
+      </div>
+      {% elif platform == 'facebook' %}
+      <div class="dropdown-menu" aria-labelledby="dropdownMenuLink">
+        <a class="dropdown-item" href="{% url 'location-wise-review-list-man' platform='facebook' location_id=location.pk %}?rating=True">Recommended</a>
+        <a class="dropdown-item" href="{% url 'location-wise-review-list-man' platform='facebook' location_id=location.pk %}?rating=False">Not Recommended</a>
+      </div>
+      {% endif %}
+    </div>
+  </div>
+{% endblock %}
+
+
 {% block content %}
 <h2 style="text-align: center;">All reviews posted on {{ platform|title }}</h2>
 {% for review in reviews %}

+ 5 - 2
manager/views.py

@@ -98,13 +98,16 @@ class LocationAnalytics(LoginRequiredMixin, View):
 
 class ReviewListLocationWise(View):
     def get(self, request, platform, location_id,  *args, **kwargs):
+        rating = request.GET.get('rating')
         location = Location.objects.get(pk=location_id)
         if platform == 'google':
             reviews = Review.objects.filter(location_id=location_id).order_by('-update_time')
+            if rating:
+                reviews = reviews.filter(star_rating=rating)
         elif platform == 'facebook':
             reviews = FacebookReview.objects.filter(page__location_id=location_id).order_by('-create_time')
-        elif platform == 'yelp':
-            reviews = YelpReview.objects.filter(location__location_id=location_id).order_by('-date_posted')
+            if rating:
+                reviews = reviews.filter(recommendation_type=rating)
         else:
             raise Http404()