Mohidul Islam 4 anos atrás
pai
commit
79437a1a3f

+ 60 - 43
analytics/templates/weekly_report.html

@@ -99,22 +99,39 @@
       </tr>      
       <!-- Yelp Reviews Summary -->
 
-      <tr>
-        <td>Yelp</td>
-          <td>
-            {% if yelp_ratings.count == 0 %}
-            <span style="color: red; font-weight: bold;">No Ratings!</span>
-            {% else %}
-            {% for r in yelp_ratings %}
-              {% if r.rating < 3 %}
-                <p style="color: red; font-weight: bold;">{{ r.rating }}* star: {{ r.total }}</p>
-              {% else %}
-                <p>{{ r.rating }}* star: {{ r.total }}</p>
-              {% endif %}
-            {% endfor %}
-            {% endif %}
-          </td>
-      </tr>      
+<!--      <tr>-->
+<!--        <td>Yelp</td>-->
+<!--          <td>-->
+<!--            {% if yelp_ratings.count == 0 %}-->
+<!--            <span style="color: red; font-weight: bold;">No Ratings!</span>-->
+<!--            {% else %}-->
+<!--            {% for r in yelp_ratings %}-->
+<!--              {% if r.rating < 3 %}-->
+<!--                <p style="color: red; font-weight: bold;">{{ r.rating }}* star: {{ r.total }}</p>-->
+<!--              {% else %}-->
+<!--                <p>{{ r.rating }}* star: {{ r.total }}</p>-->
+<!--              {% endif %}-->
+<!--            {% endfor %}-->
+<!--            {% endif %}-->
+<!--          </td>-->
+<!--      </tr>      -->
+
+<!--      <tr>-->
+<!--        <td>Yelp</td>-->
+<!--          <td>-->
+<!--            {% if yelp_ratings.count == 0 %}-->
+<!--            <span style="color: red; font-weight: bold;">No Ratings!</span>-->
+<!--            {% else %}-->
+<!--            {% for r in yelp_ratings %}-->
+<!--              {% if r.rating < 3 %}-->
+<!--                <p style="color: red; font-weight: bold;">{{ r.rating }}* star: {{ r.total }}</p>-->
+<!--              {% else %}-->
+<!--                <p>{{ r.rating }}* star: {{ r.total }}</p>-->
+<!--              {% endif %}-->
+<!--            {% endfor %}-->
+<!--            {% endif %}-->
+<!--          </td>-->
+<!--      </tr>      -->
 <!--       Facebook Reviews Summary-->
 
       <tr>
@@ -168,38 +185,38 @@
         </td>
         {% else %}
         <td>
-          <span style="color: green; font-weight: bold;">No bad reviews has been posted in Yelp!</span>
+          <span style="color: green; font-weight: bold;">No negative reviews has been posted in Google!</span>
         </td>
         {% endif %} 
       </tr>
 
       <!--      Yelp bad reviews list-->
 
