Erweiterungen
This commit is contained in:
@@ -34,6 +34,9 @@ public class AppUser {
|
|||||||
@org.springframework.data.mongodb.core.index.Indexed(unique = true)
|
@org.springframework.data.mongodb.core.index.Indexed(unique = true)
|
||||||
private String email;
|
private String email;
|
||||||
|
|
||||||
|
@Field("password")
|
||||||
|
private String password;
|
||||||
|
|
||||||
@Field("geraet")
|
@Field("geraet")
|
||||||
private String 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.FlexComponent;
|
||||||
import com.vaadin.flow.component.orderedlayout.HorizontalLayout;
|
import com.vaadin.flow.component.orderedlayout.HorizontalLayout;
|
||||||
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
|
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.component.textfield.TextField;
|
||||||
import com.vaadin.flow.data.binder.Binder;
|
import com.vaadin.flow.data.binder.Binder;
|
||||||
import com.vaadin.flow.data.binder.ValidationException;
|
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 phoneField = new TextField("Telefon (Mobil)");
|
||||||
private final TextField appCodeField = new TextField("App-Code");
|
private final TextField appCodeField = new TextField("App-Code");
|
||||||
private final TextField emailField = new TextField("E-Mail-Adresse");
|
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");
|
private final ComboBox<AppDevice> deviceComboBox = new ComboBox<>("Endgerät");
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
@@ -101,6 +104,10 @@ public class AddAppUserView extends VerticalLayout {
|
|||||||
phoneField.setWidthFull();
|
phoneField.setWidthFull();
|
||||||
appCodeField.setWidthFull();
|
appCodeField.setWidthFull();
|
||||||
emailField.setWidthFull();
|
emailField.setWidthFull();
|
||||||
|
passwordField.setWidthFull();
|
||||||
|
passwordField.setRequired(true);
|
||||||
|
confirmPasswordField.setWidthFull();
|
||||||
|
confirmPasswordField.setRequired(true);
|
||||||
|
|
||||||
// Configure device dropdown
|
// Configure device dropdown
|
||||||
// Geräteauswahl vorbereiten
|
// Geräteauswahl vorbereiten
|
||||||
@@ -116,6 +123,8 @@ public class AddAppUserView extends VerticalLayout {
|
|||||||
formLayout.add(phoneField);
|
formLayout.add(phoneField);
|
||||||
formLayout.add(appCodeField);
|
formLayout.add(appCodeField);
|
||||||
formLayout.add(emailField);
|
formLayout.add(emailField);
|
||||||
|
formLayout.add(passwordField);
|
||||||
|
formLayout.add(confirmPasswordField);
|
||||||
formLayout.add(deviceComboBox);
|
formLayout.add(deviceComboBox);
|
||||||
|
|
||||||
contentContainer.add(formLayout);
|
contentContainer.add(formLayout);
|
||||||
@@ -144,6 +153,19 @@ public class AddAppUserView extends VerticalLayout {
|
|||||||
binder.forField(phoneField).bind(AppUser::getTelefon, AppUser::setTelefon);
|
binder.forField(phoneField).bind(AppUser::getTelefon, AppUser::setTelefon);
|
||||||
binder.forField(appCodeField).bind(AppUser::getAppCode, AppUser::setAppCode);
|
binder.forField(appCodeField).bind(AppUser::getAppCode, AppUser::setAppCode);
|
||||||
binder.forField(emailField).bind(AppUser::getEmail, AppUser::setEmail);
|
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)
|
binder.forField(deviceComboBox)
|
||||||
.asRequired("Bitte ein Gerät auswählen")
|
.asRequired("Bitte ein Gerät auswählen")
|
||||||
.bind(
|
.bind(
|
||||||
@@ -204,6 +226,12 @@ public class AddAppUserView extends VerticalLayout {
|
|||||||
// Fill email field
|
// Fill email field
|
||||||
emailField.setValue("max.mustermann@example.com");
|
emailField.setValue("max.mustermann@example.com");
|
||||||
|
|
||||||
|
// Fill password field
|
||||||
|
passwordField.setValue("testpassword123");
|
||||||
|
|
||||||
|
// Fill confirm password field
|
||||||
|
confirmPasswordField.setValue("testpassword123");
|
||||||
|
|
||||||
// Set device to iPhone
|
// Set device to iPhone
|
||||||
// deviceComboBox.setValue("iPhone"); // This line is removed as deviceComboBox is now a ComboBox<AppDevice>
|
// deviceComboBox.setValue("iPhone"); // This line is removed as deviceComboBox is now a ComboBox<AppDevice>
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user