Browse Source

login terminado total

master
Ely 6 months ago
parent
commit
6e41a742bc
  1. 59
      Inventario-ejb/src/java/mx/edu/tjs/chapala/sistemas/bl/LoginBL.java
  2. 19
      Inventario-ejb/src/java/mx/edu/tjs/chapala/sistemas/bl/LoginBLLocal.java
  3. 53
      Inventario-ejb/src/java/mx/edu/tjs/chapala/sistemas/dao/LoginDAO.java
  4. 50
      Inventario-ejb/src/java/mx/edu/tjs/chapala/sistemas/dao/UsuariosDAO.java
  5. 3
      Inventario-ejb/src/java/mx/edu/tjs/chapala/sistemas/msg/Mensaje.java
  6. 5
      Inventario-war/src/java/mx/edu/tjs/chapala/sistemas/seguridad/AutorizacionListener.java
  7. 108
      Inventario-war/src/java/mx/edu/tjs/chapala/sistemas/seguridad/DemoBeanLogin.java
  8. 92
      Inventario-war/src/java/mx/edu/tjs/chapala/sistemas/seguridad/Login.java
  9. 143
      Inventario-war/src/java/mx/edu/tjs/chapala/sistemas/vista/DemoBeanRol.java
  10. 6
      Inventario-war/src/java/mx/edu/tjs/chapala/sistemas/vista/DemoBeanUsuarios.java
  11. 46
      Inventario-war/web/index.xhtml
  12. 21
      Inventario-war/web/rolLista.xhtml
  13. 121
      Inventario-war/web/usuariosLista.xhtml

59
Inventario-ejb/src/java/mx/edu/tjs/chapala/sistemas/bl/LoginBL.java

@ -0,0 +1,59 @@
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/J2EE/EJB30/StatelessEjbClass.java to edit this template
*/
package mx.edu.tjs.chapala.sistemas.bl;
import java.util.Optional;
import javax.ejb.Stateless;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import mx.edu.tjs.chapala.sistemas.dao.LoginDAO;
import mx.edu.tjs.chapala.sistemas.modelo.Usuarios;
import mx.edu.tjs.chapala.sistemas.msg.Mensaje;
/**
*
* @author Ely
*/
@Stateless
public class LoginBL implements LoginBLLocal {
// Add business logic below. (Right-click in editor and choose
// "Insert Code > Add Business Method")
public void addMessage(FacesMessage.Severity severity, String summary, String detail) {
FacesContext.getCurrentInstance().
addMessage(null, new FacesMessage(severity, summary, detail));
}
@Override
public Mensaje login(Usuarios usuarios) {
LoginDAO loginDAO = new LoginDAO();
Mensaje m;
//Toda la logica
if (usuarios.getUsuario().isEmpty()
|| usuarios.getContrasenia().isEmpty()) {
System.out.println("Campos incompletos");
return Mensaje.CAMPOS_INCOMPLETOS;
}
usuarios.setStatus(1);
Optional<Usuarios> loginOptional = loginDAO.login(usuarios);
if (loginOptional.isPresent()) {
// Manejar el caso en el que se encontró al menos un usuario
m = Mensaje.SIN_ERROR;
System.out.println("se inicio sesion");
addMessage(FacesMessage.SEVERITY_INFO, "", "¡SE INICIO SESION!");
} else {
m = Mensaje.NO_EXISTE;
System.out.println("no se inicio sesion");
addMessage(FacesMessage.SEVERITY_ERROR, "", "¡USUARIO NO BALIDO!");
}
return m;
}
}

19
Inventario-ejb/src/java/mx/edu/tjs/chapala/sistemas/bl/LoginBLLocal.java

@ -0,0 +1,19 @@
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/J2EE/EJB30/SessionLocal.java to edit this template
*/
package mx.edu.tjs.chapala.sistemas.bl;
import javax.ejb.Local;
import mx.edu.tjs.chapala.sistemas.modelo.Usuarios;
import mx.edu.tjs.chapala.sistemas.msg.Mensaje;
/**
*
* @author Ely
*/
@Local
public interface LoginBLLocal {
public Mensaje login(Usuarios usuarios);
}

53
Inventario-ejb/src/java/mx/edu/tjs/chapala/sistemas/dao/LoginDAO.java

@ -0,0 +1,53 @@
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package mx.edu.tjs.chapala.sistemas.dao;
import java.util.List;
import java.util.Optional;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.persistence.Query;
import mx.edu.tjs.chapala.sistemas.modelo.Usuarios;
/**
*
* @author Ely
*/
public class LoginDAO {
private EntityManager em;
public LoginDAO() {
EntityManagerFactory emf = Persistence.createEntityManagerFactory("Inventario-ejbPU");
em = emf.createEntityManager();
}
public Optional<Usuarios> login(Usuarios usuarios) {
Query q = em.createNamedQuery("Usuarios.findByUsuario");
q.setParameter("usuario", usuarios.getUsuario());
Query q1 = em.createNamedQuery("Usuarios.findByContrasenia");
q1.setParameter("contrasenia", usuarios.getContrasenia());
Query q2 = em.createNamedQuery("Usuarios.findByStatus");
q2.setParameter("status", usuarios.getStatus());
List<Usuarios> resUsuario = q.getResultList();
List<Usuarios> resContrasenia = q1.getResultList();
List<Usuarios> resStatus = q2.getResultList();
if (!resUsuario.isEmpty() && !resContrasenia.isEmpty()) {
Usuarios usuarioEncontrado = resUsuario.stream()
.filter(resUsuario::contains)
.filter(resContrasenia::contains)
.filter(resStatus::contains)
.findFirst()
.orElse(null);
return Optional.ofNullable(usuarioEncontrado);
} else {
return Optional.empty();
}
}
}

