Erweiterungen
This commit is contained in:
@@ -34,6 +34,9 @@ public class AppUser {
|
||||
@org.springframework.data.mongodb.core.index.Indexed(unique = true)
|
||||
private String email;
|
||||
|
||||
@Field("password")
|
||||
private String password;
|
||||
|
||||
@Field("geraet")
|
||||
private String geraet;
|
||||
|
||||
|
||||
@@ -11,6 +11,7 @@ import com.vaadin.flow.component.notification.Notification;
|
||||
import com.vaadin.flow.component.orderedlayout.FlexComponent;
|
||||
import com.vaadin.flow.component.orderedlayout.HorizontalLayout;
|
||||
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
|
||||
import com.vaadin.flow.component.textfield.PasswordField;
|
||||
import com.vaadin.flow.component.textfield.TextField;
|
||||
import com.vaadin.flow.data.binder.Binder;
|
||||
import com.vaadin.flow.data.binder.ValidationException;
|
||||
@@ -39,6 +40,8 @@ public class AddAppUserView extends VerticalLayout {
|
||||
private final TextField phoneField = new TextField("Telefon (Mobil)");
|
||||
private final TextField appCodeField = new TextField("App-Code");
|
||||
private final TextField emailField = new TextField("E-Mail-Adresse");
|
||||
private final PasswordField passwordField = new PasswordField("Passwort");
|
||||
private final PasswordField confirmPasswordField = new PasswordField("Passwort wiederholen");
|
||||
private final ComboBox<AppDevice> deviceComboBox = new ComboBox<>("Endgerät");
|
||||
|
||||
@Autowired
|
||||
@@ -101,6 +104,10 @@ public class AddAppUserView extends VerticalLayout {
|
||||
phoneField.setWidthFull();
|
||||
appCodeField.setWidthFull();
|
||||
emailField.setWidthFull();
|
||||
passwordField.setWidthFull();
|
||||
passwordField.setRequired(true);
|
||||
confirmPasswordField.setWidthFull();
|
||||
confirmPasswordField.setRequired(true);
|
||||
|
||||
// Configure device dropdown
|
||||
// Geräteauswahl vorbereiten
|
||||
@@ -116,6 +123,8 @@ public class AddAppUserView extends VerticalLayout {
|
||||
formLayout.add(phoneField);
|
||||
formLayout.add(appCodeField);
|
||||
formLayout.add(emailField);
|
||||
formLayout.add(passwordField);
|
||||
formLayout.add(confirmPasswordField);
|
||||
formLayout.add(deviceComboBox);
|
||||
|
||||
contentContainer.add(formLayout);
|
||||
@@ -144,6 +153,19 @@ public class AddAppUserView extends VerticalLayout {
|
||||
binder.forField(phoneField).bind(AppUser::getTelefon, AppUser::setTelefon);
|
||||
binder.forField(appCodeField).bind(AppUser::getAppCode, AppUser::setAppCode);
|
||||
binder.forField(emailField).bind(AppUser::getEmail, AppUser::setEmail);
|
||||
binder.forField(passwordField)
|
||||
.asRequired("Passwort ist erforderlich")
|
||||
.bind(AppUser::getPassword, AppUser::setPassword);
|
||||
|
||||
// Confirm password field validation
|
||||
binder.forField(confirmPasswordField)
|
||||
.asRequired("Passwort wiederholen ist erforderlich")
|
||||
.withValidator(confirmPassword -> confirmPassword.equals(passwordField.getValue()),
|
||||
"Passwörter stimmen nicht überein")
|
||||
.bind(
|
||||
appUser -> "", // Dummy getter - this field is not stored
|
||||
(appUser, value) -> {} // Dummy setter - this field is not stored
|
||||
);
|
||||
binder.forField(deviceComboBox)
|
||||
.asRequired("Bitte ein Gerät auswählen")
|
||||
.bind(
|
||||
@@ -204,6 +226,12 @@ public class AddAppUserView extends VerticalLayout {
|
||||
// Fill email field
|
||||
emailField.setValue("max.mustermann@example.com");
|
||||
|
||||
// Fill password field
|
||||
passwordField.setValue("testpassword123");
|
||||
|
||||
// Fill confirm password field
|
||||
confirmPasswordField.setValue("testpassword123");
|
||||
|
||||
// Set device to iPhone
|
||||
// deviceComboBox.setValue("iPhone"); // This line is removed as deviceComboBox is now a ComboBox<AppDevice>
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user