|
@@ -2,6 +2,7 @@ from django.utils import timezone
|
|
from django.shortcuts import render, redirect
|
|
from django.shortcuts import render, redirect
|
|
from django.contrib import messages
|
|
from django.contrib import messages
|
|
from django.views.generic import View
|
|
from django.views.generic import View
|
|
|
|
+from django.shortcuts import get_object_or_404
|
|
from review.models import Review, Reply
|
|
from review.models import Review, Reply
|
|
from review.forms import ReplyForm
|
|
from review.forms import ReplyForm
|
|
from gauth.models import Location
|
|
from gauth.models import Location
|
|
@@ -50,20 +51,36 @@ class UnRepliedReviewList(View):
|
|
def post(self, request, *args, **kwargs):
|
|
def post(self, request, *args, **kwargs):
|
|
form = ReplyForm(self.request.POST)
|
|
form = ReplyForm(self.request.POST)
|
|
if form.is_valid():
|
|
if form.is_valid():
|
|
- reply = form.cleaned_data.get('reply')
|
|
|
|
|
|
+ replied_text = form.cleaned_data.get('reply')
|
|
review_id = self.request.POST['review_id']
|
|
review_id = self.request.POST['review_id']
|
|
- review = Review.objects.filter(pk=review_id).first()
|
|
|
|
- now = timezone.now()
|
|
|
|
- if review:
|
|
|
|
- review_reply = Reply(replied_text=reply, create_time=now)
|
|
|
|
|
|
+ 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=reply, create_time=timezone.now())
|
|
review_reply.save()
|
|
review_reply.save()
|
|
review.reply = review_reply
|
|
review.reply = review_reply
|
|
review.save()
|
|
review.save()
|
|
- response = reply_review(review=review, replied_text=reply)
|
|
|
|
- if response.status_code == 200:
|
|
|
|
- messages.success(request, f'Your reply has been posted!')
|
|
|
|
- else:
|
|
|
|
- messages.warning(request, f'User might remove this review. Reply has been saved in database!')
|
|
|
|
|
|
+ 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 sevice 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')
|
|
return redirect('un-replied-review')
|
|
|
|
|
|
def get(self, request, *args, **kwargs):
|
|
def get(self, request, *args, **kwargs):
|