50
Inventario-ejb/src/java/mx/edu/tjs/chapala/sistemas/dao/UsuariosDAO.java

@ -33,32 +33,8 @@ public class UsuariosDAO {
em.getTransaction().commit();
}
public Optional<Usuarios> validar(Usuarios u) {
Query q = em.createNamedQuery("Usuarios.findByUsuario");
q.setParameter("usuario", u.getUsuario());
Query q1 = em.createNamedQuery("Usuarios.findByContrasenia");
q1.setParameter("contrasenia", u.getContrasenia());
List<Usuarios> uresultado = q.getResultList();
List<Usuarios> cresultado = q1.getResultList();
if (!uresultado.isEmpty() && !cresultado.isEmpty()) {
Usuarios Encontrado = uresultado.stream()
.filter(uresultado::contains)
.filter(cresultado::contains)
.findFirst()
.orElse(null);
return Optional.ofNullable(Encontrado);
} else {
// Devuelve Optional vacío para indicar ausencia de resultados
return Optional.empty();
}
}
public void editar(Usuarios u) {
buscarPorId(u);
em.getTransaction().begin();
@ -196,4 +172,30 @@ public class UsuariosDAO {
return q.getResultList();
}
public Optional<Usuarios> validar(Usuarios u) {
Query q = em.createNamedQuery("Usuarios.findByUsuario");
q.setParameter("usuario", u.getUsuario());
Query q1 = em.createNamedQuery("Usuarios.findByContrasenia");
q1.setParameter("contrasenia", u.getContrasenia());
List<Usuarios> uresultado = q.getResultList();
List<Usuarios> cresultado = q1.getResultList();
if (!uresultado.isEmpty() && !cresultado.isEmpty()) {
Usuarios Encontrado = uresultado.stream()
.filter(uresultado::contains)
.filter(cresultado::contains)
.findFirst()
.orElse(null);
return Optional.ofNullable(Encontrado);
} else {
// Devuelve Optional vacío para indicar ausencia de resultados
return Optional.empty();
}
}
}

3
Inventario-ejb/src/java/mx/edu/tjs/chapala/sistemas/msg/Mensaje.java

@ -13,5 +13,6 @@ public enum Mensaje {
CAMPOS_INCOMPLETOS,
DATOS_INCORRECTOS,
ELEMENTO_DUPLICADO,
ELEMENTO_NO_ENCONTRADO
ELEMENTO_NO_ENCONTRADO,
NO_EXISTE
}

5
Inventario-war/src/java/mx/edu/tjs/chapala/sistemas/seguridad/AutorizacionListener.java

