diff --git a/.github/workflows/linter.yml b/.github/workflows/linter.yml index 05ca50d23b..c02bb70232 100644 --- a/.github/workflows/linter.yml +++ b/.github/workflows/linter.yml @@ -3,6 +3,7 @@ name: 'Lint Code' on: push: branches: [master, main] + pull_request: branches: [master, main] diff --git a/server/db.sqlite3 b/server/db.sqlite3 new file mode 100644 index 0000000000..e5a7b3abbf Binary files /dev/null and b/server/db.sqlite3 differ diff --git a/server/djangoapp/templates/djangoapp/about.html b/server/djangoapp/templates/djangoapp/about.html new file mode 100644 index 0000000000..5039cd1e40 --- /dev/null +++ b/server/djangoapp/templates/djangoapp/about.html @@ -0,0 +1,62 @@ + + + + + Dealership Review + + + + + + + + + + + + +
+ About Me! +
+ + + diff --git a/server/djangoapp/templates/djangoapp/contact.html b/server/djangoapp/templates/djangoapp/contact.html new file mode 100644 index 0000000000..09736bb8f1 --- /dev/null +++ b/server/djangoapp/templates/djangoapp/contact.html @@ -0,0 +1,62 @@ + + + + + Dealership Review + + + + + + + + + + + + +
+ Contact Us! +
+ + + diff --git a/server/djangoapp/templates/djangoapp/index.html b/server/djangoapp/templates/djangoapp/index.html index 1a9ee6e39a..c3b5b5a483 100644 --- a/server/djangoapp/templates/djangoapp/index.html +++ b/server/djangoapp/templates/djangoapp/index.html @@ -10,16 +10,55 @@ - + - - This is the index page of your Django app! - + + + Home Page - + \ No newline at end of file diff --git a/server/djangoapp/templates/djangoapp/registration.html b/server/djangoapp/templates/djangoapp/registration.html index ae11ea4b71..29bb88c91d 100644 --- a/server/djangoapp/templates/djangoapp/registration.html +++ b/server/djangoapp/templates/djangoapp/registration.html @@ -6,6 +6,45 @@ - +
+
+
+ Back to Home +
+
+ {% if register_message_error %} +
+ {{ register_message_error }} +
+ {% else %} + Get Your Next Ride In No Time + {% endif %} +
+
+
+ {% csrf_token %} +
+ + +
+
+ + +
+
+ + +
+
+ + +
+ +
+
+
+
+
+
\ No newline at end of file diff --git a/server/djangoapp/urls.py b/server/djangoapp/urls.py index 37b1c89d01..7a9547d7b3 100644 --- a/server/djangoapp/urls.py +++ b/server/djangoapp/urls.py @@ -10,15 +10,16 @@ # name the URL # path for about view - + path(route='about', view=views.about, name='about'), # path for contact us view - + path(route='contact', view=views.contact, name='contact'), # path for registration - + path(route='registration', view=views.registration_request, name='registration'), # path for login - + path(route='login', view=views.login_request, name='login'), # path for logout - + path(route='logout', view=views.logout_request, name='logout'), + # path to home path(route='', view=views.get_dealerships, name='index'), # path for dealer reviews view diff --git a/server/djangoapp/views.py b/server/djangoapp/views.py index 61cc664da0..42de50b82e 100644 --- a/server/djangoapp/views.py +++ b/server/djangoapp/views.py @@ -16,27 +16,63 @@ # Create your views here. +def about(request): + if request.method == "GET": + return render(request, 'djangoapp/about.html') -# Create an `about` view to render a static about page -# def about(request): -# ... - - -# Create a `contact` view to return a static contact page -#def contact(request): - +def contact(request): + if request.method == "GET": + return render(request, 'djangoapp/contact.html') # Create a `login_request` view to handle sign in request -# def login_request(request): -# ... +def login_request(request): + context = {} + if request.method == "POST": + username = request.POST['username'] + password = request.POST['psw'] + user = authenticate(username=username, password=password) + if user is not None: + login(request, user) + return redirect('djangoapp:index') + else: + context['message'] = "Invalid username or password." + return render(request, 'djangoapp/index.html', context) + else: + return render(request, 'djangoapp/index.html', context) + # Create a `logout_request` view to handle sign out request -# def logout_request(request): -# ... +def logout_request(request): + logout(request) + return redirect('djangoapp:index') # Create a `registration_request` view to handle sign up request -# def registration_request(request): -# ... +def registration_request(request): + context = {} + if request.method == 'GET': + return render(request, 'djangoapp/registration.html') + elif request.method == 'POST': + username = request.POST['username'] + password = request.POST['password'] + first_name = request.POST['firstName'] + last_name = request.POST['lastName'] + user_exist = False + + try: + User.objects.get(username=username) + user_exist = True + except: + logger.error("New user") + if not user_exist: + user = User.objects.create_user(username=username, first_name=first_name, last_name=last_name, + password=password) + login(request, user) + return redirect('djangoapp:index') + else: + context['register_message_error'] = "User already exists" + print("Hi in else") + return render(request, 'djangoapp/registration.html', context) + # Update the `get_dealerships` view to render the index page with a list of dealerships def get_dealerships(request): context = {}