From fdbb8ab28bb260cc62e961aa40b8f1784a189ed3 Mon Sep 17 00:00:00 2001
From: Ricy40 <ricardogarcia.pt@outlook.com>
Date: Fri, 12 May 2023 03:46:35 +0100
Subject: [PATCH] A bunch of fixes to various issues

---
 store/__pycache__/__init__.cpython-39.pyc     | Bin 1671 -> 1671 bytes
 store/__pycache__/productViews.cpython-39.pyc | Bin 5080 -> 5485 bytes
 store/__pycache__/views.cpython-39.pyc        | Bin 3306 -> 3372 bytes
 store/productViews.py                         |  67 ++++++++++++------
 store/static/js/checkout.js                   |   2 +-
 store/views.py                                |   9 ++-
 6 files changed, 54 insertions(+), 24 deletions(-)

diff --git a/store/__pycache__/__init__.cpython-39.pyc b/store/__pycache__/__init__.cpython-39.pyc
index 29b8495e81db0c45817b62c607566f9ad877d490..19a04983c6ebb68f177ddf619f6652430cc7c962 100644
GIT binary patch
delta 19
acmZqYZRh1m<mKgJU|?WaHDx1LEgJwQA_O!5

delta 19
acmZqYZRh1m<mKgJU|?Wa+P;yimJI+V!vrD#

diff --git a/store/__pycache__/productViews.cpython-39.pyc b/store/__pycache__/productViews.cpython-39.pyc
index 8b329b4845f6bc332cce0da92e7b943564c685ea..c61276187665bf1c366c498a0b31f979e38057ed 100644
GIT binary patch
literal 5485
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
XxR^LNI5-3tx%31WxpbjePk<2sx>krU

literal 5080
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
ACjbBd

diff --git a/store/__pycache__/views.cpython-39.pyc b/store/__pycache__/views.cpython-39.pyc
index 060fc72ec47649e66ad5c4f39282ebff97a91b2b..d9214d215aa36aefebb44e9eef570aa7d663c42c 100644
GIT binary patch
delta 757
zcmaDQxkidNk(ZZ?fq{XcU`1@o|Bbw#na$oYFff!bG&9sPlrUy7r7&hQ6+I|n%wk@^
zlESo*v6d0aW?slx%T&Ue#a6VUhOubHWHT1mdcGRwEdFN36qam;qDdtJDQqe1DIC2_
zj0|~VCEQs&3j`N3Ffx<~q;RHiLBwmAiXPN3rEq66740h#O5tv1tYyeks$oju$!03L
zP$HDV0~QgeVM^fzyF)027bH?5oWfVaTEmdS-^(1#pef*2B+tOWF!>&fzKWn@o<eF-
zQGSs^esXeYQEH0fEmkmpCF3oQ<iwKH^!%d9+^mX|Em%z%MJDI5Mu;)zq~;ZgF)%O`
zu`)0)++s`4&&|y&nS6;g#6%AiHcV_xTueNSJWO0nT#Q^yER1|iLX13&e2jcdT#P(S
zEQ}nCTu{uxRAe+cj4g^+i-CbbleLHiWUBV$y=>Zyc9UPS#j=6LnI|7$Q=Xj9&c*A>
zz`#(<1hRy=$ar!a`wd2o$?+V@tVOCI|8#O_GwM#>%Ap`+2r`EaWF}LQ6o_py`8kIi
zqxWPsPI*S_$!eUnie?~Ta}WWx)B?l;`KJh~&1UiuPF2x3kcHqFXX0bzVB}!rVJxzn
z{ExGSQFU@PmxFK`NS*`aASO0O9wr{fB8SQ6xI%nN*i#sr8Jigy8A>=(m{OQiSU~Yw
z!kNj?%oxm|$?8|dRhF4rUaXgqpPO1G9FSO<o0?amP+XdvoLXF*R+^(&qych~8pvOH
z+~T5EARgFTAlr)AL0s0!v$(az^FU7E0Xc!0i;)KkiySB4;Vxk`n;giaB5wpz3=Rfk
n5X%}w*ntQK5aBp^3Xi?GvH&9&n*bvhD<3155FaBKI|Ks&8StL|

