diff --git a/src/main/java/com/application/DB/Account_handler.java b/src/main/java/com/application/DB/Account_handler.java index 7ac1dff54d8a33c43750418eb808f084ec87a014..10dd3e7e2330eba910ffe1563f17e1b307c5e881 100644 --- a/src/main/java/com/application/DB/Account_handler.java +++ b/src/main/java/com/application/DB/Account_handler.java @@ -7,6 +7,7 @@ import com.google.cloud.bigquery.TableResult; import static com.application.DB.Constants.*; import static com.application.DB.Settings.*; +import static com.application.GUI.PopUpWindows.LoginPopup.getPasswordTextField; public class Account_handler { @@ -41,6 +42,7 @@ public class Account_handler { } } else { NotificationPopUp.displayNotificationWindow("Wrong username or password!"); + getPasswordTextField().clear(); } } diff --git a/src/main/java/com/application/GUI/Panes/LogoBar.java b/src/main/java/com/application/GUI/Panes/LogoBar.java index 810dc230d0d57fd7300dc3956255ed8840d21e3d..4cb813b48d07ca3220d1859d11e099bd6c37a525 100644 --- a/src/main/java/com/application/GUI/Panes/LogoBar.java +++ b/src/main/java/com/application/GUI/Panes/LogoBar.java @@ -12,6 +12,8 @@ import javafx.scene.layout.Region; import java.io.FileInputStream; import java.io.FileNotFoundException; +import static com.application.DB.Constants.isIsAdmin; + public class LogoBar { private static Button login = new Button("Login"); @@ -45,22 +47,19 @@ public class LogoBar { HBox.setHgrow(region2, Priority.ALWAYS); // Login button - - - getLogin().setOnAction(event -> { - if(getLogin().getText().equals("Login")){ - LoginPopup.login(); + getLogin().setOnAction(event -> { + if(getLogin().getText().equals("Login")){ + LoginPopup.login(); + } else { + if(isIsAdmin()){ + LoginPopup.adminPopup(); } else { - System.out.println("Logget inn"); + LoginPopup.userPopup(); } + } + }); - - }); - - - - - return new HBox(imageViewM, region1, imageViewTitle, region2, login); + return new HBox(imageViewM, region1, imageViewTitle, region2, getLogin()); } public static Button getLogin() { diff --git a/src/main/java/com/application/GUI/PopUpWindows/LoginPopup.java b/src/main/java/com/application/GUI/PopUpWindows/LoginPopup.java index e4b4c573fb496b5f21181256da63480e946445a5..4db9e178b09cbd6efeb456db05ef1bbd7f048376 100644 --- a/src/main/java/com/application/GUI/PopUpWindows/LoginPopup.java +++ b/src/main/java/com/application/GUI/PopUpWindows/LoginPopup.java @@ -21,6 +21,8 @@ import static com.application.DB.Account_handler.getAccount; public class LoginPopup { + public static PasswordField PASSWORD_TEXT_FIELD = new PasswordField(); + public static void login(){ Stage window = new Stage(); @@ -31,7 +33,6 @@ public class LoginPopup { Label passwordLabel = new Label("Password:"); TextField userNameTextField = new TextField(); - PasswordField passwordTextField = new PasswordField(); Button closeButton = new Button("Close"); Button loginButton = new Button("Login"); @@ -43,7 +44,7 @@ public class LoginPopup { MessageDigest messageDigest = MessageDigest.getInstance("SHA-512"); assert messageDigest != null; - messageDigest.update(passwordTextField.getText().getBytes(StandardCharsets.UTF_8)); + messageDigest.update(getPasswordTextField().getText().getBytes(StandardCharsets.UTF_8)); byte[] hashedPassword = messageDigest.digest(); @@ -72,11 +73,49 @@ public class LoginPopup { VBox layout = new VBox(10); layout.setAlignment(Pos.CENTER); - layout.getChildren().addAll(userNameLabel, userNameTextField, passwordLabel, passwordTextField, loginButton, closeButton); + layout.getChildren().addAll(userNameLabel, userNameTextField, passwordLabel, getPasswordTextField(), loginButton, closeButton); Scene scene = new Scene(layout, 500, 300); scene.getStylesheets().add(InputPopup.class.getResource("/com.application/CSS/styleSheet.css").toExternalForm()); window.setScene(scene); window.showAndWait(); } + + public static void adminPopup(){ + + Stage window = new Stage(); + window.initModality(Modality.APPLICATION_MODAL); + window.setTitle("Login window"); + + + VBox layout = new VBox(10); + layout.setAlignment(Pos.CENTER); + layout.getChildren().addAll(); + + Scene scene = new Scene(layout, 500, 300); + scene.getStylesheets().add(InputPopup.class.getResource("/com.application/CSS/styleSheet.css").toExternalForm()); + window.setScene(scene); + window.showAndWait(); + } + + public static void userPopup(){ + + Stage window = new Stage(); + window.initModality(Modality.APPLICATION_MODAL); + window.setTitle("Login window"); + + + VBox layout = new VBox(10); + layout.setAlignment(Pos.CENTER); + layout.getChildren().addAll(); + + Scene scene = new Scene(layout, 500, 300); + scene.getStylesheets().add(InputPopup.class.getResource("/com.application/CSS/styleSheet.css").toExternalForm()); + window.setScene(scene); + window.showAndWait(); + } + + public static PasswordField getPasswordTextField() { + return PASSWORD_TEXT_FIELD; + } } diff --git a/target/classes/com/application/DB/Account_handler.class b/target/classes/com/application/DB/Account_handler.class index 30fde92804abf4d3e2a3b90d1aa76b3fec8c496d..254fefbc8b16860ea8ebc924d879720d5c4da3fc 100644 Binary files a/target/classes/com/application/DB/Account_handler.class and b/target/classes/com/application/DB/Account_handler.class differ diff --git a/target/classes/com/application/GUI/Panes/LogoBar.class b/target/classes/com/application/GUI/Panes/LogoBar.class index 6bf148944fe71a3eb8f7a6b784dc3a83196d42f3..654a3b92355770a294d191cc0f302fe5fc700687 100644 Binary files a/target/classes/com/application/GUI/Panes/LogoBar.class and b/target/classes/com/application/GUI/Panes/LogoBar.class differ diff --git a/target/classes/com/application/GUI/PopUpWindows/LoginPopup.class b/target/classes/com/application/GUI/PopUpWindows/LoginPopup.class index 47e7da70b4c4df450224dcea4a42d4e9159832d2..c0bfec4e092c91274be6d9220d72a0f18defb406 100644 Binary files a/target/classes/com/application/GUI/PopUpWindows/LoginPopup.class and b/target/classes/com/application/GUI/PopUpWindows/LoginPopup.class differ