diff --git a/src/main/bundles/prod.bundle b/src/main/bundles/prod.bundle index 1a1e428..637b262 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 a3906b6..2264041 100644 --- a/src/main/java/mx/gob/jumapacelaya/Application.java +++ b/src/main/java/mx/gob/jumapacelaya/Application.java @@ -18,7 +18,7 @@ import org.springframework.boot.autoconfigure.validation.ValidationAutoConfigura */ @SpringBootApplication @Theme(value = "sistema-mantenimiento") -@PWA(name = "Aplicacion de Mantenimiento de Equipo de Computo", shortName = "App Mantenimiento de Computo", iconPath = "images/960x960_Nvo.png") +@PWA(name = "Aplicacion de Mantenimiento de Equipo de Computo", shortName = "App Mantenimiento de Computo", iconPath = "icons/icon.png") public class Application implements AppShellConfigurator { public static void main(String[] args) { diff --git a/src/main/java/mx/gob/jumapacelaya/controller/SecurityConfiguration.java b/src/main/java/mx/gob/jumapacelaya/controller/SecurityConfiguration.java index 0aeb10c..abb1482 100644 --- a/src/main/java/mx/gob/jumapacelaya/controller/SecurityConfiguration.java +++ b/src/main/java/mx/gob/jumapacelaya/controller/SecurityConfiguration.java @@ -32,12 +32,12 @@ public class SecurityConfiguration extends VaadinWebSecurity { ); - super.configure(http); setLoginView(http, LoginView.class); } + // !Esta es la real autenticacion con ldap @Autowired public void configure(AuthenticationManagerBuilder auth) throws Exception { ActiveDirectoryLdapAuthenticationProvider provider = new ActiveDirectoryLdapAuthenticationProvider("JUMAPACELAYA.GOB.MX", "ldap://172.16.0.1"); @@ -46,6 +46,29 @@ public class SecurityConfiguration extends VaadinWebSecurity { auth.authenticationProvider(provider); } + + // !Autenticacion local solo para que lo vea el departamento de calidad + /*@Autowired + public void configure(AuthenticationManagerBuilder auth) throws Exception { + // Configura la autenticación en memoria con un usuario local + auth.inMemoryAuthentication() + .withUser("admin") + .password("{noop}admin") // {noop} indica que la contraseña no está cifrada (solo para pruebas) + .roles("ADMIN") + + .and() + + .withUser("jlermal") + .password("{noop}Temporal1") + .roles("USER") + + .and() + + .withUser("mramirezg") + .password("{noop}Temporal1") + .roles("ADMIN"); + }*/ + @Value("${spring.ldap.urls}") private String ldapUrls; diff --git a/src/main/java/mx/gob/jumapacelaya/models/Ticket.java b/src/main/java/mx/gob/jumapacelaya/models/Ticket.java index da28919..52cc913 100644 --- a/src/main/java/mx/gob/jumapacelaya/models/Ticket.java +++ b/src/main/java/mx/gob/jumapacelaya/models/Ticket.java @@ -111,15 +111,16 @@ public class Ticket { } switch (trackerId) { - case 5,16,17: - return "2 horas max."; - - case 4,13,14: - return "2 a 6 horas"; - - case 6,7,9,10,11,15: - return "1 a 2 Dias"; - + case 1,3,4,7: + return "1-2 dias Max"; + case 2,12: + return "2 hrs Max"; + case 5: + return "5 dias aprox."; + case 8,11: + return "2-6 hrs Max"; + case 9,10: + return "2 hrs Max"; default: return "N/A"; } @@ -131,19 +132,21 @@ public class Ticket { return "Desconocido"; } return switch (trackerId) { - case 4 -> "Acceso/Permiso/Bajas"; - case 5 -> "Soporte de Software"; - case 6 -> "Capacitacion de Software"; - case 7 -> "Configuracion de Software"; - case 8 -> "Desarrollo de Software"; - case 9 -> "Digitalizacion GIS"; - case 10 -> "Documento"; - case 11 -> "Reporte"; - case 13 -> "DML"; + case 1 -> "Acceso/Permiso/Bajas"; + case 2 -> "Soporte de Software"; + case 3 -> "Capacitacion de Software"; + case 4 -> "Configuracion de Software"; + case 5 -> "Desarrollo de Software"; + case 6 -> "Digitalizacion GIS"; + case 7 -> "Documento"; + case 8 -> "Reporte"; + case 9 -> "Mantenimiento Correctivo"; + case 10 -> "Actividad"; + case 11 -> "Entrega de Consumibles"; + case 12 -> "Instalacion/Configuracion GIS"; + case 13 -> "DDL"; case 14 -> "DCL"; - case 15 -> "DDL"; - case 16 -> "Mantenimiento Correctivo"; - case 17 -> "Actividad"; + case 15 -> "DML"; default -> "N/A"; }; } diff --git a/src/main/java/mx/gob/jumapacelaya/services/DatabaseService.java b/src/main/java/mx/gob/jumapacelaya/services/DatabaseService.java index 8d3b3a2..0db8916 100644 --- a/src/main/java/mx/gob/jumapacelaya/services/DatabaseService.java +++ b/src/main/java/mx/gob/jumapacelaya/services/DatabaseService.java @@ -105,9 +105,9 @@ public class DatabaseService { /* -------------- Metodo para obtener los departamentos ---------------- */ public List getDepartamentos() { List departamentos = new ArrayList<>(); - String query = "select DEPARTAMENTOID, DESCRIPCION from DEPARTAMENTO"; + String query = "select DEPARTAMENTOID, DESCRIPCION from DEPARTAMENTOS"; - try (Connection connection = getOracleConnection(); + try (Connection connection = getMysqlConnection(); Statement statement = connection.createStatement(); ResultSet resultSet = statement.executeQuery(query)) { diff --git a/src/main/java/mx/gob/jumapacelaya/ui/ActDiariaView.java b/src/main/java/mx/gob/jumapacelaya/ui/ActDiariaView.java index 21a65f1..be764f2 100644 --- a/src/main/java/mx/gob/jumapacelaya/ui/ActDiariaView.java +++ b/src/main/java/mx/gob/jumapacelaya/ui/ActDiariaView.java @@ -115,7 +115,7 @@ public class ActDiariaView extends VerticalLayout { try { List tickets = redmineClient.getTickets(userService.getRedmineUser(), true); List filteredTickets = tickets.stream() - .filter(ticket -> ticket.getTrackerId() == 17 || ticket.getTrackerId() == 16) + .filter(ticket -> ticket.getTrackerId() == 10 || ticket.getTrackerId() == 9) .toList(); grid.setItems(filteredTickets); } catch (Exception e) { @@ -132,13 +132,22 @@ public class ActDiariaView extends VerticalLayout { // Estilos basados en el estado del ticket switch (ticket.getStatus().toLowerCase()) { case "análisis": - span.getElement().getStyle().set("color", "purple"); + span.getElement().getStyle().set("color","orange"); break; case "desarrollo": - span.getElement().getStyle().set("color", "green"); + span.getElement().getStyle().set("color","blue"); + break; + case "rechazada": + span.getElement().getStyle().set("color","red"); + break; + case "cerrada": + span.getElement().getStyle().set("color","grey"); + break; + case "solicitado": + span.getElement().getStyle().set("color","purple"); break; default: - span.getElement().getStyle().set("color", "blue"); + span.getElement().getStyle().set("color","green"); break; } diff --git a/src/main/java/mx/gob/jumapacelaya/ui/login/LoginView.java b/src/main/java/mx/gob/jumapacelaya/ui/login/LoginView.java index f3fc2cb..c73e3b3 100644 --- a/src/main/java/mx/gob/jumapacelaya/ui/login/LoginView.java +++ b/src/main/java/mx/gob/jumapacelaya/ui/login/LoginView.java @@ -1,5 +1,6 @@ package mx.gob.jumapacelaya.ui.login; +import com.vaadin.flow.component.UI; import com.vaadin.flow.component.html.Image; import com.vaadin.flow.component.login.LoginForm; import com.vaadin.flow.component.login.LoginI18n; @@ -10,14 +11,21 @@ import com.vaadin.flow.router.BeforeEnterObserver; import com.vaadin.flow.router.PageTitle; import com.vaadin.flow.router.Route; import com.vaadin.flow.server.auth.AnonymousAllowed; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; @Route("login") @PageTitle("Login") @AnonymousAllowed public class LoginView extends VerticalLayout implements BeforeEnterObserver { + private static final Logger log = LoggerFactory.getLogger(LoginView.class); private final LoginForm login = new LoginForm(); + // Usuario local para demostracion + private final String localUser = "admin"; + private final String localPassword = "admin"; + public LoginView(){ //Configuracion de la vista @@ -36,7 +44,7 @@ public class LoginView extends VerticalLayout implements BeforeEnterObserver { // Configuración de i18n para el formulario de login LoginI18n i18n = LoginI18n.createDefault(); LoginI18n.Form i18nFormulario = i18n.getForm(); - i18nFormulario.setTitle("Mantenimiento Preventivo y Correctivo"); + i18nFormulario.setTitle("Mantenimiento Preventivo y Correctivo (BETA)"); i18nFormulario.setUsername("Usuario"); i18nFormulario.setPassword("Contraseña"); i18nFormulario.setSubmit("Iniciar sesión"); @@ -49,13 +57,16 @@ public class LoginView extends VerticalLayout implements BeforeEnterObserver { i18nError.setMessage("Usuario o contraseña incorrectos, verifica tus credenciales"); i18n.setErrorMessage(i18nError); - i18n.setAdditionalInformation("Versión 1.0"); + i18n.setAdditionalInformation("Versión 1.0 Beta"); // Configuración del formulario de login login.setAction("login"); login.setForgotPasswordButtonVisible(false); login.setI18n(i18n); + + + // Crear un contenedor para el formulario VerticalLayout loginFormContainer = new VerticalLayout(); Image imageLogin = new Image("images/LOGO_24'27.png", "Login"); diff --git a/src/main/resources/META-INF/resources/icons/icon.png b/src/main/resources/META-INF/resources/icons/icon.png index db03439..561ba65 100644 Binary files a/src/main/resources/META-INF/resources/icons/icon.png and b/src/main/resources/META-INF/resources/icons/icon.png differ diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 2a69ff8..f9f0a3b 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -18,7 +18,7 @@ spring.ldap.password=Dr3na$134%4guA ###################PRODUCTIVO#################### redmine.url=https://proyman.jumapacelaya.gob.mx/ -redmine.api_key=ce4dc8b6b531c818017e6831a5732ccc15b8faf6 +redmine.api_key=98158784609a110b3f9e837ac961d73b9ec58271 ######################PRUEBAS####################