From 1b1cd99b1fd01568e4b268d8284db18422f41aaf Mon Sep 17 00:00:00 2001 From: jacksavino Date: Mon, 23 Oct 2023 14:54:58 -0400 Subject: [PATCH 01/36] Adding updated files from lab env --- server/db.sqlite3 | Bin 0 -> 131072 bytes .../djangoapp/templates/djangoapp/about.html | 36 ++++++++++++++++++ .../djangoapp/templates/djangoapp/index.html | 15 +++++++- server/djangoapp/templates/static.py | 0 server/djangoapp/urls.py | 2 + server/djangoapp/views.py | 6 ++- 6 files changed, 56 insertions(+), 3 deletions(-) create mode 100644 server/db.sqlite3 create mode 100644 server/djangoapp/templates/djangoapp/about.html create mode 100644 server/djangoapp/templates/static.py diff --git a/server/db.sqlite3 b/server/db.sqlite3 new file mode 100644 index 0000000000000000000000000000000000000000..0d4669dd3dfd5d24c374fee765764c9acbb47ea7 GIT binary patch literal 131072 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 + + + + + +

Welcome to Best Cars Dealership
Home to the best cars in North America!

+

We sell domestic and imported cars at reasonable prices.

+ + diff --git a/server/djangoapp/templates/djangoapp/index.html b/server/djangoapp/templates/djangoapp/index.html index 1a9ee6e39a..f28483cd86 100644 --- a/server/djangoapp/templates/djangoapp/index.html +++ b/server/djangoapp/templates/djangoapp/index.html @@ -17,7 +17,20 @@ This is the index page of your Django app! - + diff --git a/server/djangoapp/templates/static.py b/server/djangoapp/templates/static.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/server/djangoapp/urls.py b/server/djangoapp/urls.py index 37b1c89d01..8e83546692 100644 --- a/server/djangoapp/urls.py +++ b/server/djangoapp/urls.py @@ -8,8 +8,10 @@ # route is a string contains a URL pattern # view refers to the view function # name the URL + path('my-view/', views.my_view, name='my-view'), # path for about view + path('about/', views.about, name='about'), # path for contact us view diff --git a/server/djangoapp/views.py b/server/djangoapp/views.py index 61cc664da0..ee1f6d1339 100644 --- a/server/djangoapp/views.py +++ b/server/djangoapp/views.py @@ -15,12 +15,14 @@ # Create your views here. - +def my_view(request): + return render(request, './server/djangoapp/templates/djangoapp/static.html') # Create an `about` view to render a static about page # def about(request): # ... - +def about(request): + return render(request, 'djangoapp/about.html') # Create a `contact` view to return a static contact page #def contact(request): From 00b2c3e2f247ae6622f6f0c6242f44877b70f43f Mon Sep 17 00:00:00 2001 From: jacksavino Date: Mon, 23 Oct 2023 15:00:10 -0400 Subject: [PATCH 02/36] Updating from lab env --- server/djangoapp/templates/djangoapp/about.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/djangoapp/templates/djangoapp/about.html b/server/djangoapp/templates/djangoapp/about.html index 0a5b992a48..4210af0ada 100644 --- a/server/djangoapp/templates/djangoapp/about.html +++ b/server/djangoapp/templates/djangoapp/about.html @@ -19,7 +19,7 @@ .small-text { font-size: 28px; - color: #555; + color: #439; } p { From a9557a5111a8d5bc3e678dbbde1a4826249396c4 Mon Sep 17 00:00:00 2001 From: jacksavino Date: Mon, 23 Oct 2023 15:23:33 -0400 Subject: [PATCH 03/36] Adding updated files from theia lab env --- .../templates/djangoapp/contact.html | 43 +++++++++++++++++++ .../djangoapp/templates/djangoapp/index.html | 5 ++- .../djangoapp/templates/djangoapp/styles.css | 25 +++++++++++ server/djangoapp/urls.py | 1 + server/djangoapp/views.py | 2 + 5 files changed, 75 insertions(+), 1 deletion(-) create mode 100644 server/djangoapp/templates/djangoapp/contact.html create mode 100644 server/djangoapp/templates/djangoapp/styles.css diff --git a/server/djangoapp/templates/djangoapp/contact.html b/server/djangoapp/templates/djangoapp/contact.html new file mode 100644 index 0000000000..56c58aa0b5 --- /dev/null +++ b/server/djangoapp/templates/djangoapp/contact.html @@ -0,0 +1,43 @@ + + + + + + +

