Selaa lähdekoodia

Making post reply more informative

Mohidul Islam 5 vuotta sitten
vanhempi
commit
77653b22ff
1 muutettua tiedostoa jossa 27 lisäystä ja 10 poistoa
  1. 27 10
      dashboard/views.py

+ 27 - 10
dashboard/views.py

@@ -2,6 +2,7 @@ from django.utils import timezone
 from django.shortcuts import render, redirect
 from django.contrib import messages
 from django.views.generic import View
+from django.shortcuts import get_object_or_404
 from review.models import Review, Reply
 from review.forms import ReplyForm
 from gauth.models import Location
@@ -50,20 +51,36 @@ class UnRepliedReviewList(View):
     def post(self, request, *args, **kwargs):
         form = ReplyForm(self.request.POST)
         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 = 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 = review_reply
             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')
 
     def get(self, request, *args, **kwargs):