delta 678
zcmZ1@^-7XAk(ZZ?fq{V`*f%z%dL!>=X0uBS3=Aa<%?z~+C5%~2DU8`nMMp{)vzQmK
zq%bXHtYw6<nHMtFGL^7qu@&{yFc$SpHe+#(<<8<+z_*Zrk)eb?g)N0Wg`<~=k)ejE
z=tvDy3THM`(V`N86wYSGT82EO8m1JkY^I_uB?2j2U=e{DrW9_lT>>fGAdwQm6rK{+
z8io|!Ugls1O}@!rSWGATv&!?VWW2?ZoLG{Yo?lcsIgizpQE2iK)(9T9<ow*+%#tEj
z1_p-7LTn)hS|EQhu`zKm@i6i*aWQc*axt+m@-Yc9@-T8S@-VS5axij1F$YtT!Q@$N
zQM{TA3=EpAMJx;q3`JU#8QHZNttacU$1-Y8?q)aQbz)#(C}skg%UonQ`4syNM%BrS
zIh5INv8EOk<rhsp&7sYxGx<A*f{;GQ05*_eOhr;4w$bE;?81|6IJp@;CVOzoGg?i~
z;H*_M1xcBK2(XRjAQs32MNqBQAOUr-Ryi(S(P)tU;P_(VW8`4uVB}#evYqU}Rl{g9
zc`uiPa56}q1LQs?Hbx#M9>ya3$pYLViYbgKOexHu*eGEy;YeX=W^86;WGLaxWN2m#
zX3%8yn>>+QOjH$QnHmEFLlsw9W@>q{UPgXy>f{aF;-Z!y8L*eYjsw|H#6I~Bx3+jT
z$VMKJjm%t(JWyEVFj<bLgwb^JWF8fH1CU;D5Ez13Rv^L_MA(A}hsgr$;*;O<XoxEa
VFmka8Fmkc-F>(p<F><j(FaX&%g-rke

diff --git a/store/productViews.py b/store/productViews.py
index d568677..c0ca2f9 100644
--- a/store/productViews.py
+++ b/store/productViews.py
@@ -35,11 +35,17 @@ def creamer():
 
                 if basket_item:
                     basket_item.quantity = basket_item.quantity + 1
-                else:
-                    basket_item = Basket(user_id=current_user.id, item=[product], quantity=1)
-                    db.session.add(basket_item)
                     db.session.commit()
-                flash('Item added to cart!', category='success')
+                    flash('Item added to basket!', category='success')
+                else:
+                    basket_item = Basket(user_id=current_user.id, item=[getCreamer()], quantity=1)
+                    if len(basket_item.item) < 1:
+                        flash('An error occured!', category='error')
+                    else:
+                        db.session.add(basket_item)
+                        db.session.commit()
+                        flash('Item added to basket!', category='success')
+
 
             elif request.form.get('delete'):
                 creamer = getCreamer()
@@ -76,11 +82,16 @@ def coffee():
 
                 if basket_item:
                     basket_item.quantity = basket_item.quantity + 1
-                else:
-                    basket_item = Basket(user_id=current_user.id, item=[product], quantity=1)
-                    db.session.add(basket_item)
                     db.session.commit()
-                flash('Item added to cart!', category='success')
+                    flash('Item added to basket!', category='success')
+                else:
+                    basket_item = Basket(user_id=current_user.id, item=[getCoffee()], quantity=1)
+                    if len(basket_item.item) < 1:
+                        flash('An error occured!', category='error')
+                    else:
+                        db.session.add(basket_item)
+                        db.session.commit()
+                        flash('Item added to basket!', category='success')
 
             elif request.form.get('delete'):
                 coffee = getCoffee()
@@ -117,11 +128,16 @@ def dread():
 
                 if basket_item:
                     basket_item.quantity = basket_item.quantity + 1
-                else:
-                    basket_item = Basket(user_id=current_user.id, item=[product], quantity=1)
-                    db.session.add(basket_item)
                     db.session.commit()
-                flash('Item added to cart!', category='success')
+                    flash('Item added to basket!', category='success')
+                else:
+                    basket_item = Basket(user_id=current_user.id, item=[getDread()], quantity=1)
+                    if len(basket_item.item) < 1:
+                        flash('An error occured!', category='error')
+                    else:
+                        db.session.add(basket_item)
+                        db.session.commit()
+                        flash('Item added to basket!', category='success')
 
             elif request.form.get('delete'):
                 dread = getDread()
@@ -155,14 +171,20 @@ def existence():
             if request.form.get('submit') == 'submit':
                 product = getExistence()
                 basket_item = checkItem(current_user, product)
+                db.session.commit()
 
                 if basket_item:
                     basket_item.quantity = basket_item.quantity + 1
-                else:
-                    basket_item = Basket(user_id=current_user.id, item=[product], quantity=1)
-                    db.session.add(basket_item)
                     db.session.commit()
-                flash('Item added to cart!', category='success')
+                    flash('Item added to basket!', category='success')
+                else:
+                    basket_item = Basket(user_id=current_user.id, item=[getExistence()], quantity=1)
+                    if len(basket_item.item) < 1:
+                        flash('An error occured!', category='error')
+                    else:
+                        db.session.add(basket_item)
+                        db.session.commit()
+                        flash('Item added to basket!', category='success')
 
             elif request.form.get('delete'):
                 existence = getExistence()
@@ -199,11 +221,16 @@ def fly():
 
                 if basket_item:
                     basket_item.quantity = basket_item.quantity + 1
-                else:
-                    basket_item = Basket(user_id=current_user.id, item=[product], quantity=1)
-                    db.session.add(basket_item)
                     db.session.commit()
-                flash('Item added to cart!', category='success')
+                    flash('Item added to basket!', category='success')
+                else:
+                    basket_item = Basket(user_id=current_user.id, item=[getFly()], quantity=1)
+                    if len(basket_item.item) < 1:
+                        flash('An error occured!', category='error')
+                    else:
+                        db.session.add(basket_item)
+                        db.session.commit()
+                        flash('Item added to basket!', category='success')
 
             elif request.form.get('delete'):
                 fly = getFly()
diff --git a/store/static/js/checkout.js b/store/static/js/checkout.js
index efdbdc8..2326075 100644
--- a/store/static/js/checkout.js
+++ b/store/static/js/checkout.js
@@ -57,7 +57,7 @@ checkoutForm.addEventListener("submit", (e) => {
       if(exp.value.match(regEx)) {
           var regEx = /[0-9]{3}$/;
           if(cvc.value.match(regEx)) {
-              if (user === 'user') {
+              if (user.value === 'user') {
                   checkoutUser();
               } else {
                   checkoutAnon();
diff --git a/store/views.py b/store/views.py
index dcf03c3..db3f46c 100644
--- a/store/views.py
+++ b/store/views.py
@@ -42,8 +42,11 @@ def home():
             else:
                 basket_item = Basket(user_id=current_user.id, item=[product], quantity=1)
                 db.session.add(basket_item)
-            db.session.commit()
-            flash('Item added to basket!', category='success')
+            if len(basket_item.item) < 1:
+                flash('An error occured!', category='error')
+            else:
+                db.session.commit()
+                flash('Item added to basket!', category='success')
 
         if sort:
             if sort == "name":
@@ -110,6 +113,6 @@ def checkoutPay():
     for basket in current_user.basket:
         db.session.delete(basket)
         db.session.commit()
-    flash('Payment successful!', category='success')
     redirect(url_for('views.home'))
+    flash('Payment successful!', category='success')
     return jsonify({})
\ No newline at end of file
-- 
GitLab