Pārlūkot izejas kodu

Added three models related to review

Mohidul Islam 5 gadi atpakaļ
vecāks
revīzija
613da1999a

+ 1 - 0
gauth/models.py

@@ -5,6 +5,7 @@ from django.contrib.auth.models import User
 class UserModel(models.Model):
     user = models.OneToOneField(User, on_delete=models.CASCADE, related_name='token_of')
     refresh_token = models.CharField(max_length=30)
+    # gmb_account_id = models.CharField(max_length=30)
 
     def __str__(self):
         return self.user.username

+ 2 - 2
gauth/urls.py

@@ -1,8 +1,8 @@
 from django.urls import path
-from .views import index, authorize, oauth2callback
+from .views import google_auth, authorize, oauth2callback
 
 urlpatterns = [
-    path('', index, name='home'),
+    path('gmb-authenticate/', google_auth, name='gmb-auth'),
     path('authorize/', authorize, name='authorize'),
     path('oauth2callback', oauth2callback, name='oauth2callback'),
 ]

+ 3 - 2
gauth/views.py

@@ -10,7 +10,7 @@ from .models import UserModel
 
 
 @login_required
-def index(request):
+def google_auth(request):
     uid = request.user.id
     user = UserModel.objects.filter(pk=uid).first()
     if not user:
@@ -49,9 +49,10 @@ def oauth2callback(request):
     credentials = flow.credentials
     request.session['credentials'] = credentials_to_dict(credentials)
     refresh_token = credentials.refresh_token
+
     user_model = UserModel.objects.create(user=request.user, refresh_token=refresh_token)
     user_model.save()
-    return redirect(reverse('home'))
+    return redirect(reverse('gmb-auth'))
 
 
 def credentials_to_dict(credentials):

+ 0 - 0
review/__init__.py


+ 3 - 0
review/admin.py

@@ -0,0 +1,3 @@
+from django.contrib import admin
+
+# Register your models here.

+ 5 - 0
review/apps.py

@@ -0,0 +1,5 @@
+from django.apps import AppConfig
+
+
+class ReviewConfig(AppConfig):
+    name = 'review'

+ 0 - 0
review/migrations/__init__.py


+ 34 - 0
review/models.py

@@ -0,0 +1,34 @@
+from django.db import models
+
+
+class Location(models.Model):
+    location_id = models.CharField(max_length=50)
+    location_name = models.CharField(max_length=50)
+    website_url = models.URLField()
+    display_name = models.CharField(max_length=50)
+
+    def __str__(self):
+        return self.display_name
+
+
+class Reply(models.Model):
+    replied_text = models.CharField(max_length=500)
+    create_time = models.DateTimeField()
+
+    def __str__(self):
+        return self.replied_text
+
+
+class Review(models.Model):
+    review_id = models.CharField(max_length=50)
+    comment = models.CharField(max_length=1000)
+    create_time = models.DateTimeField()
+    update_time = models.DateTimeField()
+    star_rating = models.IntegerField()
+    reviewer_name = models.CharField(max_length=50)
+    reviewer_photo = models.URLField()
+    location = models.ForeignKey(Location, on_delete=models.CASCADE)
+    reply = models.OneToOneField(Reply, on_delete=models.CASCADE)
+
+    def __str__(self):
+        return f'{self.reviewer_name} - {self.comment}'

+ 3 - 0
review/tests.py

@@ -0,0 +1,3 @@
+from django.test import TestCase
+
+# Create your tests here.

+ 3 - 0
review/views.py

@@ -0,0 +1,3 @@
+from django.shortcuts import render
+
+# Create your views here.

+ 1 - 0
review_automation/settings.py

@@ -24,6 +24,7 @@ INSTALLED_APPS = [
     'django.contrib.staticfiles',
 
     'gauth.apps.GauthConfig',
+    'review.apps.ReviewConfig',
 ]
 
 MIDDLEWARE = [