-      <tr>
-        <td>Yelp</td>
-        {% if yelp_bad_reviews.count > 0 %}
-        <td style="width: 100%; padding: 0px">
-          <table class="n-bordered" border="1px"  style="border-collapse: collapse;">
-<!--            <tr style="background-color: rgb(179, 177, 177);">-->
-<!--&lt;!&ndash;              <td style="width: 20%;">Reviewer Name</td>&ndash;&gt;-->
-<!--              <td style="width: 90%;">Comment</td>-->
-<!--              <td style="width: 10%;">Rating</td>-->
-<!--            </tr>-->
-            {% for review in yelp_bad_reviews %}
-              <tr>
-<!--                <td>{{ review.reviewer_name }}</td>-->
-                <td style="width: 90%;">{{ review.comment }}</td>
-                <td style="width: 10%;">{{ review.rating }}*</td>
-              </tr>
-            {% endfor %}
-          </table>
-        </td>
-        {% else %}
-          <td>
-            <span style="color: green; font-weight: bold;">No bad reviews has been posted in Yelp!</span>
-          </td>
-        {% endif %}
-      </tr>
+<!--      <tr>-->
+<!--        <td>Yelp</td>-->
+<!--        {% if yelp_bad_reviews.count > 0 %}-->
+<!--        <td style="width: 100%; padding: 0px">-->
+<!--          <table class="n-bordered" border="1px"  style="border-collapse: collapse;">-->
+<!--&lt;!&ndash;            <tr style="background-color: rgb(179, 177, 177);">&ndash;&gt;-->
+<!--&lt;!&ndash;&lt;!&ndash;              <td style="width: 20%;">Reviewer Name</td>&ndash;&gt;&ndash;&gt;-->
+<!--&lt;!&ndash;              <td style="width: 90%;">Comment</td>&ndash;&gt;-->
+<!--&lt;!&ndash;              <td style="width: 10%;">Rating</td>&ndash;&gt;-->
+<!--&lt;!&ndash;            </tr>&ndash;&gt;-->
+<!--            {% for review in yelp_bad_reviews %}-->
+<!--              <tr>-->
+<!--&lt;!&ndash;                <td>{{ review.reviewer_name }}</td>&ndash;&gt;-->
+<!--                <td style="width: 90%;">{{ review.comment }}</td>-->
+<!--                <td style="width: 10%;">{{ review.rating }}*</td>-->
+<!--              </tr>-->
+<!--            {% endfor %}-->
+<!--          </table>-->
+<!--        </td>-->
+<!--        {% else %}-->
+<!--          <td>-->
+<!--            <span style="color: green; font-weight: bold;">No bad reviews has been posted in Yelp!</span>-->
+<!--          </td>-->
+<!--        {% endif %}-->
+<!--      </tr>-->
 
 <!--      Facebook Review-->
 
@@ -218,7 +235,7 @@
         </td>
         {% else %}
           <td>
-            <span style="color: green; font-weight: bold;">No bad reviews has been posted in Facebook!</span>
+            <span style="color: green; font-weight: bold;">No negative recommendation has been posted in Facebook!</span>
           </td>
         {% endif %}
       </tr>

+ 0 - 4
analytics/views.py

@@ -50,19 +50,15 @@ def monthly_report(requests, location_id):
 
 def weekly_report(requests, location_id):
     g_reviews, g_ratings = weekly_reviews_summary(location_id=location_id)
-    y_reviews, y_ratings = get_yelp_weekly_summary(location_id=location_id)
     f_reviews, f_ratings = get_facebook_weekly_summary(location_id=location_id)
 
     g_bad_reviews = g_reviews.filter(star_rating__lte=2)
-    y_bad_reviews = y_reviews.filter(rating__lte=2)
     f_bad_reviews = f_reviews.filter(recommendation_type=False)
 
     context = {
 
         'google_ratings': g_ratings,
         'google_bad_reviews': g_bad_reviews,
-        'yelp_ratings': y_ratings,
-        'yelp_bad_reviews': y_bad_reviews,
         'facebook_ratings': f_ratings,
         'facebook_bad_reviews': f_bad_reviews
     }

+ 10 - 10
name_extractor/utils.py

@@ -59,8 +59,8 @@ def add_point_to_staff_profile(text, location_id, platform):
                     staff.name_mentioned_google += 1
                 elif platform == 'facebook':
                     staff.name_mentioned_facebook += 1
-                elif platform == 'yelp':
-                    staff.name_mentioned_yelp += 1
+                # elif platform == 'yelp':
+                #     staff.name_mentioned_yelp += 1
                 else:
                     raise AttributeError('No such platform found.')
                 staff.total_units += point_unit
@@ -96,11 +96,11 @@ def extract_names_from_reviews(start_date, end_date, location_id=None):
     for review in facebook_reviews:
         add_point_to_staff_profile(text=review.review_text, location_id=location_id, platform='facebook')
 