Contact Us

+

Address

+

123 Broadway Ave
Denver, CO 80218

+

Phone Number

+

123-456-7890

+ + diff --git a/server/djangoapp/templates/djangoapp/index.html b/server/djangoapp/templates/djangoapp/index.html index f28483cd86..2ff318ed6f 100644 --- a/server/djangoapp/templates/djangoapp/index.html +++ b/server/djangoapp/templates/djangoapp/index.html @@ -25,7 +25,10 @@ + + + + + diff --git a/server/djangoapp/templates/djangoapp/login.html b/server/djangoapp/templates/djangoapp/login.html index ea3123491d..d9f4e482d1 100644 --- a/server/djangoapp/templates/djangoapp/login.html +++ b/server/djangoapp/templates/djangoapp/login.html @@ -66,4 +66,5 @@

Login

- \ No newline at end of file + + diff --git a/server/djangoapp/templates/djangoapp/registration.html b/server/djangoapp/templates/djangoapp/registration.html index 4511df259a..0d2e91feae 100644 --- a/server/djangoapp/templates/djangoapp/registration.html +++ b/server/djangoapp/templates/djangoapp/registration.html @@ -72,4 +72,4 @@

Sign Up

- \ No newline at end of file + diff --git a/server/djangoapp/urls.py b/server/djangoapp/urls.py index 22b65e6592..384af19dc1 100644 --- a/server/djangoapp/urls.py +++ b/server/djangoapp/urls.py @@ -21,7 +21,7 @@ path('login/', views.login_request, name='login'), # path for logout - path('index/', views.logout_request, name='logout'), + path('logout/', views.logout_request, name='logout'), # path for all dealerships view path(route='dealership-package/get_dealerships', view=views.get_dealerships, name='index'), @@ -32,4 +32,4 @@ # path for add a review view path(route='dealership-package/post_review//review', view=views.add_review, name='add_review'), -] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) \ No newline at end of file +] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) From e9ef198bb7a20dad518ee567e30e3fc8f50ebe53 Mon Sep 17 00:00:00 2001 From: jacksavino Date: Tue, 31 Oct 2023 17:10:30 -0400 Subject: [PATCH 24/36] Adding files from lab env --- server/db.sqlite3 | Bin 143360 -> 143360 bytes server/djangoapp/restapis.py | 24 +++++------------------- server/djangoapp/urls.py | 2 +- server/djangoapp/views.py | 8 ++++---- 4 files changed, 10 insertions(+), 24 deletions(-) diff --git a/server/db.sqlite3 b/server/db.sqlite3 index 7184f6707bc4c31cbd776589c48f36fb0b6b6166..685da02f8d426ec578c65a3d9d2c14d9ace3ac56 100644 GIT binary patch delta 576 zcmYk3y-!+U6vpqZwDp=?uMEb)CR9TQYn1bTzZW7Y>cBz=O=uH=D{73y4=7Nz=}=5$ zbEr9qqaTU?fHL+E=-8=oW$Wh5&_=IIdDmZ_bDrlpr_~*7bqBwX+p*JE3wG>gHJz}X z&PC#G+M|$UEXiS(2}Kma_DafRz!||`E6iX_3!yPukOrd?h>!U~a=5>ba3b)$kThhW zNJ#usNcS1_0VqRWOi#Fc}lT@JG>z61plS@n6x1Lb(#m$N7>`gEB5P!IM&| zACFSX0DqU}3=1GsE1U@U`2Q9}OP~SkHZUA0?lwSF24L z-gbt-3?r|fD)I2wvx55qV92tpFiOwzdY$OVz303f7U+u5W9UB8Ru2x?R?L#H delta 409 zcmYk%yGlbr5C&im9wC)tl_C;Uuu({6XJ=<;PcWdqgH6sQf{lf?mIlPmLK(1B#21KK zSoi>zR$`mZmrzjga<={WXXc;Lq%oQ_&RR+Pd|@kT-wylTq;Y@MeO;RampPjubigoM zt0#kAWDo+AJ`e1#na~MA5K!lHj!ZlQ>2{vY{_OkCdA3F`^DK%n0(gDP`;n3Nj+F|E z%(`G$4+|F?5P&`waTVhOI{hf(DnP=ho8{jdUsWU^A?az^tLupX8ht6(>l5NwSahkP z*8dkm=+MIS%v5t_V`q1N??A7sW;BC72S+I%46@NSsGO$v+0>G&ZX HC+|m}E39U_ diff --git a/server/djangoapp/restapis.py b/server/djangoapp/restapis.py index 63e11828fc..6a6c69c3e8 100644 --- a/server/djangoapp/restapis.py +++ b/server/djangoapp/restapis.py @@ -6,11 +6,9 @@ from ibm_watson import NaturalLanguageUnderstandingV1 from ibm_watson.natural_language_understanding_v1 import Features,SentimentOptions import time - - def get_request(url, **kwargs): - # If argument contain API KEY + # If argument contains API key api_key = kwargs.get("api_key") print("GET from {} ".format(url)) try: @@ -55,21 +53,16 @@ def get_dealers_from_cf(url, **kwargs): else: json_result = get_request(url) - # print('json_result from line 31', json_result) - if json_result: # Get the row list in JSON as dealers - print("63 - RA",json_result) dealers = json_result # For each dealer object for dealer in dealers: # Get its content in `doc` object dealer_doc = dealer["doc"] - # print(dealer_doc) # Create a CarDealer object with values in `doc` object - dealer_obj = CarDealer(address=dealer_doc["address"], city=dealer_doc["city"], - id=dealer_doc["id"], lat=dealer_doc["lat"], long=dealer_doc["long"], full_name=dealer_doc["full_name"], - + dealer_obj = CarDealer(address=dealer_doc["address"], city=dealer_doc["city"], full_name=dealer_doc["full_name"], + id=dealer_doc["id"], lat=dealer_doc["lat"], long=dealer_doc["long"], st=dealer_doc["st"], zip=dealer_doc["zip"]) results.append(dealer_obj) @@ -78,16 +71,12 @@ def get_dealers_from_cf(url, **kwargs): def get_dealer_by_id_from_cf(url, id): json_result = get_request(url, id=id) - print('json_result from line 54',json_result) if json_result: dealers = json_result - - dealer_doc = dealers[0] dealer_obj = CarDealer(address=dealer_doc["address"], city=dealer_doc["city"], id=dealer_doc["id"], lat=dealer_doc["lat"], long=dealer_doc["long"], full_name=dealer_doc["full_name"], - st=dealer_doc["st"], zip=dealer_doc["zip"]) return dealer_obj @@ -99,10 +88,8 @@ def get_dealer_reviews_from_cf(url, **kwargs): json_result = get_request(url, id=id) else: json_result = get_request(url) - # print(json_result) if json_result: - print("line 105",json_result) - reviews = json_result["body"]["data"]["docs"] + reviews = json_result for dealer_review in reviews: review_obj = DealerReview(dealership=dealer_review["dealership"], name=dealer_review["name"], @@ -136,6 +123,5 @@ def analyze_review_sentiments(text): response = natural_language_understanding.analyze( text=text+"hello hello hello",features=Features(sentiment=SentimentOptions(targets=[text+"hello hello hello"]))).get_result() label=json.dumps(response, indent=2) label = response['sentiment']['document']['label'] - - + return(label) diff --git a/server/djangoapp/urls.py b/server/djangoapp/urls.py index 384af19dc1..ab7437e2f5 100644 --- a/server/djangoapp/urls.py +++ b/server/djangoapp/urls.py @@ -24,7 +24,7 @@ path('logout/', views.logout_request, name='logout'), # path for all dealerships view - path(route='dealership-package/get_dealerships', view=views.get_dealerships, name='index'), + path(route='dealership-package/get_dealerships/', view=views.get_dealerships, name='index'), # path for dealer reviews view path(route='dealership-package/get_reviews//', view=views.get_dealer_details, name='dealer_details'), diff --git a/server/djangoapp/views.py b/server/djangoapp/views.py index 2f4d1bec55..700692f8d6 100644 --- a/server/djangoapp/views.py +++ b/server/djangoapp/views.py @@ -85,11 +85,11 @@ def get_dealerships(request): def get_dealer_details(request, id): if request.method == "GET": context = {} - dealer_url = "https://us-south.functions.cloud.ibm.com/api/v1/namespaces/ad39ee7e-0d06-4e9e-8de9-35be2c866619/actions/dealership-package/get_dealerships" + dealer_url = "https://us-south.functions.appdomain.cloud/api/v1/web/ad39ee7e-0d06-4e9e-8de9-35be2c866619/dealership-package/get_dealerships" dealer = get_dealer_by_id_from_cf(dealer_url, id=id) context["dealer"] = dealer - review_url = "https://us-south.functions.cloud.ibm.com/api/v1/namespaces/ad39ee7e-0d06-4e9e-8de9-35be2c866619/actions/dealership-package/get_reviews" + review_url = "https://us-south.functions.appdomain.cloud/api/v1/web/ad39ee7e-0d06-4e9e-8de9-35be2c866619/dealership-package/get_reviews" reviews = get_dealer_reviews_from_cf(review_url, id=id) print(reviews) context["reviews"] = reviews @@ -99,7 +99,7 @@ def get_dealer_details(request, id): # View to post a review def add_review(request, id): context = {} - dealer_url = "https://us-south.functions.cloud.ibm.com/api/v1/namespaces/ad39ee7e-0d06-4e9e-8de9-35be2c866619/actions/dealership-package/get_dealerships" + dealer_url = "https://us-south.functions.appdomain.cloud/api/v1/web/ad39ee7e-0d06-4e9e-8de9-35be2c866619/dealership-package/get_dealerships" dealer = get_dealer_by_id_from_cf(dealer_url, id=id) context["dealer"] = dealer if request.method == 'GET': @@ -132,6 +132,6 @@ def add_review(request, id): new_payload = {} new_payload["review"] = payload - review_post_url = "https://us-south.functions.cloud.ibm.com/api/v1/namespaces/ad39ee7e-0d06-4e9e-8de9-35be2c866619/actions/dealership-package/post_review" + review_post_url = "https://us-south.functions.appdomain.cloud/api/v1/web/ad39ee7e-0d06-4e9e-8de9-35be2c866619/dealership-package/post_review" post_request(review_post_url, new_payload, id=id) return redirect("djangoapp:dealer_details", id=id) From 6f00fadffc305925e28b4e7993a3733663bbddfc Mon Sep 17 00:00:00 2001 From: jacksavino Date: Wed, 1 Nov 2023 02:18:21 -0400 Subject: [PATCH 25/36] Adding updated files from theia lab env --- server/db.sqlite3 | Bin 143360 -> 143360 bytes server/djangoapp/models.py | 5 ++++- server/djangoapp/restapis.py | 8 +++++--- server/djangoapp/views.py | 4 ++-- 4 files changed, 11 insertions(+), 6 deletions(-) diff --git a/server/db.sqlite3 b/server/db.sqlite3 index 685da02f8d426ec578c65a3d9d2c14d9ace3ac56..29594337ae0ccfccf203975b46801bdedf307918 100644 GIT binary patch delta 1510 zcmah|OKcNY6rDR`JCm5ic0M?Te4Hks<&$LI{Kv5y8*mHZ6UTO9lh_WwP+Wy1gnUGW z+DsydT4)6wMR$eTrs|@fMUyVFsMMmW5?vLF%C1OsMb%2sMJtf#?->db!=g_k&6{`b zefOMm@66uhXK(W7$H2cl{s_u>RNGGTl041x~eL&YMslgRZn`QE3zzE*Ymoqwk}D8 z2v*Zj$LqEPV#um4a8AbG8a;6MSYcEU1Ts_@Eld^;jEI6LwGmqebgip?VuRO%n|wF9p0S`#RGGA#nAH08j3^YM zQ^WCz>FFH@Hy_`u9NCqK_KX}Jo_evMj6|o8^k#M%C&CkBW0Ozum85n>QVm^Pdhh&F z#QX4BiGVj!@(1IA%Z#U`;#%o-*VpAUYuGGXS) z<-YAYy=Q_7R@I7#5w;%VXAdP`EJcCzLFvxaQ;yMv_K^6LvunuQM z*vFYcAKo#b2P&~CO_8!rx?4y=1qOn^>TX0T;Y7``J z;wc$^b+|V$@eAf|&YY>ipZj1KY9H5f7D@Qf+Yin7em_L`>Joo%8<+|m2&GRW8}Xb-<=#lcX3l)Yg9DwA$2y4~)g~XhvL0`D zLO(Z`S%W`{5P|a5dI|i1w_boGyASZC5VQk})chJe8-hhB`vAONQg(~+G2={GsPrTL z24Cs=g|_w>dzU-QU1Gn1@7M*PiNt0iMH+1F(&b1U0G(X9r*p zXC^n`R|)E~tJq(Yn`>>ws{^o!ntFc#?z1~ua4`vSa1`Mhyq|x)MR9Sp-Imd(8!XV!+XISf%cNyB04 mLI}SMg88||| zBoR9h^+ibQBz`<8L4A;@vBiW3;K2u@(I{eK#KgqD7>v;<4@83+yd%Mc;lY_nX6|?H zx%Zs!o|#z`XBNfT0;=bWXUn+Cs)ZSpUqb9&*}|+4yCjq!Evb|?t8z?{npL$~lNwb$ zF2`m2g;mBQfTXFieSKA<8&FMMH|>hB>;@D=k`s1MSa$=mChKwg^|0m!*nHivZ-o;s zKuJiFqS{)d$qmF!MUw4f5$O>?)g{%w5^>9AqT+GG{yXB9t7vguP1xIN-Od$NGfdfj zxzB9TGPF^Br9gzUL9?E{$YY_8j_+*yw?+|OXdz8&5uixBp=L==cn?y zF@;&&EV~#+A}$$CoYzyu7}HZD|4YzS(~#rvdg|(ugZA}k#3fEv4N2D)q>C**S^XI; zo;{i<9x)%w?CF^_Q^xVaSZa7GH(tzVCUeK8^?%R^yz}riH=0Xo{?DrJr ztX5%3zwhR}^(F#VOO-!#WHYQuLMLkJS_N|(FdNs8HWUc!~*`HuXbWD zmjX@pGY03>!qi_tfIjI5d%b~~a#IX=Dm{k;|FrLW?+@O3;Xv?SuzTr;C3pB&0-tkN z1M6^`dr5p&Z1eny4?KrF&Ly_v>YUZUTa{a>Ift!SOUH9;_s8i*4jT}pyE&ZoZt;b> zHqzW6YUr&2)C#3mMV#&qAjZtFj@FPmh(19SRg=yPLJ`(jdpA;O7`w6LzU_~Pu!>$A zMkjA&)>G98cEL}>BRI}&UrC>}q8AaG+kuVrTpFdXrXbQl3L0mwpq3qMm9PUI=8n}+ zCIe?F)=OIq`9r%|CUhqg)pWjt^}N`@PJT@aE1Y2Xotn;D<<)d|2eY=qIiV=^c0%?2 zYktd|W%}f1Unm`Q%th$d0Ls>uoUTv!L(wQ+TsxH;7#ni_uY=Q*Llggf1n!6H&LBKaRNV&pWf=8XeLrmthw&rVv5po;pajL%J?Uh3I@X=s)|saFN0=xx zk4e_{ck)bPlzz&i8*8X#6loT8Hj2{zQP$zBqiEnypIl9!CRvbUmw!*<1`xP}*?Z9o S=gVEs!g(QfS@;rvHT?s88jidG diff --git a/server/djangoapp/models.py b/server/djangoapp/models.py index 245b4b0cc3..272e5ae95c 100644 --- a/server/djangoapp/models.py +++ b/server/djangoapp/models.py @@ -51,7 +51,10 @@ def __str__(self): # Get dealer data class CarDealer: - def __init__(self, address, city, id, lat, long, st, zip): + def __init__(self, address, city, id, lat, long, st, zip, full_name): + # Dealer name + self.full_name = full_name + # Dealer address self.address = address # Dealer city diff --git a/server/djangoapp/restapis.py b/server/djangoapp/restapis.py index 6a6c69c3e8..77619af7c1 100644 --- a/server/djangoapp/restapis.py +++ b/server/djangoapp/restapis.py @@ -89,8 +89,10 @@ def get_dealer_reviews_from_cf(url, **kwargs): else: json_result = get_request(url) if json_result: - reviews = json_result + reviews = json_result["data"] + for dealer_review in reviews: + dealer_review = reviews["docs"][0] review_obj = DealerReview(dealership=dealer_review["dealership"], name=dealer_review["name"], purchase=dealer_review["purchase"], @@ -115,8 +117,8 @@ def get_dealer_reviews_from_cf(url, **kwargs): def analyze_review_sentiments(text): - url = "https://api.eu-gb.natural-language-understanding.watson.cloud.ibm.com/instances/a7d55b2b-30e4-4d58-91a1-bd84cb7b5c14" - api_key = "S8Ncd3903aq7KoTo6MJPqi3nrpIvivQuWJdwqmMQifFK" + url = "https://api.us-south.natural-language-understanding.watson.cloud.ibm.com/instances/39e30a1e-daa0-43f9-baee-a2a9eab7d505" + api_key = "lbhukj5iEH9QDmXoMTQWFJqlOs4X-i3_NPC9R_7XNsw2" authenticator = IAMAuthenticator(api_key) natural_language_understanding = NaturalLanguageUnderstandingV1(version='2021-08-01',authenticator=authenticator) natural_language_understanding.set_service_url(url) diff --git a/server/djangoapp/views.py b/server/djangoapp/views.py index 700692f8d6..41fd518078 100644 --- a/server/djangoapp/views.py +++ b/server/djangoapp/views.py @@ -3,7 +3,7 @@ from django.contrib.auth.models import User from django.shortcuts import get_object_or_404, render, redirect from .models import CarModel, CarMake, CarDealer, DealerReview, ReviewPost -from .restapis import get_request, get_dealers_from_cf +from .restapis import get_request, get_dealers_from_cf, get_dealer_by_id_from_cf, get_dealer_reviews_from_cf from django.contrib.auth import login, logout, authenticate from django.contrib import messages from datetime import datetime @@ -76,7 +76,7 @@ def registration_request(request): def get_dealerships(request): if request.method == "GET": context = {} - url = "https://us-south.functions.cloud.ibm.com/api/v1/namespaces/ad39ee7e-0d06-4e9e-8de9-35be2c866619/actions/dealership-package/get_dealerships" + url = "https://us-south.functions.appdomain.cloud/api/v1/web/ad39ee7e-0d06-4e9e-8de9-35be2c866619/dealership-package/get_dealerships" dealerships = get_dealers_from_cf(url) context["dealership_list"] = dealerships return render(request, 'djangoapp/index.html', context) From 5b663b753f049f2565498738b5dd6c8410ad0b8b Mon Sep 17 00:00:00 2001 From: jacksavino Date: Wed, 1 Nov 2023 12:17:22 -0400 Subject: [PATCH 26/36] Adding files for capstone proj --- server/db.sqlite3 | Bin 143360 -> 143360 bytes .../djangoapp/templates/djangoapp/about.html | 3 +- .../templates/djangoapp/add_review.html | 4 +- .../templates/djangoapp/contact.html | 3 +- .../templates/djangoapp/dealer_details.html | 129 +++++++++--------- .../djangoapp/templates/djangoapp/index.html | 8 +- .../djangoapp/templates/djangoapp/login.html | 4 +- .../templates/djangoapp/registration.html | 54 ++++---- .../djangoapp/templates/djangoapp/static.html | 3 +- server/djangoapp/urls.py | 2 +- 10 files changed, 110 insertions(+), 100 deletions(-) diff --git a/server/db.sqlite3 b/server/db.sqlite3 index 29594337ae0ccfccf203975b46801bdedf307918..ab3c44d44bcd4babfc5b1c26daf7de28a16ee0bc 100644 GIT binary patch delta 1173 zcmaixOKclO9LCp48aaq~icngKJRGQ_0+Q32o!73RNb9U)H^h#!ah%vfGJd~euf6tW zy}l%-$_Wmjl{j!gaN$atBZnS25}~R>RSs1-P)@z}f`og3Y%3u~n#)h$_n-gw&GBRJ z@ni3o^PZbuEv$KNo_>059v~KiEJV>N7crvTIhp^!#SoWd$@yg-`!02maoM@Lz%OM? zW}Go6y%2ISiE)mcZx>`2<3z@?^T)zRF2=A#m_rtci&4zD=va%?#fT)!#QA9vyBL-* z5uLvlnTv@`9P7eMt{4naimCI(OAHc3p!0C)!%Hufu!JP%Z9kd+H!fuyQw}Gu2-jDX ze5qA$JKy=QyF8R43Z1Y0@3CO}-_hu;iCJOv zp5mQ*bJjbf%ykOQQbo-5YI%{efQT4`Fffb^V7t8)->s_sfGQc8w6!}l>7mLu!*fq6;*4Q)x`w?@uoGtL!ooXzZ+3Cc$GceXm=%&`tG;28C zp_qjcQpZ?3E&xce)dM^cQE6fob$ZcYvSzr(d$>I zJ-$bR@6qY#+;{ZZ4bPSM-Cc#6L~ge1!yfAxW~(C8o{iwp>X4RMvm2JaTHY9>8)|RM zYAD;`a;_ddXb%b^O2KwKnwKjEQNngdt#=}^a%^X4c>x$tqbUQB26 zu^7YKjiJuBOHvpY3fZG9EtoyKS+dgQl42Uet$i9yTRDq#<-=}&%?d}?6gyh2%j%tQ zBdZ0I**!aTU?ehP(})k0p?RS092{b;8dHmzZcR%?f>tt~8Wz?=sB5deY-rcSdvYzF zBB{X!Qj3LPg12&cD`JyM#TGNxUW-e?b>2)+9QmhHMBTqisl;A%>H!x5xEMG3D+t_} qjL-aEXZMb$mhVoT|1fp#S)TTQCjxjfHva~e7AKXN|9oF?oDr%7R1u_ydUua*B3sJs->Di&`47Z)CO-J3NERT zNe9aZ4ld&6*fikc&}@z_;@nMKoI6x7RcMZ9I{f(l=Y0RxR<^a3eG~feT6EEmI}eYC zKx9Fv0#!3s8!9=r!!xc?)3>i79~sOk$`p=9+8L9SNP%~wf@6XZZt;C&9b;NajX$FE zj!~tAMv)he5k;-SXL;!wwUpuKJRg`b)-sE~^U5*3d+@@TQ^P1Fg~HeWnG}L^{62Qp z$#PC9!4t6v_v#vIg)$_w&&y3FrNt+e75otAoJ_yD<@h!}IWTRhB^ -
-

