diff --git a/connectionpetstore.properties b/connectionpetstore.properties deleted file mode 100644 index bdee2f8d..00000000 --- a/connectionpetstore.properties +++ /dev/null @@ -1 +0,0 @@ -api.baseUrl=http://localhost:8080 diff --git a/src/main/java/org/example/petshopdesktop/controllers/LoginController.java b/src/main/java/org/example/petshopdesktop/controllers/LoginController.java index c3162df1..5e18be1d 100644 --- a/src/main/java/org/example/petshopdesktop/controllers/LoginController.java +++ b/src/main/java/org/example/petshopdesktop/controllers/LoginController.java @@ -63,6 +63,13 @@ public class LoginController { if (token == null || roleStr == null) { throw new IllegalStateException("Token or role is null"); } + + if ("CUSTOMER".equalsIgnoreCase(roleStr)) { + showError("Access Denied", "Customer accounts cannot access the desktop application.\n\nPlease use the web or mobile application instead."); + txtPassword.clear(); + return; + } + Role role = Role.valueOf(roleStr.toUpperCase()); UserSession.getInstance().login(null, username, role, token); diff --git a/src/main/java/org/example/petshopdesktop/controllers/MainLayoutController.java b/src/main/java/org/example/petshopdesktop/controllers/MainLayoutController.java index 001765be..b71d4991 100644 --- a/src/main/java/org/example/petshopdesktop/controllers/MainLayoutController.java +++ b/src/main/java/org/example/petshopdesktop/controllers/MainLayoutController.java @@ -173,8 +173,14 @@ public class MainLayoutController { @FXML void logoClicked(MouseEvent event) { - loadView("analytics-view.fxml"); - updateButtons(btnAnalytics); + UserSession session = UserSession.getInstance(); + if (session.isAdmin()) { + loadView("analytics-view.fxml"); + updateButtons(btnAnalytics); + } else { + loadView("sale-view.fxml"); + updateButtons(btnSalesHistory); + } } @FXML @@ -201,8 +207,14 @@ public class MainLayoutController { public void initialize() { applyRBAC(); - loadView("analytics-view.fxml"); - updateButtons(btnAnalytics); + UserSession session = UserSession.getInstance(); + if (session.isAdmin()) { + loadView("analytics-view.fxml"); + updateButtons(btnAnalytics); + } else { + loadView("sale-view.fxml"); + updateButtons(btnSalesHistory); + } } private void applyRBAC() { @@ -241,6 +253,11 @@ public class MainLayoutController { separatorAdmin.setManaged(isAdmin); } + if (btnAnalytics != null) { + btnAnalytics.setVisible(isAdmin); + btnAnalytics.setManaged(isAdmin); + } + btnSalesHistory.setText(isAdmin ? "Sales History" : "Sales");