-    # For yelp reviews
-    yelp_reviews = YelpReview.objects.filter(
-        location__location_id=location_id,
-        date_posted__range=(start_date, end_date)
-    ).exclude(comment=None)
-
-    for review in yelp_reviews:
-        add_point_to_staff_profile(text=review.comment, location_id=location_id, platform='yelp')
+    # # For yelp reviews
+    # yelp_reviews = YelpReview.objects.filter(
+    #     location__location_id=location_id,
+    #     date_posted__range=(start_date, end_date)
+    # ).exclude(comment=None)
+    #
+    # for review in yelp_reviews:
+    #     add_point_to_staff_profile(text=review.comment, location_id=location_id, platform='yelp')

+ 0 - 1
review_automation/settings/config.py

@@ -3,7 +3,6 @@ CRONJOBS = [
     ('0 * * * *', 'review.background_job.background_task_every_hour'),
     ('0 0 * * SUN', 'analytics.background_job.background_task_7_days_interval'),
     ('0 */12 * * *', 'facebook_app.background_job.schedule_task'),
-    ('0 */12 * * *', 'yelp.background_job.scheduled_task')
 ]
 
 

+ 6 - 6
user/templates/_navbar.html

@@ -59,12 +59,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' 'yelp' %}">-->
+<!--          <span data-feather="file-text"></span>-->
+<!--          Yelp-->
+<!--        </a>-->
+<!--      </li>-->
     </ul>
   </div>
 </nav>

+ 8 - 119
user/templates/location-wise-reviews.html

@@ -25,14 +25,14 @@
         <canvas id="facebookPieChart" width="200" height="150"></canvas>
       </div>
   </div>
-  <div class="graph-card graph-card-shadow graph-container">
-      <div style="position: relative; width: 70%;">
-        <canvas id="yelpLineChart" width="900" height="300"></canvas>
-      </div>
-      <div style="position: relative; width: 30%;">
-        <canvas id="yelpPieChart" width="200" height="150"></canvas>
-      </div>
-  </div>
+<!--  <div class="graph-card graph-card-shadow graph-container">-->
+<!--      <div style="position: relative; width: 70%;">-->
+<!--        <canvas id="yelpLineChart" width="900" height="300"></canvas>-->
+<!--      </div>-->
+<!--      <div style="position: relative; width: 30%;">-->
+<!--        <canvas id="yelpPieChart" width="200" height="150"></canvas>-->
+<!--      </div>-->
+<!--  </div>-->
 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
 <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.3/Chart.bundle.min.js" integrity="sha256-TQq84xX6vkwR0Qs1qH5ADkP+MvH0W+9E7TdHJsoIQiM=" crossorigin="anonymous"></script>
@@ -44,8 +44,6 @@
   var google_pie_ctx = document.getElementById("googlePieChart");
   var facebook_line_ctx = document.getElementById("facebookLineChart");
   var facebook_pie_ctx = document.getElementById("facebookPieChart");
-  var yelp_line_ctx = document.getElementById("yelpLineChart");
-  var yelp_pie_ctx = document.getElementById("yelpPieChart");
   var location_id = document.getElementById("location_id").value;
   console.log(location_id.value)
   var endpoint = '/user/api/analytics/all-platform';
@@ -82,14 +80,6 @@
                     backgroundColor: 'rgb(0, 51, 204)',
                     borderWidth: 1,
                     fill: false
-                },
-                {
-                    label: 'Yelp',
-                    data: data.yelp.total_review,
-                    borderColor: 'rgb(204, 51, 0)',
-                    backgroundColor: 'rgb(204, 51, 0)',
-                    borderWidth: 1,
-                    fill: false
                 }]
             },
             options: {
@@ -285,107 +275,6 @@
               }
             }
         });
