|
@@ -90,7 +90,7 @@ class UnRepliedReviewList(LoginRequiredMixin, PermissionRequiredMixin, View):
|
|
now = timezone.now()
|
|
now = timezone.now()
|
|
form = ReplyForm()
|
|
form = ReplyForm()
|
|
date = now - timezone.timedelta(days=30)
|
|
date = now - timezone.timedelta(days=30)
|
|
- reviews = Review.objects.filter(reply=None, update_time__gte=date)\
|
|
|
|
|
|
+ reviews = Review.objects.filter(reply=None, update_time__gte=date, location__organization='SC')\
|
|
.exclude(comment=None, star_rating=5)\
|
|
.exclude(comment=None, star_rating=5)\
|
|
.order_by('update_time')
|
|
.order_by('update_time')
|
|
|
|
|
|
@@ -120,4 +120,62 @@ class ReviewDetails(LoginRequiredMixin, PermissionRequiredMixin, DetailView):
|
|
permission_required = 'is_admin'
|
|
permission_required = 'is_admin'
|
|
model = Review
|
|
model = Review
|
|
template_name='review_details.html'
|
|
template_name='review_details.html'
|
|
- context_object_name='review'
|
|
|
|
|
|
+ context_object_name='review'
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+class UnRepliedReviewListEntrust(LoginRequiredMixin, PermissionRequiredMixin, View):
|
|
|
|
+ permission_required = 'is_admin'
|
|
|
|
+
|
|
|
|
+ def post(self, request, *args, **kwargs):
|
|
|
|
+ form = ReplyForm(self.request.POST)
|
|
|
|
+ if form.is_valid():
|
|
|
|
+ replied_text = form.cleaned_data.get('reply')
|
|
|
|
+ review_id = self.request.POST['review_id']
|
|
|
|
+ review = get_object_or_404(Review, pk=review_id)
|
|
|
|
+ response = reply_review(review=review, replied_text=replied_text)
|
|
|
|
+ if response.status_code == 200:
|
|
|
|
+ review_reply = Reply(replied_text=replied_text, create_time=timezone.now())
|
|
|
|
+ review_reply.save()
|
|
|
|
+ review.reply = review_reply
|
|
|
|
+ review.save()
|
|
|
|
+ messages.success(request, f'Your reply has been posted!')
|
|
|
|
+ elif response.status_code == 404:
|
|
|
|
+ review_reply = Reply(replied_text=replied_text, create_time=timezone.now())
|
|
|
|
+ review_reply.save()
|
|
|
|
+ review.reply = review_reply
|
|
|
|
+ review.save()
|
|
|
|
+ messages.warning(request, f'User might remove this review. Reply has been saved in database!')
|
|
|
|
+ elif response.status_code == 400:
|
|
|
|
+ messages.error(request, f'The request was unacceptable, often due to missing a required parameter.')
|
|
|
|
+ elif response.status_code == 401:
|
|
|
|
+ messages.error(request, f'No valid access token has provided. Please authorize again')
|
|
|
|
+ elif response.status_code == 402:
|
|
|
|
+ messages.info(request, f'The parameters were valid but the request failed.')
|
|
|
|
+ elif response.status_code == 403:
|
|
|
|
+ messages.error(request, f'The access token doesn\'t have permissions to perform the request.failed.')
|
|
|
|
+ elif response.status_code in [500, 502, 503, 504]:
|
|
|
|
+ messages.info(request, f'Something went wrong on Google\'s end. (These are rare.)')
|
|
|
|
+ elif response.status_code == 501:
|
|
|
|
+ messages.info(request, f'This service is off/postpond on Google\'s end. (These are rare.)')
|
|
|
|
+ else:
|
|
|
|
+ messages.info(request, f'Something went wrong on Byte Trek end. (Notify the Devs)')
|
|
|
|
+ return redirect('un-replied-review-entrust')
|
|
|
|
+
|
|
|
|
+ def get(self, request, *args, **kwargs):
|
|
|
|
+ now = timezone.now()
|
|
|
|
+ form = ReplyForm()
|
|
|
|
+ date = now - timezone.timedelta(days=30)
|
|
|
|
+ reviews = Review.objects.filter(reply=None, update_time__gte=date, location__organization='ET')\
|
|
|
|
+ .exclude(comment=None, star_rating=5)\
|
|
|
|
+ .order_by('update_time')
|
|
|
|
+
|
|
|
|
+ page = request.GET.get('page', 1)
|
|
|
|
+ paginator = Paginator(reviews, 10)
|
|
|
|
+ try:
|
|
|
|
+ reviews = paginator.page(page)
|
|
|
|
+ except PageNotAnInteger:
|
|
|
|
+ reviews = paginator.page(1)
|
|
|
|
+ except EmptyPage:
|
|
|
|
+ reviews = paginator.page(paginator.num_pages)
|
|
|
|
+ context = {'reviews': reviews, 'form': form}
|
|
|
|
+ return render(request, 'dashboard.html', context=context)
|