1234567891011121314151617181920212223242526272829303132333435363738394041 |
- 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
- 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)
|