From 78f41d59e0c159162bcba303842c233d4d55abfa Mon Sep 17 00:00:00 2001 From: ricardo051199 Date: Tue, 1 Oct 2024 18:35:52 -0400 Subject: [PATCH] Coreccion del enlace a documentos --- .../views/DocumentView.java | 41 ++++++++----------- .../views/MainLayout.java | 6 +-- 2 files changed, 20 insertions(+), 27 deletions(-) diff --git a/src/main/java/com/primefactorsolutions/views/DocumentView.java b/src/main/java/com/primefactorsolutions/views/DocumentView.java index de4457e..b854b7e 100644 --- a/src/main/java/com/primefactorsolutions/views/DocumentView.java +++ b/src/main/java/com/primefactorsolutions/views/DocumentView.java @@ -8,6 +8,7 @@ import com.primefactorsolutions.service.EmployeeService; import com.vaadin.flow.component.Component; import com.vaadin.flow.component.button.Button; import com.vaadin.flow.component.combobox.ComboBox; +import com.vaadin.flow.component.html.H2; import com.vaadin.flow.component.notification.Notification; import com.vaadin.flow.component.orderedlayout.HorizontalLayout; import com.vaadin.flow.component.textfield.TextField; @@ -39,6 +40,7 @@ import java.io.InputStream; @PageTitle("Document") @Route(value = "/documents/:documentId?/:action?", layout = MainLayout.class) public class DocumentView extends BeanValidationForm implements HasUrlParameter { + private final H2 title = new H2("Edit Documents"); private final TextField fileName = new TextField("Document Name"); private final ComboBox documentType = new ComboBox<>("Document Type"); private final ComboBox employeeComboBox = new ComboBox<>("Employee"); @@ -51,7 +53,6 @@ public class DocumentView extends BeanValidationForm implements HasUrl private Button saveButton; private Button viewDocumentButton; - public DocumentView(final DocumentService documentService, final EmployeeService employeeService, final AuthenticationContext authContext) { @@ -130,7 +131,8 @@ public class DocumentView extends BeanValidationForm implements HasUrl ui.getPage().open(registration.getResourceUri().toString()); }); } catch (IOException e) { - Notification.show("Error reading file."); + e.printStackTrace(); + Notification.show("Error al leer el archivo."); } } @@ -196,36 +198,30 @@ public class DocumentView extends BeanValidationForm implements HasUrl fileUploaded = true; } - private void updateSaveButtonState() { - boolean isModified = !fileName.getValue().equals(getEntity().getFileName()) - || documentType.getValue() != getEntity().getDocumentType() - || employeeComboBox.getValue() != getEntity().getEmployee() - || fileUploaded; - saveButton.setEnabled(isModified); + private void handleUploadSuccess() { + fileUploaded = true; + Notification.show("File uploaded successfully."); + viewDocumentButton.setEnabled(true); + } + + private void handleFileRemoval() { + fileUploaded = false; + Notification.show("File removed."); + viewDocumentButton.setEnabled(false); + uploadButton.setReceiver(new MemoryBuffer()); } private void configureComponents() { setFileNameProperties(); setDocumentTypeProperties(); setEmployeeComboBoxProperties(); - fileName.addValueChangeListener(e -> updateSaveButtonState()); - documentType.addValueChangeListener(e -> updateSaveButtonState()); - employeeComboBox.addValueChangeListener(e -> updateSaveButtonState()); - uploadButton.addSucceededListener(e -> updateSaveButtonState()); - uploadButton.getElement().addEventListener("file-remove", event -> updateSaveButtonState()); } private void configureUploadButton() { uploadButton.setMaxFiles(1); uploadButton.setAcceptedFileTypes(".pdf"); - uploadButton.addSucceededListener(event -> { - fileUploaded = true; - updateSaveButtonState(); - }); - uploadButton.getElement().addEventListener("file-remove", event -> { - fileUploaded = false; - updateSaveButtonState(); - }); + uploadButton.addSucceededListener(event -> handleUploadSuccess()); + uploadButton.getElement().addEventListener("file-remove", event -> handleFileRemoval()); } private void configureViewOrEditAction(final String action, final String documentIdString) { @@ -249,7 +245,6 @@ public class DocumentView extends BeanValidationForm implements HasUrl if ("new".equals(action)) { setEntityWithEnabledSave(new Document()); } else { - assert documentIdString != null; UUID documentId = UUID.fromString(documentIdString); Document document = documentService.getDocument(documentId); setEntity(document); @@ -264,6 +259,6 @@ public class DocumentView extends BeanValidationForm implements HasUrl HorizontalLayout buttonLayout = new HorizontalLayout(); buttonLayout.add(uploadButton, createViewDocumentButton()); buttonLayout.setSpacing(true); - return List.of(fileName, documentType, employeeComboBox, buttonLayout, createCloseButton()); + return List.of(title, fileName, documentType, employeeComboBox, buttonLayout, createCloseButton()); } } diff --git a/src/main/java/com/primefactorsolutions/views/MainLayout.java b/src/main/java/com/primefactorsolutions/views/MainLayout.java index 4867ea3..81fa7f6 100644 --- a/src/main/java/com/primefactorsolutions/views/MainLayout.java +++ b/src/main/java/com/primefactorsolutions/views/MainLayout.java @@ -100,12 +100,10 @@ public class MainLayout extends AppLayout { SideNavItem admin = new SideNavItem("Admin", MainView.class, LineAwesomeIcon.SUPERSCRIPT_SOLID.create()); - admin.addItem(new SideNavItem("Requests", RequestsListView.class, - LineAwesomeIcon.TASKS_SOLID.create())); - admin.addItem(new SideNavItem("Timesheets", TimesheestReportView.class, - LineAwesomeIcon.HOURGLASS_END_SOLID.create())); admin.addItem(new SideNavItem("Employees", EmployeesListView.class, LineAwesomeIcon.USER_EDIT_SOLID.create())); + admin.addItem(new SideNavItem("Documents", DocumentsListView.class, + LineAwesomeIcon.FILE_ALT_SOLID.create())); SideNavItem timeOff = new SideNavItem("My Time-off", TimeoffView.class, LineAwesomeIcon.PLANE_DEPARTURE_SOLID.create());