@ -29,6 +29,7 @@ public class AutorizacionListener implements PhaseListener{
}
private static final long serialVersionUID = 1L;
DemoBeanLogin loin=new DemoBeanLogin();
@Override
public void afterPhase(PhaseEvent event) {
@ -37,11 +38,11 @@ public class AutorizacionListener implements PhaseListener{
String paginaActual = event.getFacesContext().getViewRoot().getViewId();
//inicializar la sesion en caso de no haber sesion
Login.getSesion();
loin.getSession();
//Revisar que no sea la pafina index y que no estes logueado
//para redireccionar
if (!paginaActual.contains("index.xhtml") && Login.getEstatus() == false) {
if (!paginaActual.contains("index.xhtml") && loin.getEstatus() == false) {
FacesContext.getCurrentInstance().getExternalContext().redirect("faces/index.xhtml?faces-redirect=true");
NavigationHandler nh = event.getFacesContext().getApplication().getNavigationHandler();

108
Inventario-war/src/java/mx/edu/tjs/chapala/sistemas/seguridad/DemoBeanLogin.java

@ -0,0 +1,108 @@
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/JSF/JSFManagedBean.java to edit this template
*/
package mx.edu.tjs.chapala.sistemas.seguridad;
import javax.inject.Named;
import javax.enterprise.context.SessionScoped;
import java.io.Serializable;
import javax.ejb.EJB;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpSession;
import mx.edu.tjs.chapala.sistemas.bl.LoginBLLocal;
import mx.edu.tjs.chapala.sistemas.modelo.Usuarios;
import mx.edu.tjs.chapala.sistemas.msg.Mensaje;
/**
*
* @author Ely
*/
@Named(value = "demoBeanLogin")
@SessionScoped
public class DemoBeanLogin implements Serializable {
@EJB
private LoginBLLocal loginBL;
//variable para manejar la sesion
public static HttpSession httpSession;
/**
* Creates a new instance of DemoBeanLogin
*/
public DemoBeanLogin() {
}
private Usuarios usuarios = new Usuarios();
private String user;
private static String http = "buenosdias";
public Usuarios getUsuarios() {
return usuarios;
}
public void setUsuarios(Usuarios usuarios) {
this.usuarios = usuarios;
}
public String getUser() {
return user;
}
public void setUser(String user) {
this.user = user;
}
public void getSession() {
httpSession = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(false);
}
public String logout() {
//quitar atributo
//invalidar la session
httpSession.removeAttribute(http);
httpSession.invalidate();
return "index.xhtml";
}
public String login() {
//BL de autenticacion de usuario
//poner atributo
Mensaje mensaje = loginBL.login(usuarios);
switch (mensaje) {
case SIN_ERROR:
user = usuarios.getUsuario();
System.out.println(user);
httpSession.setAttribute(http, "true");
usuarios = new Usuarios();
return "ProductoLista.xhtml";
case ELEMENTO_DUPLICADO:
return null;//"productoLista?faces-redirect=true"; // Redirecciona a la lista de productos
case CAMPOS_INCOMPLETOS:
return null;
case DATOS_INCORRECTOS:
return null;
default:
return null;
}
}
public boolean getEstatus() {
if (httpSession != null
&& httpSession.getId() != null
&& !httpSession.getId().isEmpty()
&& httpSession.getAttribute("buenosdias") != null) {
return true;
} else {
return false;
}
}
}

92
Inventario-war/src/java/mx/edu/tjs/chapala/sistemas/seguridad/Login.java

@ -1,92 +0,0 @@
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/JSF/JSFManagedBean.java to edit this template
*/
package mx.edu.tjs.chapala.sistemas.seguridad;
import javax.inject.Named;
import javax.enterprise.context.SessionScoped;
import java.io.Serializable;
import javax.ejb.EJB;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpSession;
import mx.edu.tjs.chapala.sistemas.bl.UsuariosBLLocal;
import mx.edu.tjs.chapala.sistemas.modelo.Usuarios;
import mx.edu.tjs.chapala.sistemas.msg.Mensaje;
import static mx.edu.tjs.chapala.sistemas.msg.Mensaje.ELEMENTO_DUPLICADO;
import static mx.edu.tjs.chapala.sistemas.msg.Mensaje.SIN_ERROR;
/**
*
* @author 52332
*/
@Named(value = "login")
@SessionScoped
public class Login implements Serializable {
@EJB
private UsuariosBLLocal usuariosBL;
private Usuarios usuarios= new Usuarios();
private static HttpSession httpSession;
/**
* Creates a new instance of Login
*/
public Login() {
}
public static void getSesion(){
httpSession=(HttpSession)FacesContext.getCurrentInstance().getExternalContext().getSession(false);
}
//metodo para salir
public String logout(){
httpSession.removeAttribute("sesionActiva");
httpSession.invalidate();
return "index.xhtml";
}
public String login() {
//llamar bl para autenticacion que regresa un boolean
//todo:hacer un metodo en el bl que reciba el usuario y passMensaje mensaje = usuariosBL.loginValidar(usuarios);
Mensaje mensaje = usuariosBL.loginValidar(usuarios);
boolean login=true;
switch (mensaje) {
case SIN_ERROR:
usuarios = new Usuarios();
return null;
case ELEMENTO_DUPLICADO:
if(login){
httpSession.setAttribute("sesionActiva","true");
return "ProductoLista.xhtml";
}else{
return "index.xhtml";
}
default:
return null;
}
}
public static boolean getEstatus(){
if(httpSession!=null&&
httpSession.getId()!=null&&
!httpSession.getId().isEmpty()&&
httpSession.getAttribute("sesionActiva")!=null){
return true;
}else{
return false;
}
}
}

143
Inventario-war/src/java/mx/edu/tjs/chapala/sistemas/vista/DemoBeanRol.java

@ -0,0 +1,143 @@
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/JSF/JSFManagedBean.java to edit this template
*/
package mx.edu.tjs.chapala.sistemas.vista;
import javax.inject.Named;
import javax.enterprise.context.SessionScoped;
import java.io.Serializable;
import java.util.List;
import java.util.Locale;
import javax.ejb.EJB;
import mx.edu.tjs.chapala.sistemas.bl.RolBLLocal;
import mx.edu.tjs.chapala.sistemas.modelo.Rol;
import mx.edu.tjs.chapala.sistemas.modelo.Usuarios;
import mx.edu.tjs.chapala.sistemas.msg.Mensaje;
import static mx.edu.tjs.chapala.sistemas.msg.Mensaje.ELEMENTO_DUPLICADO;
import static mx.edu.tjs.chapala.sistemas.msg.Mensaje.SIN_ERROR;
import org.primefaces.PrimeFaces;
import org.primefaces.util.LangUtils;
/**
*
* @author Ely
*/
@Named(value = "demoBeanRol")
@SessionScoped
public class DemoBeanRol implements Serializable {
@EJB
private RolBLLocal rolBL;
private Rol rol= new Rol();
private String titulo;
private boolean nuevo;
private List<Rol> filteredCustomers3;
public String getTitulo() {
return titulo;
}
/**
* Creates a new instance of DemoBeanRol
*/
public DemoBeanRol() {
}
public String agregar() {
Mensaje mensaje =rolBL.agregar(rol);
switch(mensaje){
case SIN_ERROR:
rol.setStatus(1);
rol = new Rol();
PrimeFaces.current().executeScript("PF('dlg'.hide()");
PrimeFaces.current().ajax().update("formtabla:growl");
return "rolLista.xhtml";
case ELEMENTO_DUPLICADO:
return null;
default:
return null;
}
}
public String editar() {
Mensaje mensaje =rolBL.agregar(rol);
switch(mensaje){
case SIN_ERROR:
rol =new Rol();
PrimeFaces.current().executeScript("PF('dlg'.hide()");
PrimeFaces.current().ajax().update("formtabla:growl");
return "rolLista.xhtml";
case ELEMENTO_DUPLICADO:
return null;
default:
return null;
}
}
public String eliminar() {
rolBL.eliminarId(rol);
PrimeFaces.current().executeScript("PF('dlg2'.hide()");
PrimeFaces.current().ajax().update("formtabla:growl");
return "rolLista.xhtml";
}
public List<Rol>getAll(){
return rolBL.buscarStatus(true);
}
public Rol getRol(){
return rol;
}
public void setRol(Rol rol){
this.rol= rol;
}
public boolean isNuevo() {
return nuevo;
}
public void prepararEditar(Rol rol){
nuevo =false;
titulo="E D I T A R";
this.rol=rol;
}
public void prepararNuevo(){
nuevo =true;
titulo="A G R E G A R";
rol= new Rol();
}
public void prepararEliminar(Rol rol){
this.rol=rol;
}
public List<Rol> getFilteredCustomers3() {
return filteredCustomers3;
}
public void setFilteredCustomers3(List<Rol> filteredCustomers3) {
this.filteredCustomers3 = filteredCustomers3;
}
public boolean globalFilterFunction(Object value, Object filter, Locale locale) {
String filterText = (filter == null) ? null : filter.toString().trim().toLowerCase();
if (LangUtils.isBlank(filterText)) {
return true;
}
Rol customer = (Rol) value;
return customer.getRol().toLowerCase().contains(filterText);
}
}

6
Inventario-war/src/java/mx/edu/tjs/chapala/sistemas/vista/DemoBeanUsuarios.java

@ -81,6 +81,8 @@ public class DemoBeanUsuarios implements Serializable {
public String eliminar() {
usuariosBL.eliminarId(usuarios);
PrimeFaces.current().executeScript("PF('dlg2'.hide()");
PrimeFaces.current().ajax().update("formtabla:growl");
return "usuariosLista.xhtml";
}
@ -132,13 +134,13 @@ public class DemoBeanUsuarios implements Serializable {
}
public void prepararEditar(Usuarios usuarios){
nuevo =false;
titulo="Editando Usuario";
titulo="E D I T A R";
this.usuarios=usuarios;
}
public void prepararNuevo(){
nuevo =true;
titulo="Agregando Usuario";
titulo="A G R E G A R";
usuarios= new Usuarios();
}
public void prepararEliminar(Usuarios usuarios){

46
Inventario-war/web/index.xhtml

@ -9,29 +9,47 @@
</h:head>
<body style="background-color: #036FAB;" >
<div >
<center>
<h:form>
<center>
<h:form id="formLogin">
<div style=" height: 500px; width: 500px; background-color: #ffffff; align-content:center; margin-top: 100px; border-radius: 15px;">
<p:graphicImage value="/resources/imagen/usuario.png" style="height: 200px; width: 300px; "/>
<p:growl id="growl" showDetail="true" />
<center>
<h:panelGrid columns="2" >
<p:growl id="growl" showDetail="true" />
<center>
<h:panelGrid columns="1" cellpadding="5">
<p:inputText id="usuarios"
value="#{demoBeanLogin.usuarios.usuario}"
title='usuario'
style="margin-top:20px"
required="true"
requiredMessage="Este campo no puede estar vacio"
placeholder="Ingrese el usuario">
</p:inputText>
<p:inputText id="usuario" required="true" style="margin-top:20px" placeholder="usuario" requiredMessage="campo obligatorio" />
<p:messages for="usuario"/>
<p:password id="contrasenia"
value="#{demoBeanLogin.usuarios.contrasenia}"
title="contraseña"
redisplay="true"
required="true"
style="margin-top:20px"
requiredMessage="Este campo no puede estar vacio"
placeholder="Ingrese la contraseña">
</p:password>
<p:password id="contrasenia" required="true" style="margin-top:20px" placeholder= "contraseña" requiredMessage="campo obligatorio" />
<p:messages for="contrasenia"/>
<p:commandButton icon="pi pi-check" value="Iniciar secion"
style=" background-color:#036FAB; margin-top: 20px;"
action="#{demoBeanLogin.login()}"
ajax="false"
update=":formLogin"
/>
</h:panelGrid>
</h:panelGrid>
<p:commandButton ajax="false" value="Login" update="growl" action="#{login.login()}" style=" background-color:#036FAB; margin-top: 20px" />
</center>
</div>
</h:form>
</center>
</div>
</h:form>
</center>
</div>
</body>

21
Inventario-war/web/rolLista.xhtml

@ -11,7 +11,7 @@
<ui:composition template="./template/principal.xhtml">
<ui:define name="top">
<center><H2> R O L </H2></center>
<center><H2> R O L E S </H2></center>
</ui:define>
<ui:define name="left">
@ -45,14 +45,14 @@
<div class="flex justify-content-end" style="height: 30px;" >
<div>
<p:commandButton ajax="true" oncomplete="PF('dlg').show();" actionListener="#{demoBeanRol.prepararnuevo()}"
<p:commandButton ajax="true" oncomplete="PF('dlg').show();" actionListener="#{demoBeanRol.prepararNuevo()}"
update=":dialog" value="Nuevo" icon="pi pi-plus" />
<i class="pi pi-search" style="margin-left: 690px; margin-top: 10px;"></i>
<p:inputText id="globalFilter" onkeyup="PF('roles').filter()" placeholder="Buscar rol"
style="width:250px; margin-right: 120px; float: right; margin-top: -1px;" />
<p:commandButton value="Logout" ajax="false" icon="pi pi-sign-out" action="#{login.logout()}" style="background-color: #036FAB; width: 100px; float: right; margin-top: -40px " />
<p:commandButton value="Logout" ajax="false" icon="pi pi-sign-out" action="#{demoBeanLogin.logout()}" style="background-color: #036FAB; width: 100px; float: right; margin-top: -40px " />
</div>
</div>
@ -66,7 +66,7 @@
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Rol" style=" font-weight:bolder; float: left" />
<h:outputText value="Roles" style=" font-weight:bolder; float: left" />
</f:facet>
<h:outputText value="#{item.rol}"/>
</p:column>
@ -92,11 +92,10 @@
<p:dialog id="dialog" widgetVar="dlg" width="600" height="150" modal="true" appendTo="@(body)" >
<h:form style="height: 600px;" class="form-container" >
<p:growl id="growl" for="proveedorMsj" showDetail="true" />
<h1 style="text-align: center; background-color: #ADD8E6; padding: 20px; color: #000; font-size: 2em; margin-bottom: 10px;">
<h:outputText value="#{demoBeanRol.titulo}"/></h1>
<p:growl id="growl" for="rolMsj" showDetail="true" />
<h1 style="text-align: center; background-color: #036FAB; padding: 20px; color: #FFFFFF; font-size: 2em; margin-bottom: 10px;">
<h:outputText value="#{demoBeanRol.titulo}"/></h1>
<h:panelGrid id="grid" columns="3" style="width: 100%">
<p:outputLabel value="Rol:" for="rol" style=" font-weight:bolder"/>
@ -105,7 +104,7 @@
</h:panelGrid>
<p:commandButton action="#{demoBeanRol.agregar()}" update="grid, formtabla:tabla, growl" rendered="#{demoBeanRol.nuevo}" ajax="false" icon="pi pi-check"
<p:commandButton action="#{demoBeanRol.agregar()}" update="grid, formtabla:tabla, growl" rendered="#{demoBeanRol.nuevo}" ajax="true" icon="pi pi-check"
style="margin-right: 10px; margin-top: 10px; background-color: green; color:white; border-color:green;" />
<p:commandButton action="#{demoBeanRol.editar()}" update="grid, formtabla:tabla, growl" ajax="true" rendered="#{!demoBeanRol.nuevo}" icon="pi pi-check"
@ -120,8 +119,8 @@
<p:dialog id="dialog2" widgetVar="dlg2" width="600" height="150" modal="true" >
<h:form>
<h1 style="text-align: center; background-color: #ADD8E6; padding: 30px; color: #000; font-size: 2em; margin-bottom: 20px;">
<h:outputText value="Eliminar"/></h1>
<h1 style="text-align: center; background-color: #036FAB; padding: 20px; color: #FFFFFF; font-size: 2em; margin-bottom: 10px;">
<h:outputText value="E L I M I N A R"/></h1>
<div>
<h:panelGrid id="grid" columns="4" style="width: 100%;" cellpadding="20" >
<h:outputText value="Id:"/>

121
Inventario-war/web/usuariosLista.xhtml

@ -52,7 +52,7 @@
<p:inputText id="globalFilter" onkeyup="PF('usuarios').filter()" placeholder="Buscar usuario"
style="width:250px; margin-right: 120px; float: right; margin-top: -1px;" />
<p:commandButton value="Logout" ajax="false" icon="pi pi-sign-out" action="#{login.logout()}" style="background-color: #036FAB; width: 100px; float: right; margin-top: -40px " />
<p:commandButton value="Logout" ajax="false" icon="pi pi-sign-out" action="#{demoBeanLogin.logout()}" style="background-color: #036FAB; width: 100px; float: right; margin-top: -40px " />
</div>
</div>
@ -60,57 +60,57 @@
<p:column styleClass="columnaId2">
<f:facet name="header">
<h:outputText value="Id" style=" font-weight:bolder; float: left" />
<h:outputText value="Id" style="font-weight: bolder; " />
</f:facet>
<h:outputText value="#{item.id}"/>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Nombre" style=" font-weight:bolder; float: left"/>
<h:outputText value="Nombre" style="font-weight:bolder; right: 20px;;"/>
</f:facet>
<h:outputText value="#{item.nombre}"/>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Primer Apellidos" style=" font-weight:bolder; float: left"/>
<h:outputText value="Primer Apellidos" style="font-weight:bolder; right: 20px;"/>
</f:facet>
<h:outputText value="#{item.apellidop}"/>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="segundo Apellido" style=" font-weight:bolder; float: left"/>
<h:outputText value="Segundo Apellido" style="font-weight:bolder; right: 20px;"/>
</f:facet>
<h:outputText value="#{item.apellidom}"/>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Usuario" style=" font-weight:bolder; float: left"/>
<h:outputText value="Usuario" style="font-weight:bolder; right: 20px;"/>
</f:facet>
<h:outputText value="#{item.usuario}"/>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Correo" style=" font-weight:bolder; float: left"/>
<h:outputText value="Correo" style="font-weight:bolder; right: 20px;"/>
</f:facet>
<h:outputText value="#{item.correo}"/>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Telefono" style=" font-weight:bolder; float: left"/>
<h:outputText value="Telefono" style="font-weight:bolder; right: 20px;"/>
</f:facet>
<h:outputText value="#{item.telefono}"/>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Rol" style=" font-weight:bolder; float: left"/>
<h:outputText value="Rol" style="font-weight:bolder; right: 20px;"/>
</f:facet>
<h:outputText value="#{item.rolId.rol}"/>
</p:column>
<p:column styleClass="columnaOpc">
<f:facet name="header">
<h:outputText value="Opciones" style=" font-weight:bolder;"/>
<h:outputText value="Opciones" style="font-weight: bolder;"/>
</f:facet>
<p:commandButton ajax="true" oncomplete="PF('dlg').show();" actionListener="#{demoBeanUsuarios.prepararEditar(item)}"
@ -128,15 +128,15 @@
</h:form>
<!-- crear/editar''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -->
<p:dialog id="dialog" widgetVar="dlg" width="800" height="500" modal="true" appendTo="@(body)" >
<p:dialog id="dialog" widgetVar="dlg" width="900" height="700" modal="true" appendTo="@(body)" >
<h:form style="height: 600px; " class="form-container">
<h:form >
<p:growl id="growl" for="usuariosMsj" showDetail="true" />
<h1 style="text-align: center; background-color: #036FAB; padding: 20px; color: #FFFFFF; font-size: 2em; margin-bottom: 10px;">
<h:outputText value="#{demoBeanUsuarios.titulo}"/></h1>
<h3 style="text-align: center; background-color: #036FAB; padding: 20px; color: #FFFFFF; margin-bottom: 10px;">
<h:outputText value="#{demoBeanUsuarios.titulo}"/></h3>
<h:panelGrid id="grid" columns="3" style="width: 100%">
<h:panelGrid id="grid" columns="6" style="width: 100%">
<p:outputLabel style="font-weight:bolder" value="Nombre:" for="nombre" />
<p:inputText id="nombre" value="#{demoBeanUsuarios.usuarios.nombre}" title="Nombre" required="true" requiredMessage="campo obligatorio" validatorMessage=" el numbre debe enpesar con mayuscula " >
@ -163,7 +163,7 @@
</p:inputText>
<p:messages for="genero"/>
<p:outputLabel style="font-weight:bolder" value="Fechanacimiento:" for="fechanacimiento" />
<p:outputLabel style="font-weight:bolder" value="Fecha de nacimiento:" for="fechanacimiento" />
<p:inputText id="fechanacimiento" value="#{demoBeanUsuarios.usuarios.fechanacimiento}" title="Fechanacimiento" required="true" requiredMessage="campo obligatorio" validatorMessage="La fecha tine que ir como yyyy/mm/dd" >
<f:convertDateTime pattern="MM/dd/yyyy" />
</p:inputText>
@ -171,12 +171,12 @@
<p:outputLabel style="font-weight:bolder" value="Usuario:" for="usuario" />
<p:inputText id="usuario" value="#{demoBeanUsuarios.usuarios.usuario}" title="Usuario" required="true" requiredMessage="campo obligatorio" validatorMessage="el usuario requiere la primera letra mayuscula y porlomenos 5 caracteres" >
<f:validateRegex pattern="^[A-Z][a-z]{4,9}$" for="usuario"/>
<p:inputText id="usuario" value="#{demoBeanUsuarios.usuarios.usuario}" title="Usuario" required="true" requiredMessage="campo obligatorio" >
</p:inputText>
<p:messages for="usuario"/>
<p:outputLabel style="font-weight:bolder" value="Contrasenia:" for="contrasenia" />
<p:outputLabel style="font-weight:bolder" value="Contraseña:" for="contrasenia" />
<p:inputText id="contrasenia" value="#{demoBeanUsuarios.usuarios.contrasenia}" title="Contrasenia" required="true" requiredMessage="campo obligatorio" validatorMessage=" la contraseña requiere 8 caracteres entre letras y numeros" >
<f:validateRegex pattern="^(?=.*[a-zA-Z])(?=.*[0-9])[a-zA-Z0-9]{8}$" for="contrasenia"/>
</p:inputText>
@ -184,7 +184,7 @@
<p:outputLabel style="font-weight:bolder" value="Correo:" for="correo" />
<p:inputText id="correo" value="#{demoBeanUsuarios.usuarios.correo}" title="Correo" required="true" requiredMessage="campo obligatorio" validatorMessage="el correo es incorecto o no cumple con el formato requerid">
<f:validateRegex pattern="^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$" for="correo"/>
</p:inputText>
<p:messages for="correo"/>
@ -195,32 +195,32 @@
<p:messages for="telefono"/>
<p:outputLabel style="font-weight:bolder" value="Pais:" for="pais" />
<p:inputText id="pais" value="#{demoBeanUsuarios.usuarios.pais}" title="Pais" required="true" requiredMessage="campo obligatorio" validatorMessage="el pais debe empezar con mayuscula" >
<f:validateRegex pattern="^[A-Z][a-z]{4,19}$" for="pais"/>
<p:inputText id="pais" value="#{demoBeanUsuarios.usuarios.pais}" title="Pais" required="true" requiredMessage="campo obligatorio" >
</p:inputText>
<p:messages for="pais"/>
<p:outputLabel style="font-weight:bolder" value="Estado:" for="estado" />
<p:inputText id="estado" value="#{demoBeanUsuarios.usuarios.estado}" title="Estado" required="true" requiredMessage="campo obligatorio" validatorMessage="el estado debe empezar con mayuscula" >
<f:validateRegex pattern="^[A-Z][a-z]{4,19}$" for="estado"/>
<p:inputText id="estado" value="#{demoBeanUsuarios.usuarios.estado}" title="Estado" required="true" requiredMessage="campo obligatorio" >
</p:inputText>
<p:messages for="estado"/>
<p:outputLabel style="font-weight:bolder" value="Municipio:" for="municipio" />
<p:inputText id="municipio" value="#{demoBeanUsuarios.usuarios.municipio}" title="Municipio" required="true" requiredMessage="campo obligatorio" validatorMessage="el municipio debe empezar con mayuscula" >
<f:validateRegex pattern="^[A-Z][a-z]{4,19}$" for="municipio"/>
<p:inputText id="municipio" value="#{demoBeanUsuarios.usuarios.municipio}" title="Municipio" required="true" requiredMessage="campo obligatorio" >
</p:inputText>
<p:messages for="municipio"/>
<p:outputLabel style="font-weight:bolder" value="Localidad:" for="localidad" />
<p:inputText id="localidad" value="#{demoBeanUsuarios.usuarios.localidad}" title="Localidad" required="true" requiredMessage="campo obligatorio" validatorMessage="la localidad debe empezar con mayuscula" >
<f:validateRegex pattern="^[A-Z][a-z]{4,19}$" for="localidad"/>
<p:inputText id="localidad" value="#{demoBeanUsuarios.usuarios.localidad}" title="Localidad" required="true" requiredMessage="campo obligatorio" >
</p:inputText>
<p:messages for="localidad"/>
<p:outputLabel style="font-weight:bolder" value="Calle:" for="calle" />
<p:inputText id="calle" value="#{demoBeanUsuarios.usuarios.calle}" title="Calle" required="true" requiredMessage="campo obligatorio" validatorMessage="la calle debe empezar con mayuscula">
<f:validateRegex pattern="^[A-Z][a-z]{4,19}$" for="calle"/>
<p:inputText id="calle" value="#{demoBeanUsuarios.usuarios.calle}" title="Calle" required="true" requiredMessage="campo obligatorio" >
</p:inputText>
<p:messages for="calle"/>
@ -230,7 +230,7 @@
</p:inputText>
<p:messages for="numero"/>
<p:outputLabel style="font-weight:bolder" value="Codigo Postal:" for="cp" />
<p:outputLabel style="font-weight:bolder" value="CP:" for="cp" />
<p:inputText id="cp" value="#{demoBeanUsuarios.usuarios.cp}" title="Cp" required="true" requiredMessage="campo obligatorio" validatorMessage="el codigo posta es incorrecto revisaelo" >
<f:validateRegex pattern="^[0-9]{4}$" for="cp"/>
</p:inputText>
@ -246,32 +246,29 @@
</h:panelGrid>
<p:commandButton action="usuariosLista.xhtml" ajax="false" icon="pi pi-times"
immediate="true" update="grid, formtabla:tabla, growl"
<p:commandButton action="usuariosLista.xhtml" ajax="false" icon="pi pi-times" immediate="true" update="grid, formtabla:tabla, growl"
style="background-color: red; border-color:red; float: right;"/>
<p:commandButton actionListener="#{demoBeanUsuarios.agregar()}" update="grid, formtabla:tabla, growl"
ajax="true" rendered="#{demoBeanUsuarios.nuevo}" icon="pi pi-check"
<p:commandButton action="#{demoBeanUsuarios.agregar()}" update="grid, formtabla:tabla, growl" ajax="true"
rendered="#{demoBeanUsuarios.nuevo}" icon="pi pi-check"
style="margin-right: 10px; background-color:green; border-color:green; float: right; " />
<p:commandButton actionListener="#{demoBeanUsuarios.editar()}" update="grid, formtabla:tabla, growl"
ajax="true" rendered="#{!demoBeanUsuarios.nuevo}" icon="pi pi-check"
<p:commandButton action="#{demoBeanUsuarios.editar()}"
update="grid, formtabla:tabla, growl" ajax="true" rendered="#{!demoBeanUsuarios.nuevo}" icon="pi pi-check"
style="margin-right: 10px; background-color:green; border-color:green; float: right;" />
</h:form>
</p:dialog>
<!-- eliminiar''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -->
<p:dialog id="dialog2" widgetVar="dlg2" width="800" height="500" modal="true" >
<p:dialog id="dialog2" widgetVar="dlg2" width="900" height="700" modal="true" >
<h:form>
<h1 style="text-align: center; background-color: #036FAB; padding: 20px; color: #FFFFFF; font-size: 2em; margin-bottom: 10px;">
<h:outputText value="Eliminar"/></h1>
<h3 style="text-align: center; background-color: #036FAB; padding: 20px; color: #FFFFFF; margin-bottom: 10px;">
<h:outputText value="E L I M I N A R"/></h3>
<div>
<h:panelGrid id="grid" columns="4" style="width: 100%" cellpadding="20">
<h:panelGrid id="grid" columns="4" style="width: 100%" cellpadding="10">
<h:outputText value="Id:" style=" font-weight:bolder"/>
<h:outputText value="#{demoBeanUsuarios.usuarios.id}" title="Id"/>
@ -283,13 +280,13 @@
<h:outputText value="#{demoBeanUsuarios.usuarios.apellidom}" title="Apellidom"/>
<h:outputText value="Genero:" style=" font-weight:bolder"/>
<h:outputText value="#{demoBeanUsuarios.usuarios.genero}" title="Genero"/>
<h:outputText value="Fechanacimiento:" style=" font-weight:bolder"/>
<h:outputText value="Fecha de nacimiento:" style=" font-weight:bolder"/>
<h:outputText value="#{demoBeanUsuarios.usuarios.fechanacimiento}" title="Fechanacimiento">
<f:convertDateTime pattern="MM/dd/yyyy" />
</h:outputText>
<h:outputText value="Usuario:" style=" font-weight:bolder"/>
<h:outputText value="#{demoBeanUsuarios.usuarios.usuario}" title="Usuario"/>
<h:outputText value="Contrasenia:" style=" font-weight:bolder"/>
<h:outputText value="Contraseña:" style=" font-weight:bolder"/>
<h:outputText value="#{demoBeanUsuarios.usuarios.contrasenia}" title="Contrasenia"/>
<h:outputText value="Correo:" style=" font-weight:bolder"/>
<h:outputText value="#{demoBeanUsuarios.usuarios.correo}" title="Correo"/>
@ -307,33 +304,33 @@
<h:outputText value="#{demoBeanUsuarios.usuarios.calle}" title="Calle"/>
<h:outputText value="Numero:" style=" font-weight:bolder"/>
<h:outputText value="#{demoBeanUsuarios.usuarios.numero}" title="Numero"/>
<h:outputText value="Codigo Postal:" style=" font-weight:bolder"/>
<h:outputText value="CP:" style=" font-weight:bolder"/>
<h:outputText value="#{demoBeanUsuarios.usuarios.cp}" title="Cp"/>
<h:outputText value="Rol:" style=" font-weight:bolder"/>
<h:outputText value="#{demoBeanUsuarios.usuarios.rolId.rol}" title="RolId"/>
</h:panelGrid>
</div>
<div style="margin-top: 20px;">
<p:commandButton action="usuariosLista.xhtml" immediate="true" ajax="false" icon="pi pi-times"
style="margin-left: 10px; background-color:red; border-color:red; float: right;"/>
<p:commandButton action="usuariosLista.xhtml" actionListener="#{demoBeanUsuarios.eliminar()}"
ajax="false" icon="pi pi-check"
style=" background-color:green; border-color:green; float: right;"/>
<p:commandButton action="usuariosLista.xhtml" icon="pi pi-times" ajax="false" immediate="true"
style="margin-left: 10px; background-color:red; border-color:red; float: right;" />
</div>
<p:commandButton action="usuariosLista.xhtml" actionListener="#{demoBeanUsuarios.eliminar()}"
ajax="false" icon="pi pi-check"
style=" background-color:green; border-color:green; float: right;"/>
</div>
</h:form>
</p:dialog>
<!-- info''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -->
<p:dialog id="dialog3" widgetVar="dlg3" width="800" height="500" modal="true" >
<p:dialog id="dialog3" widgetVar="dlg3" width="900" height="700" modal="true" >
<h:form>
<h1 style="text-align: center; background-color: #036FAB; padding: 20px; color: #FFFFFF; font-size: 2em; margin-bottom: 10px;">
<h:outputText value="Detalles"/></h1>
<h3 style="text-align: center; background-color: #036FAB; padding: 20px; color: #FFFFFF; margin-bottom: 10px;">
<h:outputText value="D E T A L L E S"/></h3>
<div>
<h:panelGrid id="grid" columns="4" style="width: 100%" cellpadding="20">
<h:panelGrid id="grid" columns="4" style="width: 100%" cellpadding="10">
<h:outputText value="Id:" style=" font-weight:bolder"/>
<h:outputText value="#{demoBeanUsuarios.usuarios.id}" title="Id"/>
@ -345,13 +342,13 @@
<h:outputText value="#{demoBeanUsuarios.usuarios.apellidom}" title="Apellidom"/>
<h:outputText value="Genero:" style=" font-weight:bolder"/>
<h:outputText value="#{demoBeanUsuarios.usuarios.genero}" title="Genero"/>
<h:outputText value="Fechanacimiento:" style=" font-weight:bolder"/>
<h:outputText value="Fecha de nacimiento:" style=" font-weight:bolder"/>
<h:outputText value="#{demoBeanUsuarios.usuarios.fechanacimiento}" title="Fechanacimiento">
<f:convertDateTime pattern="MM/dd/yyyy" />
</h:outputText>
<h:outputText value="Usuario:" style=" font-weight:bolder"/>
<h:outputText value="#{demoBeanUsuarios.usuarios.usuario}" title="Usuario"/>
<h:outputText value="Contrasenia:" style=" font-weight:bolder"/>
<h:outputText value="Contraseña:" style=" font-weight:bolder"/>
<h:outputText value="#{demoBeanUsuarios.usuarios.contrasenia}" title="Contrasenia"/>
<h:outputText value="Correo:" style=" font-weight:bolder"/>
<h:outputText value="#{demoBeanUsuarios.usuarios.correo}" title="Correo"/>
@ -371,13 +368,11 @@
<h:outputText value="#{demoBeanUsuarios.usuarios.numero}" title="Numero"/>
<h:outputText value="Cp:" style=" font-weight:bolder"/>
<h:outputText value="#{demoBeanUsuarios.usuarios.cp}" title="Cp"/>
<h:outputText value="RolId:" style=" font-weight:bolder"/>
<h:outputText value="Rol:" style=" font-weight:bolder"/>
<h:outputText value="#{demoBeanUsuarios.usuarios.rolId.rol}" title="RolId"/>
</h:panelGrid>
</div>
<div style="margin-top: 20px;">
<p:commandButton action="usuariosLista.xhtml" icon="pi pi-arrow-left"
style="margin-left: 10px; border-color:red; float: right;" ajax="false" immediate="true"/>
<p:commandButton action="usuariosLista.xhtml" icon="pi pi-arrow-left" ajax="false" style="right:-790px" />
</div>

Loading…
Cancel
Save