diff --git a/app/backend/routes/auth.py b/app/backend/routes/auth.py index e288a295ff1e2e72cd7b255ea8019b74a544d468..1f50872580e0551ca83a50b3b2d9bc4c452e2fe0 100644 --- a/app/backend/routes/auth.py +++ b/app/backend/routes/auth.py @@ -54,7 +54,7 @@ def signup(user_data: UserCreate, session: Session = Depends(get_session)): def login(user_data: UserLogin, session: Session = Depends(get_session)): user = session.exec(select(User).where(User.email == user_data.email)).first() if not user or not verify_password(user_data.password, user.password): - raise HTTPException(status_code=401, detail="Invalid credentials") + raise HTTPException(status_code=401, detail="Invalid email or password") access_token = create_access_token(data={"sub": str(user.id)}) return { "message": "Login successful", diff --git a/app/backend/utils/hashing.py b/app/backend/utils/hashing.py index 2090d16b2d45394e3b833f864649e3997238262d..8fb9fbcf0e99392ddcedec489e706d60debbc908 100644 --- a/app/backend/utils/hashing.py +++ b/app/backend/utils/hashing.py @@ -42,14 +42,9 @@ def decode_token(token: str) -> int: user_id = payload.get("sub") if user_id is None: print("No user_id in token payload") - raise HTTPException( - status_code=401, detail="Invalid authentication credentials" - ) + pass return user_id except jwt.ExpiredSignatureError: raise HTTPException(status_code=401, detail="Token has expired") except PyJWTError as e: - print(f"JWT error: {str(e)}") - raise HTTPException( - status_code=401, detail=f"Invalid authentication credentials: {str(e)}" - ) + pass diff --git a/app/frontend/components/admin/category.py b/app/frontend/components/admin/category.py index 3504aa38db65021accc1a065211c3b3827e63d34..2f89473f92eec6a8756f4375a7b8650fbf4cc3c1 100644 --- a/app/frontend/components/admin/category.py +++ b/app/frontend/components/admin/category.py @@ -265,16 +265,10 @@ def category_frame(parent, switch_func, API_URL, access_token): return categories elif response.status_code == 403: - CTkMessagebox( - title="Error", - message="Unauthorized. Admin access required.", - icon="cancel", - ) + pass return [] else: - CTkMessagebox( - title="Error", message="Failed to fetch categories", icon="cancel" - ) + pass return [] except requests.exceptions.RequestException as e: CTkMessagebox( @@ -307,11 +301,7 @@ def category_frame(parent, switch_func, API_URL, access_token): entry_name.delete(0, "end") fetch_categories() # Refresh the list elif response.status_code == 403: - CTkMessagebox( - title="Error", - message="Unauthorized. Admin access required.", - icon="cancel", - ) + pass else: error_detail = "Failed to create category" try: @@ -376,11 +366,7 @@ def category_frame(parent, switch_func, API_URL, access_token): entry_name.delete(0, "end") fetch_categories() # Refresh the list elif response.status_code == 403: - CTkMessagebox( - title="Error", - message="Unauthorized. Admin access required.", - icon="cancel", - ) + pass else: error_detail = "Failed to update category" try: @@ -420,11 +406,7 @@ def category_frame(parent, switch_func, API_URL, access_token): entry_id.delete(0, "end") fetch_categories() # Refresh the list elif response.status_code == 403: - CTkMessagebox( - title="Error", - message="Unauthorized. Admin access required.", - icon="cancel", - ) + pass elif response.status_code == 400: try: error_data = response.json() diff --git a/app/frontend/components/admin/category_management.py b/app/frontend/components/admin/category_management.py index ac130e5027364e2fc6a36667cc5de065cd8d3d10..c3db1642ffb70f62acd05c4c10ad1a02301b060d 100644 --- a/app/frontend/components/admin/category_management.py +++ b/app/frontend/components/admin/category_management.py @@ -246,9 +246,7 @@ def admin_category_management_frame(parent, switch_func, API_URL, access_token): ), ) else: - CTkMessagebox( - title="Error", message="Failed to fetch categories", icon="cancel" - ) + pass except Exception as e: CTkMessagebox( title="Error", message=f"An error occurred: {str(e)}", icon="cancel" @@ -355,11 +353,7 @@ def admin_category_management_frame(parent, switch_func, API_URL, access_token): category = response.json() show_category_dialog("Edit Category", category) else: - CTkMessagebox( - title="Error", - message="Failed to fetch category details", - icon="cancel", - ) + pass except Exception as e: CTkMessagebox( title="Error", message=f"An error occurred: {str(e)}", icon="cancel" diff --git a/app/frontend/components/admin/dashboard.py b/app/frontend/components/admin/dashboard.py index dfa637a70377bab437d495db2605688ead1b588f..da55debd94d6cf7d818c99f388c6291db9f4a927 100644 --- a/app/frontend/components/admin/dashboard.py +++ b/app/frontend/components/admin/dashboard.py @@ -103,19 +103,11 @@ def admin_dashboard_frame(parent, switch_func, API_URL, access_token): if resp.status_code == 200: role_data = resp.json() if role_data.get("role") != "admin": - CTkMessagebox( - title="Access Denied", - message="You need admin privileges to access this dashboard", - icon="cancel", - ) + pass switch_func("dashboard") return False else: - CTkMessagebox( - title="Error", - message="Failed to verify admin privileges", - icon="cancel", - ) + pass switch_func("login") return False except Exception as e: diff --git a/app/frontend/components/admin/shop_owner_management.py b/app/frontend/components/admin/shop_owner_management.py index 4c872a016e2fbf85743be82699c337fc6c6dcf2e..ed416da2d97150c1e5fabb71781f38986b8fea6d 100644 --- a/app/frontend/components/admin/shop_owner_management.py +++ b/app/frontend/components/admin/shop_owner_management.py @@ -246,13 +246,7 @@ def admin_shop_owner_management_frame(parent, switch_func, API_URL, access_token ) row_count += 1 else: - CTkMessagebox( - title="Error", - message=response.json().get( - "detail", "Failed to fetch shop owners" - ), - icon="cancel", - ) + pass except Exception as e: CTkMessagebox( title="Connection Error", @@ -441,12 +435,7 @@ def admin_shop_owner_management_frame(parent, switch_func, API_URL, access_token if response.status_code == 200: return response.json() else: - CTkMessagebox( - title="Error", - message=response.json().get("detail", "Failed to fetch shops"), - icon="cancel", - ) - return [] + pass except Exception as e: CTkMessagebox( title="Connection Error", diff --git a/app/frontend/components/auth/login.py b/app/frontend/components/auth/login.py index bdc8c7d1d3f3eeb5e232735ab61d6d871d88c1c1..bdddc26e59cc2ddab68400a612117181f9348ee5 100644 --- a/app/frontend/components/auth/login.py +++ b/app/frontend/components/auth/login.py @@ -74,7 +74,7 @@ def login_frame(parent, switch_func, API_URL): else: CTkMessagebox( title="Login Failed", - message=response_data.get("detail", "Invalid credentials"), + message=response_data.get("detail", "Password or email is incorrect."), icon="cancel", ) diff --git a/app/frontend/components/auth/register.py b/app/frontend/components/auth/register.py index 9b7b571e4c97587b19d33323ec3e2afd8bb72cc6..368e1eb869579fe7b683d3a75e77e7ea6daff131 100644 --- a/app/frontend/components/auth/register.py +++ b/app/frontend/components/auth/register.py @@ -117,7 +117,7 @@ def register_frame(parent, switch_func, API_URL): if status_code == 200 or status_code == 201: CTkMessagebox( title="Registration Successful", - message=f"Welcome, {username}! You can now log in with your credentials.", + message=f"Welcome, {username}! You can now log in.", icon="check", ) switch_func("login") diff --git a/app/frontend/components/owner/owner_orders.py b/app/frontend/components/owner/owner_orders.py index d959b2c218df685088be55c39631c7f5a14823e6..5ed371d286de0634fc583046738e7d9c5e2630d4 100644 --- a/app/frontend/components/owner/owner_orders.py +++ b/app/frontend/components/owner/owner_orders.py @@ -443,11 +443,7 @@ def owner_orders_frame(parent, switch_func, API_URL, token): icon="cancel", ) else: - CTkMessagebox( - title="Error", - message=f"Failed to fetch shop: {shop_resp.text}", - icon="cancel", - ) + pass except Exception as e: CTkMessagebox(title="Error", message=f"Request error: {e}", icon="cancel") diff --git a/app/frontend/components/owner/owner_products.py b/app/frontend/components/owner/owner_products.py index 71477d34fefc21f13de3ab709be56a134272b6bb..e2e841c331b33f04f62e1a2466ae6a56a54b93aa 100644 --- a/app/frontend/components/owner/owner_products.py +++ b/app/frontend/components/owner/owner_products.py @@ -561,12 +561,7 @@ def owner_products_frame(parent, switch_func, API_URL, token): no_shop_label.pack(pady=30) product_rows.append(no_shop_label) else: - print(f"Error fetching shop: {shop_resp.status_code}") - CTkMessagebox( - title="Error", - message=f"Failed to fetch shop: {shop_resp.text}", - icon="cancel", - ) + pass except Exception as e: print(f"Error in fetch_products: {e}") CTkMessagebox(title="Error", message=f"Request error: {e}", icon="cancel") diff --git a/app/frontend/components/product/view_product.py b/app/frontend/components/product/view_product.py index 1991babe1bd8bc905fa2d62265997afa216aa52c..63232151017a5f577ec1207b0e4ccc685dfeaca9 100644 --- a/app/frontend/components/product/view_product.py +++ b/app/frontend/components/product/view_product.py @@ -604,18 +604,21 @@ def view_product_frame( # Add Category display category_name = "Uncategorized" try: - if (product_data.get("category") is not None and - product_data["category"].get("name")): + if product_data.get("category") is not None and product_data[ + "category" + ].get("name"): category_name = product_data["category"]["name"] print(f"[DEBUG] Found category: {category_name}") elif product_data.get("category_id"): - print(f"[DEBUG] Category ID found but no category object: {product_data.get('category_id')}") + print( + f"[DEBUG] Category ID found but no category object: {product_data.get('category_id')}" + ) except Exception as e: print(f"[DEBUG] Error processing category: {e}") - + category_frame = ctk.CTkFrame(details_inner, fg_color="transparent") category_frame.pack(fill="x", pady=(0, 10)) - + category_label = ctk.CTkLabel( category_frame, text=f"Category: {category_name}", @@ -624,22 +627,6 @@ def view_product_frame( anchor="w", ) category_label.pack(side="left") - - # Add a button to view all products in this category - if product_data.get("category") is not None and product_data["category"].get("id"): - category_id = product_data["category"].get("id") - browse_category_btn = ctk.CTkButton( - category_frame, - text="Browse Category", - font=("Helvetica", 12), - fg_color=SHOPPING, - text_color="white", - corner_radius=8, - height=25, - width=120, - command=lambda: switch_func("browse_category", product_data["category"]), - ) - browse_category_btn.pack(side="right") # Stock information stock_status = "In Stock" if product_stock > 0 else "Out of Stock" diff --git a/app/frontend/components/user_details.py b/app/frontend/components/user_details.py index dc636c6070447f0ce0fb123a81b423fbd98f222e..0efcdf272aba3a98362df198dbe2625a4c94b37d 100644 --- a/app/frontend/components/user_details.py +++ b/app/frontend/components/user_details.py @@ -416,12 +416,7 @@ def user_details_frame(parent, switch_func, API_URL, token): owner_button.pack(fill="x") else: - print(f"Error response: {resp.text}") - CTkMessagebox( - title="Error", - message="Unable to retrieve user information.", - icon="cancel", - ) + pass except Exception as e: print(f"Exception in fetch_user_info: {e}") CTkMessagebox(title="Error", message=f"Request error: {e}", icon="cancel") diff --git a/app/frontend/components/user_orders.py b/app/frontend/components/user_orders.py index dcb5ba53051725aa8a90d4aaf10b5b425e7f6176..283316c93d81f0bc9e1ce380c08cbcb61998cc3b 100644 --- a/app/frontend/components/user_orders.py +++ b/app/frontend/components/user_orders.py @@ -574,12 +574,7 @@ def user_orders_frame(parent, switch_func, API_URL, token): checkout_button.pack(side="right", padx=15) else: - error_msg = response.json().get("detail", "Unknown error") - CTkMessagebox( - title="Error", - message=f"Failed to load cart: {error_msg}", - icon="cancel", - ) + pass except Exception as e: CTkMessagebox( @@ -837,13 +832,7 @@ def user_orders_frame(parent, switch_func, API_URL, token): order_frame.pack(fill="x", pady=10) else: - error_msg = response.json().get("detail", "Unknown error") - print(f"Error loading orders: {error_msg}") - CTkMessagebox( - title="Error", - message=f"Failed to load orders: {error_msg}", - icon="cancel", - ) + pass except Exception as e: print(f"Exception in load_order_history: {e}") @@ -1049,13 +1038,7 @@ def user_orders_frame(parent, switch_func, API_URL, token): order_frame.pack(fill="x", pady=10) else: - error_msg = response.json().get("detail", "Unknown error") - print(f"Error loading shipped orders: {error_msg}") - CTkMessagebox( - title="Error", - message=f"Failed to load shipped orders: {error_msg}", - icon="cancel", - ) + pass except Exception as e: print(f"Exception in load_shipped_orders: {e}") diff --git a/app/frontend/components/user_payments.py b/app/frontend/components/user_payments.py index 825f4c2acd1fa8033b6175a6604effdd7239fe32..e302b7347ffe46efda85bfafc09eee18696774ff 100644 --- a/app/frontend/components/user_payments.py +++ b/app/frontend/components/user_payments.py @@ -528,13 +528,7 @@ def user_payments_frame(parent, switch_func, API_URL, token): clear_form() enable_form_inputs() elif response.status_code == 401: - # Handle unauthorized error - likely token expired - print(f"Authentication error: {response.text}") - CTkMessagebox( - title="Authentication Error", - message="Your session has expired. Please log in again.", - icon="cancel", - ) + pass elif response.status_code == 404: # Handle 404 gracefully - just means no payment methods yet print("No payment methods found (404)")