VPR-Frontend/client/app/src/main/java/users/CreateUserController.java

100 lines
2.9 KiB
Java
Raw Normal View History

2022-01-25 11:14:16 +01:00
//Alex Rechtin//
package users;
2022-02-07 13:48:58 +01:00
import com.jfoenix.controls.JFXPasswordField;
import com.jfoenix.controls.JFXTextField;
import com.jfoenix.controls.JFXToggleButton;
import helper.HttpRequestException;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.Node;
import javafx.scene.control.Label;
import javafx.stage.Stage;
import container.DataController;
import container.User;
import java.util.Objects;
public class CreateUserController {
2022-01-31 23:03:29 +01:00
@FXML
2022-02-07 13:48:58 +01:00
protected JFXTextField textName;
2022-01-31 23:03:29 +01:00
@FXML
2022-02-07 13:48:58 +01:00
protected JFXPasswordField textPassword;
2022-01-31 23:03:29 +01:00
@FXML
2022-02-07 13:48:58 +01:00
protected JFXPasswordField textPasswordSecond;
2022-01-31 23:03:29 +01:00
@FXML
2022-02-07 13:48:58 +01:00
protected JFXToggleButton checkButtonIsAdmin;
2022-01-31 23:03:29 +01:00
@FXML
2022-02-07 13:48:58 +01:00
protected JFXTextField textLogin;
2022-01-31 23:03:29 +01:00
@FXML
2022-02-07 13:48:58 +01:00
protected JFXTextField textForename;
2022-01-31 23:03:29 +01:00
@FXML
protected Label labelError;
@FXML
protected void createUser(ActionEvent event) {
2022-01-31 23:03:29 +01:00
if (validateNameAndLogin() || validatePassword()) return;
User user = new User();
user.setLogin(textLogin.getText().trim());
user.setForename(textForename.getText().trim());
user.setName(textName.getText().trim());
user.setPassword(textPassword.getText().trim());
2022-01-29 19:27:06 +01:00
user.setAdmin(checkButtonIsAdmin.isSelected());
try {
sendHttpRequest(user);
} catch (HttpRequestException e) {
labelError.setText(e.getMessage());
2022-01-29 19:27:06 +01:00
return;
}
Stage stage = (Stage) ((Node) event.getSource()).getScene().getWindow();
stage.close();
}
2022-01-31 23:03:29 +01:00
protected boolean validatePassword() {
if (textPassword.getText().trim().isEmpty()) {
labelError.setText("Bitte Passwort eingeben!");
return true;
}
if (textPassword.getText().trim().length() < 8) {
labelError.setText("Das Passwort muss mindestens 8 Zeichen lang sein!");
return true;
}
if (!Objects.equals(textPassword.getText(), textPasswordSecond.getText())){
labelError.setText("Passwörter stimmen nicht überein!");
return true;
}
return false;
}
protected boolean validateNameAndLogin() {
if (textLogin.getText().trim().isEmpty()){
labelError.setText("Bitte Login Namen angeben");
2022-01-31 23:03:29 +01:00
return true;
}
if (textForename.getText().trim().isEmpty()) {
labelError.setText("Bitte Vornamen eingeben!");
2022-01-31 23:03:29 +01:00
return true;
}
if (textName.getText().trim().isEmpty()) {
labelError.setText("Bitte Nachnamen eingeben!");
2022-01-31 23:03:29 +01:00
return true;
}
2022-01-31 23:03:29 +01:00
return false;
}
protected void sendHttpRequest(User user) throws HttpRequestException {
DataController dataController = new DataController();
dataController.createUser(user);
}
@FXML
protected void abortBtnClick(ActionEvent event) {
Stage stage = (Stage) ((Node) event.getSource()).getScene().getWindow();
stage.close();
}
}