diff --git a/src/main/bundles/prod.bundle b/src/main/bundles/prod.bundle index 7acd791..eecdf0b 100644 Binary files a/src/main/bundles/prod.bundle and b/src/main/bundles/prod.bundle differ diff --git a/src/main/java/mx/gob/jumapacelaya/Application.java b/src/main/java/mx/gob/jumapacelaya/Application.java index 7bfc666..771655e 100644 --- a/src/main/java/mx/gob/jumapacelaya/Application.java +++ b/src/main/java/mx/gob/jumapacelaya/Application.java @@ -20,6 +20,7 @@ import org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConf @SpringBootApplication(exclude = ErrorMvcAutoConfiguration.class) @Theme(value = "soportet.iv1.2") @JsModule("@vaadin/vaadin-lumo-styles/presets/compact.js") +//@PWA(name = "My Application", shortName = "My App", iconPath = "/icons/icon.png") public class Application implements AppShellConfigurator { private static final Logger logger = LoggerFactory.getLogger(Main.class); diff --git a/src/main/java/mx/gob/jumapacelaya/views/MainLayout.java b/src/main/java/mx/gob/jumapacelaya/views/MainLayout.java index 5a50da5..d8bfa3e 100644 --- a/src/main/java/mx/gob/jumapacelaya/views/MainLayout.java +++ b/src/main/java/mx/gob/jumapacelaya/views/MainLayout.java @@ -25,7 +25,6 @@ import org.vaadin.lineawesome.LineAwesomeIcon; /** * The main view is a top-level placeholder for other views. */ -//@PWA(name = "My Application", shortName = "My App", iconPath = "icons/960x960.png", backgroundColor = "#233348", themeColor = "#233348") public class MainLayout extends AppLayout { private H2 viewTitle; diff --git a/src/main/java/mx/gob/jumapacelaya/views/crearnuevoticket/CrearnuevoTicketView.java b/src/main/java/mx/gob/jumapacelaya/views/crearnuevoticket/CrearnuevoTicketView.java index 11541b0..3ca5d2b 100644 --- a/src/main/java/mx/gob/jumapacelaya/views/crearnuevoticket/CrearnuevoTicketView.java +++ b/src/main/java/mx/gob/jumapacelaya/views/crearnuevoticket/CrearnuevoTicketView.java @@ -14,6 +14,7 @@ import com.vaadin.flow.component.orderedlayout.VerticalLayout; import com.vaadin.flow.component.textfield.TextArea; import com.vaadin.flow.component.textfield.TextField; import com.vaadin.flow.component.upload.Upload; +import com.vaadin.flow.component.upload.UploadI18N; import com.vaadin.flow.component.upload.receivers.MultiFileMemoryBuffer; import com.vaadin.flow.router.PageTitle; import com.vaadin.flow.router.Route; @@ -29,6 +30,7 @@ import java.io.InputStream; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Set; import java.util.stream.Collectors; import static org.atmosphere.annotation.AnnotationUtil.logger; @@ -57,14 +59,37 @@ public class CrearnuevoTicketView extends VerticalLayout { RedmineUser user = userService.getRedmineUser(); + UploadI18N i18N = new UploadI18N(); + UploadI18N.Uploading uploading = i18N.getUploading(); + if (uploading == null) { + uploading = new UploadI18N.Uploading(); + i18N.setUploading(uploading); + } + + UploadI18N.Uploading.Error error = uploading.getError(); + if (error == null) { + error = new UploadI18N.Uploading.Error(); + uploading.setError(error); + } + + + error.setUnexpectedServerError("No se pudo cargar el archivo. Por favor, intentalo de nuevo"); + error.setServerUnavailable("El archivo es demasiado grande. El tamaño máximo permitido es de 10 MB."); + error.setForbidden("Archivo no permitido"); + + + uploadFile.setI18n(i18N); + // ComboBox para los tipos de tickets ComboBox tipoTickets = new ComboBox<>("Tipo de ticket"); Map ticketTypesMap = api.getTicketTypes(); - tipoTickets.setItems(ticketTypesMap.keySet()); - tipoTickets.addValueChangeListener(event -> { - String selectedName = event.getValue(); - selectedTrackerId = ticketTypesMap.get(selectedName); - }); + Set ticketTypesSet = Set.of("Acceso/Permiso/Bajas","Soporte de Software", "Capacitacion de Software","Configuracion de Software", + "Digitalizacion GIS","Documento","Funcionalidad","Reporte","Soporte o Mantenimiento"); + List filteredTicketTypes = ticketTypesMap.keySet().stream() + .filter(ticketTypesSet::contains) + .toList(); + tipoTickets.setItems(filteredTicketTypes); + tipoTickets.addValueChangeListener(event -> selectedTrackerId = ticketTypesMap.get(event.getValue())); // Campo de texto para el asunto TextField asunto = new TextField("Asunto"); @@ -96,7 +121,8 @@ public class CrearnuevoTicketView extends VerticalLayout { try { inputStream.close(); } catch (IOException e) { - logger.error("Error al cerrar el InputStream: " + e.getMessage()); + Notification.show("Error al cerrar el InputStream: " + e.getMessage()) + .addThemeVariants(NotificationVariant.LUMO_ERROR); } } } else { @@ -105,6 +131,7 @@ public class CrearnuevoTicketView extends VerticalLayout { } }); + // Boton para crear los tickets Button createButton = new Button("Enviar ticket", event -> { if (user.getKey() == null || user.getKey().isEmpty()) {