diff --git a/shop/routes.py b/shop/routes.py index cabe86a132cdd567973885427f0b07902cec5576..3e4e0e0fd8f1841bc1a0c1b4aa05199d3205a6d1 100644 --- a/shop/routes.py +++ b/shop/routes.py @@ -187,7 +187,8 @@ def wishlist(): wishlist_id_list = make_lists_out[1] # performs the functionality of the remove from wishlist form. It does it in the same was as the cart does but have - # to repeat code as does it on different columns + # to repeat code as does it on different columns also if added to cart the removes from wishlist aswell using the + # remove from wishlist function remove_form = removeFormWishlist() if remove_form.validate_on_submit(): @@ -199,18 +200,31 @@ def wishlist(): return redirect(url_for('wishlist')) elif request.method == 'POST': - remove_id = request.form['remove_id'] - wishlist_id_list.remove(remove_id) - new_wishlist_string = '' - for item_id in wishlist_id_list: - new_wishlist_string = new_wishlist_string + item_id + ' ' - for user in db.session.query(User).filter_by(id=current_user.get_id()): - user.wishlist = new_wishlist_string - db.session.commit() + try: + remove_id = request.form['remove_id'] + remove_from_wishlist(remove_id) + except: + item_to_add_cart = request.form['item_id_cart'] + for user_row in db.session.query(User).filter_by(id=current_user.get_id()): + user_row.cart = user_row.cart + item_to_add_cart + ' ' + remove_from_wishlist(item_to_add_cart) + db.session.commit() return redirect(url_for('wishlist')) return render_template('wishlist.html', wishlist_list = wishlist_list, wishlist_size = len(wishlist_list), remove_form = remove_form) +# works very similarly to removing from cart on cart page +def remove_from_wishlist(item_id): + make_lists_out = make_lists(current_user.wishlist) + wishlist_id_list = make_lists_out[1] + + wishlist_id_list.remove(item_id) + new_wishlist_string = '' + for item_id in wishlist_id_list: + new_wishlist_string = new_wishlist_string + item_id + ' ' + for user in db.session.query(User).filter_by(id=current_user.get_id()): + user.wishlist = new_wishlist_string + db.session.commit() @app.route('/item', methods=['GET', 'POST']) def item_page(): diff --git a/shop/static/styles.css b/shop/static/styles.css index 04998846cb54b6c92b1b38715b7f5090afb6a2bb..1b3c8eef6018d69756f483bfd43987342d16311c 100644 --- a/shop/static/styles.css +++ b/shop/static/styles.css @@ -242,7 +242,7 @@ li { margin-left: 2%; margin-bottom: 20px; padding: 10px; - height: 150px + height: 180px } .cart_box:hover { @@ -354,6 +354,8 @@ li { .login_field { font-size: 1.5vw; + padding: 0px; + margin: 0px; } .thank_you_tick { diff --git a/shop/templates/wishlist.html b/shop/templates/wishlist.html index c5991216a7d9d9581ebee8ea55f3061f91cef064..4071b596cc89630c3a7c3d2fc2716f66bf327a3b 100644 --- a/shop/templates/wishlist.html +++ b/shop/templates/wishlist.html @@ -36,10 +36,14 @@ <img class = "item_cart_img" src = "{{ url_for('static', filename='images/' + item.product_image) }}" alt="product image"/></a> <p><a class = "item_shopping_name" href="/item?id={{item.product_id}}"><b>{{ item.product_name }}</b></a></p> <p class = "shopping_item_text">price: £{{ item.product_price }}</p> - <form method = "post" style = "padding-top: 10px"> + <form method = "post"> <input type = "hidden" name = "remove_id" value = {{ item.product_id }}> <input class = "orange_button" type = "submit" value = "remove"> </form> + <form method = "post" style = "padding-top: 10px"> + <input type = "hidden" name = "item_id_cart" value = {{ item.product_id }}> + <input class = "orange_button" type = "submit" value = "add to cart"> + </form> </div> {% endfor %}