diff --git a/src/main/java/de/assecutor/votianlt/pages/service/AddJobService.java b/src/main/java/de/assecutor/votianlt/pages/service/AddJobService.java index 0337114..74e98e2 100644 --- a/src/main/java/de/assecutor/votianlt/pages/service/AddJobService.java +++ b/src/main/java/de/assecutor/votianlt/pages/service/AddJobService.java @@ -78,7 +78,6 @@ public class AddJobService { .peek(te -> te.setJobId(jobId)) .toList(); taskRepository.saveAll(prepared); - modified = true; } } @@ -95,23 +94,6 @@ public class AddJobService { } } - /** - * Aktualisiert einen bestehenden Auftrag - */ - public Job updateJob(Job job) { - try { - job.setUpdatedAt(LocalDateTime.now()); - Job updatedJob = jobRepository.save(job); - log.info("Auftrag erfolgreich aktualisiert: {}", updatedJob.getJobNumber()); - return updatedJob; - } catch (Exception e) { - log.error("Fehler beim Aktualisieren des Auftrags: {}", e.getMessage(), e); - throw new RuntimeException("Auftrag konnte nicht aktualisiert werden: " + e.getMessage()); - } - } - - - /** * Generiert eine eindeutige Auftragsnummer */ @@ -135,48 +117,6 @@ public class AddJobService { return jobNumber; } - - - /** - * Speichert einen Auftrag als Entwurf (für automatisches Speichern) - */ - public void saveDraft(Job job) { - try { - // Prüfen ob bereits ein Entwurf für diesen Benutzer existiert - String currentUser = securityService.getCurrentUsername(); - List existingDrafts = jobRepository.findByCreatedByAndIsDraftTrue(currentUser); - - Job draftJob; - if (!existingDrafts.isEmpty()) { - // Bestehenden Entwurf aktualisieren - draftJob = existingDrafts.getFirst(); - updateJobFromForm(draftJob, job); - draftJob.setUpdatedAt(LocalDateTime.now()); - } else { - // Neuen Entwurf erstellen - draftJob = job; - LocalDateTime now = LocalDateTime.now(); - draftJob.setCreatedAt(now); - draftJob.setUpdatedAt(now); - draftJob.setStatus(JobStatus.CREATED); - draftJob.setCreatedBy(currentUser); - draftJob.setDraft(true); - - // Spezielle Entwurfs-Auftragsnummer - draftJob.setJobNumber("DRAFT_" + currentUser.replace("@", "_") + "_" + - LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMdd_HHmmss"))); - } - - jobRepository.save(draftJob); - - log.info("Entwurf automatisch gespeichert für Benutzer: {}", currentUser); - - } catch (Exception e) { - log.error("Fehler beim Speichern des Entwurfs: {}", e.getMessage(), e); - throw new RuntimeException("Entwurf konnte nicht gespeichert werden: " + e.getMessage()); - } - } - /** * Aktualisiert einen bestehenden Job mit neuen Formulardaten */ diff --git a/src/main/java/de/assecutor/votianlt/pages/service/PasswordResetService.java b/src/main/java/de/assecutor/votianlt/pages/service/PasswordResetService.java index 67a5f76..0aea8a1 100644 --- a/src/main/java/de/assecutor/votianlt/pages/service/PasswordResetService.java +++ b/src/main/java/de/assecutor/votianlt/pages/service/PasswordResetService.java @@ -35,11 +35,6 @@ public class PasswordResetService { this.mailUtil = mailUtil; } - public void initiateReset(String email, UserType userType, String baseUrl) { - // existing typed initiation - initiateResetInternal(email, userType, baseUrl); - } - /** * Initiate reset without asking for user type. Looks up the email in both collections * and only proceeds if it exists in exactly one of them. Otherwise, it silently returns diff --git a/src/main/java/de/assecutor/votianlt/pages/view/ForgetPasswordView.java b/src/main/java/de/assecutor/votianlt/pages/view/ForgetPasswordView.java index e0d7552..bb25b17 100644 --- a/src/main/java/de/assecutor/votianlt/pages/view/ForgetPasswordView.java +++ b/src/main/java/de/assecutor/votianlt/pages/view/ForgetPasswordView.java @@ -26,9 +26,8 @@ public class ForgetPasswordView extends VerticalLayout implements BeforeEnterObs private String token; private PasswordResetService.UserType userType; - private PasswordField newPassword; - private PasswordField confirmPassword; - private Button submit; + private final PasswordField newPassword; + private final PasswordField confirmPassword; public ForgetPasswordView(PasswordResetService passwordResetService) { this.passwordResetService = passwordResetService; @@ -49,7 +48,7 @@ public class ForgetPasswordView extends VerticalLayout implements BeforeEnterObs newPassword = new PasswordField("Neues Passwort"); confirmPassword = new PasswordField("Passwort bestätigen"); - submit = new Button("Passwort speichern", e -> onSubmit()); + Button submit = new Button("Passwort speichern", e -> onSubmit()); submit.addThemeVariants(ButtonVariant.LUMO_PRIMARY); container.add(title, newPassword, confirmPassword, submit); @@ -59,8 +58,8 @@ public class ForgetPasswordView extends VerticalLayout implements BeforeEnterObs @Override public void beforeEnter(BeforeEnterEvent event) { Map> params = event.getLocation().getQueryParameters().getParameters(); - String tokenParam = params.getOrDefault("token", java.util.List.of("")) .get(0); - String typeParam = params.getOrDefault("type", java.util.List.of("")) .get(0); + String tokenParam = params.getOrDefault("token", java.util.List.of("")).getFirst(); + String typeParam = params.getOrDefault("type", java.util.List.of("")).getFirst(); this.token = tokenParam != null ? tokenParam.trim() : ""; this.userType = "app_user".equalsIgnoreCase(typeParam) ? PasswordResetService.UserType.APP_USER : PasswordResetService.UserType.USERS; diff --git a/src/main/java/de/assecutor/votianlt/pages/view/ForgotPasswordRequestView.java b/src/main/java/de/assecutor/votianlt/pages/view/ForgotPasswordRequestView.java index 92680de..16e6f64 100644 --- a/src/main/java/de/assecutor/votianlt/pages/view/ForgotPasswordRequestView.java +++ b/src/main/java/de/assecutor/votianlt/pages/view/ForgotPasswordRequestView.java @@ -19,10 +19,7 @@ import de.assecutor.votianlt.pages.service.PasswordResetService; @AnonymousAllowed public class ForgotPasswordRequestView extends VerticalLayout { - private final PasswordResetService passwordResetService; - public ForgotPasswordRequestView(PasswordResetService passwordResetService) { - this.passwordResetService = passwordResetService; setSizeFull(); setJustifyContentMode(FlexComponent.JustifyContentMode.CENTER); diff --git a/src/main/java/de/assecutor/votianlt/pages/view/JobSummaryView.java b/src/main/java/de/assecutor/votianlt/pages/view/JobSummaryView.java index b3a1460..cacbb60 100644 --- a/src/main/java/de/assecutor/votianlt/pages/view/JobSummaryView.java +++ b/src/main/java/de/assecutor/votianlt/pages/view/JobSummaryView.java @@ -37,7 +37,7 @@ public class JobSummaryView extends Main implements HasUrlParameter { private final TaskRepository taskRepository; private final AppUserService appUserService; - private VerticalLayout content; + private final VerticalLayout content; public JobSummaryView(JobRepository jobRepository, CargoItemRepository cargoItemRepository, @@ -211,7 +211,7 @@ public class JobSummaryView extends Main implements HasUrlParameter { String wid = ci.getWidthMm() != null ? ci.getWidthMm().intValue() + " mm" : ""; String hei = ci.getHeightMm() != null ? ci.getHeightMm().intValue() + " mm" : ""; String combined = String.join(" x ", java.util.stream.Stream.of(len, wid, hei) - .filter(s -> s != null && !s.isBlank()).toList()); + .filter(s -> !s.isBlank()).toList()); return combined.isBlank() ? "" : combined; } diff --git a/src/main/java/de/assecutor/votianlt/pages/view/RegisterView.java b/src/main/java/de/assecutor/votianlt/pages/view/RegisterView.java index 0fa753d..1c79781 100644 --- a/src/main/java/de/assecutor/votianlt/pages/view/RegisterView.java +++ b/src/main/java/de/assecutor/votianlt/pages/view/RegisterView.java @@ -178,13 +178,17 @@ public class RegisterView extends VerticalLayout { new FormLayout.ResponsiveStep("0", 2) ); - // Erste Reihe: Zugangsdaten + // Firma zuerst, volle Breite + form.add(companyField); + form.setColspan(companyField, 2); + + // Zugangsdaten form.add(emailField, passwordField, confirmPasswordField); form.setColspan(emailField, 2); - // Personen-/Firmendaten + // Personen-/Adressdaten form.add(firstNameField, lastNameField); - form.add(phoneField, companyField); + form.add(phoneField); form.add(streetField, houseNumberField); form.add(zipField, cityField);