Add a review about {{dealer.full_name}}

+

Add a review for {{dealer.full_name}}

- +
-
-
- - + -
+ -
{% csrf_token %}
@@ -97,8 +94,18 @@

Add a review about {{dealer.full_name}}

+ $(document).ready(function () { + $('#purchasecheck').change(function () { + if (this.checked) { + $('#car-select').show(); + } else { + $('#car-select').hide(); + } + }); + + $('.date-own').datepicker({ + format: 'mm/dd/yyyy' + }); + }); + From ef4d9b3ff49f2bbc0193ebdd829671d8c6a9023d Mon Sep 17 00:00:00 2001 From: jacksavino Date: Fri, 3 Nov 2023 18:39:41 -0400 Subject: [PATCH 34/36] Adding updated add_review.html file --- .../templates/djangoapp/add_review.html | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/server/djangoapp/templates/djangoapp/add_review.html b/server/djangoapp/templates/djangoapp/add_review.html index 69c0649590..253eda421b 100644 --- a/server/djangoapp/templates/djangoapp/add_review.html +++ b/server/djangoapp/templates/djangoapp/add_review.html @@ -5,6 +5,7 @@ {% load static %} + @@ -68,15 +69,16 @@

Add a review for {{dealer.full_name}}

+
-
- + From b376526eccbe3c59f61da53bf29d399da88bc479 Mon Sep 17 00:00:00 2001 From: jacksavino Date: Mon, 6 Nov 2023 15:40:09 -0500 Subject: [PATCH 35/36] Adding updated files --- server/db.sqlite3 | Bin 143360 -> 143360 bytes server/djangoapp/views.py | 26 +++++++++++++++----------- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/server/db.sqlite3 b/server/db.sqlite3 index 6ed083aafd2f7adac708e41c8bf967032341b8ec..3bd81cae80748e22a035fa90d8ec03c3feff705d 100644 GIT binary patch delta 102 zcmV-s0Ga=Q;0S==2#^~AIFTGf0XVT>>uwP?ATlsIGB`RhH!d|P}tbGig)w2 gxnWG31q)X5H*a6RefxUGPzNAyJOB2>{~2u!0R06VsQ>@~ diff --git a/server/djangoapp/views.py b/server/djangoapp/views.py index 1454e91313..d92967d0da 100644 --- a/server/djangoapp/views.py +++ b/server/djangoapp/views.py @@ -112,21 +112,25 @@ def add_review(request, id): payload = dict() car_id = request.POST["car"] car = CarModel.objects.get(pk=car_id) + payload["time"] = datetime.utcnow().isoformat() payload["name"] = full_name payload["dealership"] = id payload["id"] = id payload["review"] = request.POST["content"] - payload["purchase"] = False - if "purchasecheck" in request.POST: - if request.POST["purchasecheck"] == 'on': - payload["purchase"] = True - payload["purchase_date"] = request.POST["purchasedate"] - payload["car_make"] = car.make.name - payload["car_model"] = car.name - payload["car_year"] = int(car.year) - new_payload = {} - new_payload["review"] = payload + + # Check if "purchasecheck" is checked + if "purchasecheck" in request.POST and request.POST["purchasecheck"] == 'on': + payload["purchase"] = True + payload["purchase_date"] = request.POST["purchasedate"] + payload["car_make"] = car.make.name + payload["car_model"] = car.name + payload["car_year"] = int(car.year) + else: + payload["purchase"] = False + + json_payload = {} + json_payload["review"] = payload review_url = "https://us-south.functions.appdomain.cloud/api/v1/web/ad39ee7e-0d06-4e9e-8de9-35be2c866619/dealership-package/post_review" - post_request(review_url, new_payload, id=id) + post_request(review_url, json_payload, id=id) return redirect("djangoapp:dealer_details", id=id) From 6a6e0b7e156f892f83997fe3e2e7dc7043f1aa1d Mon Sep 17 00:00:00 2001 From: jacksavino Date: Mon, 6 Nov 2023 16:06:08 -0500 Subject: [PATCH 36/36] Adding updated files from lab env --- server/db.sqlite3 | Bin 143360 -> 143360 bytes .../templates/djangoapp/add_review.html | 28 ++++++++++-------- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/server/db.sqlite3 b/server/db.sqlite3 index 3bd81cae80748e22a035fa90d8ec03c3feff705d..efec7a90a168488311187114ed9018db4ef0f131 100644 GIT binary patch delta 53 zcmV-50LuS>;0S==2#^~AJdqqj0X(r_@NNt=GCD9eE;2AVGB-4{TyL>30g|&3aEA|r Lm9MvzuK{a-?GF<- delta 53 zcmV-50LuS>;0S==2#^~AIFTGf0XVT>@NNt;I65&mE;2APGdD4_TyL>30o=0@aEA|r Lm9MvzuK{a-@DdYu diff --git a/server/djangoapp/templates/djangoapp/add_review.html b/server/djangoapp/templates/djangoapp/add_review.html index 253eda421b..e85bb473cd 100644 --- a/server/djangoapp/templates/djangoapp/add_review.html +++ b/server/djangoapp/templates/djangoapp/add_review.html @@ -52,12 +52,13 @@
+

Add a review for {{dealer.full_name}}

- +
@@ -67,9 +68,9 @@

Add a review for {{dealer.full_name}}

Check this box if you purchased a car from {{dealer.full_name}}
- +
{% csrf_token %} @@ -101,19 +102,20 @@

Add a review for {{dealer.full_name}}

$('#car-select').show(); $('#date-select').show(); $('#car').prop('required', true); // Make the select required - $('#purchasedate').prop('required', true); // Make the select required + $('#purchasedate').prop('required', true); // Make the date field required + $('.datepicker').datepicker({ + format: 'mm/dd/yyyy', + autoclose: true // Close the datepicker when a date is selected + }); } else { $('#car-select').hide(); $('#date-select').hide(); - $('#car').prop('required', false); // Remove the required attribute - $('#purchasedate').prop('required', false); // Make the select required + $('#car').prop('required', false); // Remove the required attribute from the select + $('#purchasedate').prop('required', false); // Remove the required attribute from the date field + $('.datepicker').datepicker('remove'); // Remove the datepicker when it's not needed } }); - - $('.date-own').datepicker({ - format: 'mm/dd/yyyy' - }); }); - +