-        // Yelp review charts
-        // Yelp line chart
-        var myYelpLineChart = new Chart(yelp_line_ctx, {
-          type: 'line',
-          data: {
-              labels: data.yelp.labels,
-              datasets: [
-                  {
-                    label: '1*',
-                    data: data.yelp.star_rating[0],
-                    borderColor: 'rgb(204, 0, 17)',
-                    backgroundColor: 'rgb(204, 0, 17)',
-                    borderWidth: 1,
-                    lineTension: 0,
-                    fill: false
-                },
-                {
-                    label: '2*',
-                    data: data.yelp.star_rating[1],
-                    borderColor: 'rgb(255, 119, 0)',
-                    backgroundColor: 'rgb(255, 119, 0)',
-                    borderWidth: 1,
-                    lineTension: 0,
-                    fill: false
-                },
-                {
-                    label: '3*',
-                    data: data.yelp.star_rating[2],
-                    borderColor: 'rgb(219, 208, 0)',
-                    backgroundColor: 'rgb(219, 208, 0)',
-                    borderWidth: 1,
-                    lineTension: 0,
-                    fill: false
-                },
-                {
-                    label: '4*',
-                    data: data.yelp.star_rating[3],
-                    borderColor: 'rgb(0, 157, 166)',
-                    backgroundColor: 'rgb(0, 157, 166)',
-                    borderWidth: 1,
-                    lineTension: 0,
-                    fill: false
-                },
-                {
-                    label: '5*',
-                    data: data.yelp.star_rating[4],
-                    borderColor: 'rgb(0, 97, 0)',
-                    backgroundColor: 'rgb(0, 97, 0)',
-                    borderWidth: 1,
-                    lineTension: 0,
-                    fill: false,
-
-                }]
-            },
-            options: {
-                borderJoinStyle: "bevel",
-                scales: {
-                    yAxes: [{
-                        ticks: {
-                            beginAtZero: true
-                        }
-                    }],
-                    xAxes: [{
-                        gridLines: {
-                            drawOnChartArea:false
-                        }
-                    }]
-                },
-                title: {
-                    display: true,
-                    fontSize: 16,
-                    text: "Monthly review in Yelp."
-                }
-            }
-        });
-
-        // Yelp pie chart
-        var myGooglePieChart = new Chart(yelp_pie_ctx, {
-          type: 'pie',
-          data: {
-              labels: data.yelp.curr_month.label,
-              datasets: [
-                  {
-                    data: data.yelp.curr_month.total,
-                    backgroundColor: [
-                      'rgb(0, 97, 0)',
-                      'rgb(0, 157, 166)',
-                      'rgb(219, 208, 0)',
-                      'rgb(255, 119, 0)',
-                       'rgb(204, 0, 17)'
-                    ]
-                }]
-            },
-            options: {
-              title: {
-                display: true,
-                fontSize: 12,
-                text: 'All reviews of this month'
-              }
-            }
-        });
     },
 
     error: function(error_data) {

+ 14 - 15
user/templates/staff_list.html

@@ -5,20 +5,19 @@
 <!--adding a new staff member.-->
   {# Django Tempus Dominus assets are included in `{{ form.media }}` #}
   {{ date_form.media }}
-    <div>
-      <button type="button" class="btn btn-primary" data-toggle="modal" data-target=".bd-example-modal-lg">Add a new staff</button>
-      <form method="post" class="form" action="{% url 'sync-staff-list' %}">
-          {% csrf_token %}
-        <div>
-          {{ date_form.start_date }}
-<!--        </div>-->
-<!--        <div>-->
-          {{ date_form.end_date }}
-        </div>
-        <input type="submit" name="Submit" id="">
-      </form>
-    </div>
-
+  <div class="row">
+    <button type="button" class="btn btn-primary" data-toggle="modal" data-target=".bd-example-modal-lg" style="margin: 15px 5px 15px 15px; margin-bottom: 30px;">Add a new staff</button>
+    <form method="post" class="form-row align-items-center" action="{% url 'sync-staff-list' %}">
+        {% csrf_token %}
+      <div class="col-auto">
+        {{ date_form.start_date }}
+      </div>
+      <div class="col-auto">
+        {{ date_form.end_date }}
+      </div>
+      <input type="submit" name="Submit" class="btn btn-primary">
+    </form>
+  </div>
   <div class="modal fade bd-example-modal-lg" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true">
     <div class="modal-dialog modal-lg">
       <div class="modal-content">
@@ -52,7 +51,7 @@
         <div class="card-body">
           Name Mentioned:<span > <i class="fa fa-google" aria-hidden="true" style="color: #ff7700; margin-left: 1rem;"></i> {{ staff.name_mentioned_google }}</span>
           <span > <i class="fa fa-facebook" aria-hidden="true" style="color: blue; margin-left: 2rem;"></i> {{ staff.name_mentioned_facebook }} </span>
-          <span ><i class="fa fa-yelp" aria-hidden="true" style="color: red; margin-left: 2rem;"></i> {{ staff.name_mentioned_yelp }}</span>
+<!--          <span ><i class="fa fa-yelp" aria-hidden="true" style="color: red; margin-left: 2rem;"></i> {{ staff.name_mentioned_yelp }}</span>-->
           <span style="float: right;">Bonus: ${{ staff.total_units }}</span>
         </div>
       </div>

+ 34 - 42
user/templates/user-dashboard.html

@@ -5,7 +5,7 @@
 <!--cart-->
 <div class="row">
 
-  <div class="col-sm-6 col-md-4">
+  <div class="col-sm-6 col-md-6">
       <div class="card text-white bg-secondary mb-3">
       <div class="card-header"><h5 class="card-title">Google <span><i class="fa fa-google" aria-hidden="true"></i></span></h5></div>
         <div class="card-body">
@@ -23,25 +23,25 @@
       </div>
   </div>
 
-  <div class="col-sm-6 col-md-4">
-      <div class="card text-white bg-danger mb-3">
-      <div class="card-header"><h5 class="card-title">Yelp <span><i class="fa fa-yelp" aria-hidden="true"></i></span></h5></div>
-        <div class="card-body">
-          <table class="table">
-            <tr>
-              <td><i class="fa fa-pencil-square-o" aria-hidden="true"></i>  Total Review</td>
-              <td>{{ yelp_total }}</td>
-            </tr>
-            <tr>
-              <td><i class="fa fa-line-chart" aria-hidden="true"></i>  Growth</td>
-              <td>{{ yelp_total_growth }}%</td>
-            </tr>
-          </table>
-        </div>
-      </div>
-  </div>
+<!--  <div class="col-sm-6 col-md-4">-->
+<!--      <div class="card text-white bg-danger mb-3">-->
+<!--      <div class="card-header"><h5 class="card-title">Yelp <span><i class="fa fa-yelp" aria-hidden="true"></i></span></h5></div>-->
+<!--        <div class="card-body">-->
+<!--          <table class="table">-->
+<!--            <tr>-->
+<!--              <td><i class="fa fa-pencil-square-o" aria-hidden="true"></i>  Total Review</td>-->
+<!--              <td>{{ yelp_total }}</td>-->
+<!--            </tr>-->
+<!--            <tr>-->
+<!--              <td><i class="fa fa-line-chart" aria-hidden="true"></i>  Growth</td>-->
+<!--              <td>{{ yelp_total_growth }}%</td>-->
+<!--            </tr>-->
+<!--          </table>-->
+<!--        </div>-->
+<!--      </div>-->
+<!--  </div>-->
 
-  <div class="col-sm-6 col-md-4">
+  <div class="col-sm-6 col-md-6">
       <div class="card text-white bg-primary mb-3">
       <div class="card-header"><h5 class="card-title">Facebook <span><i class="fa fa-facebook" aria-hidden="true"></i></span></h5></div>
         <div class="card-body">
@@ -92,21 +92,21 @@
             <td class="table-danger"><i class="fa fa-arrow-circle-o-up mr-2" aria-hidden="true"></i>{{ google_neg_gr }} %</td>
           {% endif %}
         </tr>
-        <tr>
-          <td>Yelp</td>
-          <td>{{ yelp_pos }}</td>
-          {% if yelp_pos_gr > 0 %}
-            <td class="table-success"><i class="fa fa-arrow-circle-o-up mr-2" aria-hidden="true"></i>{{ yelp_pos_gr }} %</td>
-          {% else %}
-            <td class="table-danger"><i class="fa fa-arrow-circle-o-down mr-2" aria-hidden="true"></i>{{ yelp_pos_gr }} %</td>
-          {% endif %}
-          <td>{{ yelp_neg }}</td>
-          {% if yelp_neg_gr < 0 %}
-            <td class="table-success"><i class="fa fa-arrow-circle-o-down mr-2" aria-hidden="true"></i>{{ yelp_neg_gr }} %</td>
-          {% else %}
-            <td class="table-danger"><i class="fa fa-arrow-circle-o-up mr-2" aria-hidden="true"></i>{{ yelp_neg_gr }} %</td>
-          {% endif %}
-        </tr>
+<!--        <tr>-->
+<!--          <td>Yelp</td>-->
+<!--          <td>{{ yelp_pos }}</td>-->
+<!--          {% if yelp_pos_gr > 0 %}-->
+<!--            <td class="table-success"><i class="fa fa-arrow-circle-o-up mr-2" aria-hidden="true"></i>{{ yelp_pos_gr }} %</td>-->
+<!--          {% else %}-->
+<!--            <td class="table-danger"><i class="fa fa-arrow-circle-o-down mr-2" aria-hidden="true"></i>{{ yelp_pos_gr }} %</td>-->
+<!--          {% endif %}-->
+<!--          <td>{{ yelp_neg }}</td>-->
+<!--          {% if yelp_neg_gr < 0 %}-->
+<!--            <td class="table-success"><i class="fa fa-arrow-circle-o-down mr-2" aria-hidden="true"></i>{{ yelp_neg_gr }} %</td>-->
+<!--          {% else %}-->
+<!--            <td class="table-danger"><i class="fa fa-arrow-circle-o-up mr-2" aria-hidden="true"></i>{{ yelp_neg_gr }} %</td>-->
+<!--          {% endif %}-->
+<!--        </tr>-->
         <tr style="border-bottom: 1px solid #dee2e6">
           <td>Facebook</td>
           <td>{{ facebook_pos }}</td>
@@ -166,14 +166,6 @@
                     backgroundColor: 'rgb(0, 51, 204)',
                     borderWidth: 1,
                     fill: false
-                },
-                {
-                    label: 'Yelp',
-                    data: data.yelp,
-                    borderColor: 'rgb(204, 51, 0)',
-                    backgroundColor: 'rgb(204, 51, 0)',
-                    borderWidth: 1,
-                    fill: false
                 }]
             },
             options: {

+ 25 - 4
user/utils.py

@@ -244,10 +244,15 @@ def get_review_count_by_month(location_id, platform):
         # Here key tuple ('September', 5) means 5 star ratings in September month and value is the number of star count.
         row_dict = {(row[0], row[1]): row[2] for row in rows}
         # Get all month names for graph label
-        labels = []
-        for row in rows:
-            if row[0] not in labels:
-                labels.append(row[0])
+
+        labels = formatter_month(now.month)
+
+        # labels = []
+        # for row in rows:
+        #     if row[0] not in labels:
+        #         labels.append(row[0])
+        # print(labels)
+
         star_ratings = []
         if platform == 'facebook':
             for i in range(2):
@@ -272,3 +277,19 @@ def date_str2datetime(date):
     date = timezone.datetime(year=int(year), month=int(month), day=int(day))
     dt_aware = timezone.make_aware(date, timezone.get_current_timezone())
     return dt_aware
+
+
+def formatter_month(m):
+    '''
+    Make month this formate
+    >>> formatter_month(5)
+    [5, 4, 3, 2, 1, 12, 11, 10, 9, 8, 7, 6]
+    >>> formatter_month(7)
+    [7, 6, 5, 4, 3, 2, 1, 12, 11, 10, 9, 8]
+
+    :param m: index of current month
+    :return: formatter of mentioned formate
+    '''
+    month = ['January', 'February', 'March', 'April', 'May', 'June', 'July',
+             'August', 'September', 'October', 'November', 'December']
+    return month[m:] + month[:m]