|
@@ -1,3 +1,41 @@
|
|
|
from django.shortcuts import render
|
|
|
+from django.shortcuts import redirect
|
|
|
+from django.views.generic import View
|
|
|
+from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
|
|
|
+from django.contrib.auth.mixins import LoginRequiredMixin
|
|
|
+from django.utils import timezone
|
|
|
|
|
|
-# Create your views here.
|
|
|
+from .models import FacebookReview
|
|
|
+from .forms import ReplyForm
|
|
|
+
|
|
|
+
|
|
|
+class FacebookReviews(LoginRequiredMixin, View):
|
|
|
+
|
|
|
+ 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']
|
|
|
+ # TODO: Reply this review using selenium...
|
|
|
+
|
|
|
+ return redirect('un-replied-review')
|
|
|
+
|
|
|
+ def get(self, request, *args, **kwargs):
|
|
|
+ now = timezone.now()
|
|
|
+ form = ReplyForm()
|
|
|
+ date = now - timezone.timedelta(days=30)
|
|
|
+ # reviews = FacebookReview.objects.filter(reply=None, create_time__gte=date)\
|
|
|
+ # .order_by('create_time')
|
|
|
+ reviews = FacebookReview.objects.filter(create_time__gte=date)\
|
|
|
+ .order_by('create_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, 'facebook-reviews.html', context=context)
|