eduar
7 months ago
8 changed files with 670 additions and 1 deletions
@ -0,0 +1,129 @@ |
|||||
|
/* |
||||
|
* 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 hola.BL; |
||||
|
|
||||
|
import hola.dao.PaisDAO; |
||||
|
import hola.modelo.Pais; |
||||
|
import hola.msg.Mensaje; |
||||
|
import java.util.List; |
||||
|
import java.util.Optional; |
||||
|
import javax.ejb.Stateless; |
||||
|
import javax.faces.application.FacesMessage; |
||||
|
import javax.faces.context.FacesContext; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author eduar |
||||
|
*/ |
||||
|
@Stateless |
||||
|
public class PaisBL implements PaisLocal { |
||||
|
|
||||
|
@Override |
||||
|
public Mensaje agregar(Pais pais) { |
||||
|
// Comentario de lógica: Método para agregar una marca
|
||||
|
System.out.println("Llegaste al método de agregar Pais"); |
||||
|
PaisDAO pisDAO = new PaisDAO(); |
||||
|
Mensaje m = null; |
||||
|
|
||||
|
// Validar que los campos requeridos no estén vacíos
|
||||
|
if (pais.getNombre().isEmpty()) { |
||||
|
System.out.println(Mensaje.CAMPOS_INCOMPLETOS); |
||||
|
// Enviar mensaje de error si algún campo está incompleto
|
||||
|
return Mensaje.CAMPOS_INCOMPLETOS; |
||||
|
} |
||||
|
|
||||
|
// Buscar si la pais ya existe en la base de datos
|
||||
|
Optional<Pais> paisEncontradaOptional = pisDAO.buscarPais(pais); |
||||
|
|
||||
|
if (paisEncontradaOptional.isPresent()) { |
||||
|
// Manejar el caso en el que se encontró al menos un proveedor duplicado
|
||||
|
paisEncontradaOptional.get(); |
||||
|
addMessage(FacesMessage.SEVERITY_ERROR, "Error", "Elemento duplicado"); |
||||
|
m = Mensaje.ELEMENTO_DUPLICADO; |
||||
|
} else { |
||||
|
// Agregar el proveedor a la base de datos si no está duplicado
|
||||
|
pisDAO.agregar(pais); |
||||
|
//registroDAO.agregar(registro);
|
||||
|
m = Mensaje.SIN_ERROR; |
||||
|
} |
||||
|
return m; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public Pais buscarId(Pais pais) { |
||||
|
// Comentario de lógica: Método para buscar una marca por ID
|
||||
|
PaisDAO paisDAO = new PaisDAO(); |
||||
|
return paisDAO.buscarPorId(pais); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public void eliminarId(Pais pais) { |
||||
|
// Comentario de lógica: Método para eliminar una marca por ID
|
||||
|
PaisDAO paisDAO = new PaisDAO(); |
||||
|
if (paisDAO.eliminar(pais)) { |
||||
|
System.out.println(Mensaje.SIN_ERROR); |
||||
|
} else { |
||||
|
System.out.println(Mensaje.NO_EXISTE); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public Mensaje editar(Pais pais) { |
||||
|
// Comentario de lógica: Método para editar una marca
|
||||
|
Mensaje m; |
||||
|
PaisDAO paisDAO = new PaisDAO(); |
||||
|
|
||||
|
// Validar que los campos requeridos no estén vacíos
|
||||
|
if (pais.getNombre().isEmpty() |
||||
|
|| pais.getStatus() == null) { |
||||
|
// Enviar mensaje de error si algún campo está incompleto
|
||||
|
m = Mensaje.CAMPOS_INCOMPLETOS; |
||||
|
System.out.println(Mensaje.CAMPOS_INCOMPLETOS); |
||||
|
return m; |
||||
|
} |
||||
|
|
||||
|
try { |
||||
|
// Editar el proveedor solo si todas las validaciones son exitosas
|
||||
|
Optional<Pais> user = paisDAO.buscarPais(pais); |
||||
|
if (user.isPresent()) { |
||||
|
|
||||
|
addMessage(FacesMessage.SEVERITY_ERROR, "Error", "Elemento duplicado"); |
||||
|
m = Mensaje.ELEMENTO_DUPLICADO; |
||||
|
} else { |
||||
|
|
||||
|
if (paisDAO.editar(pais) == true) { |
||||
|
m = Mensaje.SIN_ERROR; |
||||
|
System.out.println(Mensaje.SIN_ERROR); |
||||
|
return m; |
||||
|
} else { |
||||
|
m = Mensaje.N0_EXISTE; |
||||
|
System.out.println(Mensaje.NO_EXISTE); |
||||
|
return m; |
||||
|
} |
||||
|
} |
||||
|
} catch (Exception e) { |
||||
|
// Capturar cualquier excepción que ocurra durante la edición del proveedor
|
||||
|
m = Mensaje.DATOS_INCORRECTOS; |
||||
|
System.out.println(Mensaje.DATOS_INCORRECTOS); |
||||
|
e.printStackTrace(); |
||||
|
} |
||||
|
return m; |
||||
|
|
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public List<Pais> buscarValidos(boolean estado) { |
||||
|
PaisDAO paisDAO = new PaisDAO(); |
||||
|
List l = paisDAO.buscarValidos(estado); |
||||
|
// Llama al método buscarValidos de ProductoDAO y devuelve la lista resultante
|
||||
|
System.out.println(l); |
||||
|
return l; |
||||
|
} |
||||
|
|
||||
|
public void addMessage(FacesMessage.Severity severity, String summary, String detail) { |
||||
|
FacesContext.getCurrentInstance().addMessage("MensajePais", new FacesMessage(severity, summary, detail)); |
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,26 @@ |
|||||
|
/* |
||||
|
* 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 hola.BL; |
||||
|
|
||||
|
import hola.modelo.Pais; |
||||
|
import hola.msg.Mensaje; |
||||
|
import java.util.List; |
||||
|
import javax.ejb.Local; |
||||
|
|
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author eduar |
||||
|
*/ |
||||
|
@Local |
||||
|
public interface PaisLocal { |
||||
|
public Mensaje agregar(Pais pais); |
||||
|
public Pais buscarId(Pais pais); |
||||
|
public void eliminarId(Pais pais); |
||||
|
public Mensaje editar(Pais pais); |
||||
|
public List<Pais> buscarValidos(boolean pais); |
||||
|
|
||||
|
} |
@ -0,0 +1,127 @@ |
|||||
|
/* |
||||
|
* 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 hola.dao; |
||||
|
|
||||
|
import hola.modelo.Marca; |
||||
|
import hola.modelo.Pais; |
||||
|
import hola.modelo.Usuario; |
||||
|
import java.util.List; |
||||
|
import java.util.Optional; |
||||
|
import javax.persistence.EntityManager; |
||||
|
import javax.persistence.EntityManagerFactory; |
||||
|
import javax.persistence.Persistence; |
||||
|
import javax.persistence.Query; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author eduar |
||||
|
*/ |
||||
|
public class PaisDAO { |
||||
|
|
||||
|
private EntityManager em; |
||||
|
|
||||
|
public PaisDAO() { |
||||
|
EntityManagerFactory emf = Persistence.createEntityManagerFactory("si-ejbPU"); |
||||
|
em = emf.createEntityManager(); |
||||
|
} |
||||
|
|
||||
|
public void agregar(Pais pais) { |
||||
|
em.getTransaction().begin(); |
||||
|
pais.setStatus(1); |
||||
|
em.persist(pais);//Almacenar en DB
|
||||
|
em.getTransaction().commit(); |
||||
|
|
||||
|
} |
||||
|
|
||||
|
public boolean editar(Pais pais) { |
||||
|
if (buscarPorId(pais) == null) { |
||||
|
return false; |
||||
|
} else { |
||||
|
em.getTransaction().begin(); |
||||
|
em.merge(pais);//edita en la base de datos
|
||||
|
em.getTransaction().commit(); |
||||
|
return true; |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
public boolean eliminar(Pais pais) { |
||||
|
if (buscarPorId(pais) == null) { |
||||
|
return false; |
||||
|
} else { |
||||
|
|
||||
|
// Iniciar transacción
|
||||
|
em.getTransaction().begin(); |
||||
|
|
||||
|
// Obtener proveedor actualizado desde la base de datos
|
||||
|
Pais u = em.find(Pais.class, pais.getId()); |
||||
|
|
||||
|
// Conservar datos existentes
|
||||
|
pais.setNombre(u.getNombre()); |
||||
|
// Modificar solo el estado
|
||||
|
pais.setStatus(0); |
||||
|
em.merge(pais); |
||||
|
em.getTransaction().commit(); |
||||
|
return true; |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
public Pais buscarPorId(Pais pais) { |
||||
|
Query q = em.createNamedQuery("Pais.findById"); |
||||
|
q.setParameter("id", pais.getId()); |
||||
|
if (q.getResultList().isEmpty()) { |
||||
|
return null; |
||||
|
} else { |
||||
|
return (Pais) q.getResultList().get(0); |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
public List<Pais> buscarValidos(boolean status) { |
||||
|
Query q = em.createNamedQuery("Pais.findByStatus"); |
||||
|
int s = status ? 1 : 0; |
||||
|
q.setParameter("status", s); |
||||
|
if (s == 1) { |
||||
|
System.out.println("Activos"); |
||||
|
} else { |
||||
|
System.out.println("Inactivos"); |
||||
|
} |
||||
|
return q.getResultList(); |
||||
|
} |
||||
|
|
||||
|
public Pais buscarPorNombre(Pais pais) { |
||||
|
Query q = em.createNamedQuery("Pais.findByNombre"); |
||||
|
q.setParameter("nombre", pais.getNombre()); |
||||
|
if (q.getResultList().isEmpty()) { |
||||
|
return null; |
||||
|
} else { |
||||
|
return (Pais) q.getResultList().get(0); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public Optional<Pais> buscarPais(Pais pais) { |
||||
|
|
||||
|
Query q1 = em.createNamedQuery("Pais.findByNombre"); |
||||
|
q1.setParameter("nombre", pais.getNombre()); |
||||
|
|
||||
|
List<Pais> resultadoNombre = q1.getResultList(); |
||||
|
|
||||
|
|
||||
|
// Verifica si hay resultados para todos los campos
|
||||
|
if (!resultadoNombre.isEmpty()) { |
||||
|
// Compara si la misma editorial está en los tres resultados
|
||||
|
Pais paisEncontrado = resultadoNombre.stream() |
||||
|
.findFirst() |
||||
|
.orElse(null); |
||||
|
|
||||
|
return Optional.ofNullable(paisEncontrado); |
||||
|
} else { |
||||
|
// Devuelve Optional vacío para indicar ausencia de resultados
|
||||
|
return Optional.empty(); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,127 @@ |
|||||
|
/* |
||||
|
* 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 hola.vista; |
||||
|
|
||||
|
import hola.BL.PaisLocal; |
||||
|
import hola.modelo.Pais; |
||||
|
import hola.msg.Mensaje; |
||||
|
import static hola.msg.Mensaje.CAMPOS_INCOMPLETOS; |
||||
|
import static hola.msg.Mensaje.DATOS_INCORRECTOS; |
||||
|
import static hola.msg.Mensaje.ELEMENTO_DUPLICADO; |
||||
|
import static hola.msg.Mensaje.SIN_ERROR; |
||||
|
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 org.primefaces.util.LangUtils; |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @author eduar |
||||
|
*/ |
||||
|
@Named(value = "demoBeanPais") |
||||
|
@SessionScoped |
||||
|
public class DemoBeanPais implements Serializable { |
||||
|
|
||||
|
@EJB |
||||
|
private PaisLocal paisBL; |
||||
|
|
||||
|
public DemoBeanPais() { |
||||
|
} |
||||
|
private Pais pais = new Pais(); |
||||
|
private String titulo; |
||||
|
private boolean nuevo; |
||||
|
|
||||
|
private List<Pais> filteredCustomers3; |
||||
|
|
||||
|
public List<Pais> getFilteredCustomers3() { |
||||
|
return filteredCustomers3; |
||||
|
} |
||||
|
|
||||
|
public void setFilteredCustomers3(List<Pais> 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; |
||||
|
} |
||||
|
//BUSCADOR DE CADA CAMPO
|
||||
|
Pais customer = (Pais) value; |
||||
|
return customer.getNombre().toLowerCase().contains(filterText); |
||||
|
} |
||||
|
|
||||
|
public String agregarPais() { |
||||
|
|
||||
|
pais.setStatus(1); |
||||
|
// limpiarFormulario();
|
||||
|
Mensaje mensaje = paisBL.agregar(pais); |
||||
|
|
||||
|
switch (mensaje) { |
||||
|
case SIN_ERROR: |
||||
|
pais = new Pais(); |
||||
|
return "Pais.xhtml";//"productoLista?faces-redirect=true"; // Redirecciona a la lista de productos
|
||||
|
case ELEMENTO_DUPLICADO: |
||||
|
return null; |
||||
|
case CAMPOS_INCOMPLETOS: |
||||
|
return null; |
||||
|
case DATOS_INCORRECTOS: |
||||
|
return null; |
||||
|
default: |
||||
|
return null; |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
public List<Pais> getPaises() { |
||||
|
return paisBL.buscarValidos(true); |
||||
|
} |
||||
|
|
||||
|
public Pais getPais() { |
||||
|
return pais; |
||||
|
} |
||||
|
|
||||
|
public void setPais(Pais pais) { |
||||
|
this.pais = pais; |
||||
|
} |
||||
|
|
||||
|
public void prepararEditar(Pais pais) { |
||||
|
nuevo = false; |
||||
|
titulo = "Editar paises"; |
||||
|
this.pais = pais; |
||||
|
|
||||
|
} |
||||
|
|
||||
|
public String getTitulo() { |
||||
|
return titulo; |
||||
|
} |
||||
|
|
||||
|
public boolean isNuevo() { |
||||
|
return nuevo; |
||||
|
} |
||||
|
|
||||
|
public void preparar() { |
||||
|
nuevo = true; |
||||
|
titulo = "Agregar Pais"; |
||||
|
pais = new Pais(); |
||||
|
} |
||||
|
|
||||
|
public void editarPais() { |
||||
|
paisBL.editar(pais); |
||||
|
|
||||
|
} |
||||
|
|
||||
|
public void prepararEliminar(Pais pais) { |
||||
|
this.pais = pais; |
||||
|
} |
||||
|
|
||||
|
public void eliminaPais() { |
||||
|
paisBL.eliminarId(pais); |
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,114 @@ |
|||||
|
<?xml version='1.0' encoding='UTF-8' ?> |
||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
||||
|
<html xmlns="http://www.w3.org/1999/xhtml" |
||||
|
xmlns:ui="http://xmlns.jcp.org/jsf/facelets" |
||||
|
xmlns:h="http://xmlns.jcp.org/jsf/html" |
||||
|
xmlns:f="http://xmlns.jcp.org/jsf/core" |
||||
|
xmlns:p="http://primefaces.org/ui"> |
||||
|
<body> |
||||
|
|
||||
|
<ui:composition template="./template/Principal.xhtml"> |
||||
|
|
||||
|
<ui:define name="top"> |
||||
|
top |
||||
|
</ui:define> |
||||
|
|
||||
|
<ui:define name="left"> |
||||
|
<div class="card"> |
||||
|
<h:form> |
||||
|
<p:growl id="messages"/> |
||||
|
|
||||
|
<p:menubar> |
||||
|
<p:menuitem value="Agregar" icon="pi pi-fw pi-plus" |
||||
|
action="UsuarioCrear.xhtml" |
||||
|
actionListener="#{demoBeanUsuario.preparar()}"/> |
||||
|
|
||||
|
<p:menuitem value="Departamento" icon="pi pi-fw pi-building " action="Departamento.xhtml"/> |
||||
|
<p:menuitem value="Marca" icon="pi pi-fw pi-tag" action="Marca.xhtml"/> |
||||
|
<p:menuitem value="Producto" icon="pi pi-fw pi-shopping-bag" action="Producto.xhtml"/> |
||||
|
<p:menuitem value="Proveedor" icon="pi pi-fw pi-truck" action="Provedor.xhtml"/> |
||||
|
<!-- comment <p:menuitem value="Registro" icon="pi pi-fw pi-book " disabled="true" action="Registro.xhtml"/> --> |
||||
|
<p:menuitem value="Tipo" icon="pi pi-fw pi-table" action="Tipo.xhtml"/> |
||||
|
<p:menuitem value="Usuario" icon="pi pi-fw pi-user" disabled="true" action="Usuario.xhtml"/> |
||||
|
<p:menuitem value="Inicio" icon="pi pi-fw pi-home" action="Menu.xhtml"/> |
||||
|
<p:divider layout="vertical"/> |
||||
|
</p:menubar> |
||||
|
</h:form> |
||||
|
</div> |
||||
|
</ui:define> |
||||
|
|
||||
|
<ui:define name="right"> |
||||
|
right |
||||
|
</ui:define> |
||||
|
|
||||
|
<ui:define name="content"> |
||||
|
<h:form style="text-align: center; margin-top: 20px;"> |
||||
|
|
||||
|
</h:form> |
||||
|
<f:view> |
||||
|
|
||||
|
|
||||
|
<h:form> |
||||
|
|
||||
|
<h3><h:outputText value="Paises"/></h3> |
||||
|
|
||||
|
<p:dataTable value="#{demoBeanPais.paises}" var="item" |
||||
|
widgetVar="paises" |
||||
|
emptyMessage="No coincide con ningun registro" |
||||
|
filteredValue="#{demoBeanPais.filteredCustomers3}" |
||||
|
globalFilterFunction="#{demoBeanPais.globalFilterFunction}"> |
||||
|
<f:facet name="header"> |
||||
|
<div class="flex justify-content-end" style="position: absolute; right: 40px; top: 190px; "> |
||||
|
<p:inputText id="globalFilter" onkeyup="PF('paises').filter()" style="width:300px" |
||||
|
placeholder="Buscar" /> |
||||
|
</div> |
||||
|
</f:facet> |
||||
|
<p:column style="width: 10px;"> |
||||
|
<f:facet name="header"> |
||||
|
<h:outputText value="Id"/> |
||||
|
</f:facet> |
||||
|
<h:outputText value="#{item.id}"/> |
||||
|
</p:column> |
||||
|
<p:column> |
||||
|
<f:facet name="header"> |
||||
|
<h:outputText value="Nombre"/> |
||||
|
</f:facet> |
||||
|
<h:outputText value="#{item.nombre}"/> |
||||
|
</p:column> |
||||
|
<p:column> |
||||
|
<f:facet name="header"> |
||||
|
<h:outputText value="Status"/> |
||||
|
</f:facet> |
||||
|
<h:outputText value="#{item.status == 1 ? 'activo':'inactivo'}"/> |
||||
|
</p:column> |
||||
|
<p:column> |
||||
|
<f:facet name="header"> |
||||
|
<h:outputText value="Opciones"/> |
||||
|
</f:facet> |
||||
|
<p:commandButton action="PaisCrear.xhtml" icon="pi pi-fw pi-pencil" |
||||
|
actionListener="#{demoBeanPais.prepararEditar(item)}" |
||||
|
style="padding: 2px 8px; font-size: 11px; font-weight: bold; color: #3366FF; background-color: #fff; border: 2px solid #3366FF; border-radius: 8px; cursor: pointer; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); transition: transform 0.3s ease ; margin-right: 6px;" |
||||
|
value="Editar" |
||||
|
ajax="false"/> |
||||
|
<p:commandButton action="PaisEliminar.xhtml" icon="pi pi-fw pi-trash" |
||||
|
actionListener="#{demoBeanPais.prepararEliminar(item)}" |
||||
|
value="Eliminar" |
||||
|
style=" padding: 2px 8px; font-size: 11px; font-weight: bold; color: #990000; background-color: #fff; border: 2px solid #FF0000; border-radius: 8px; cursor: pointer; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); transition: transform 0.3s ease; margin-right: 6px;" |
||||
|
ajax="false"/> |
||||
|
|
||||
|
|
||||
|
</p:column> |
||||
|
</p:dataTable> |
||||
|
</h:form> |
||||
|
</f:view> |
||||
|
|
||||
|
</ui:define> |
||||
|
|
||||
|
<ui:define name="bottom"> |
||||
|
|
||||
|
</ui:define> |
||||
|
|
||||
|
</ui:composition> |
||||
|
|
||||
|
</body> |
||||
|
</html> |
@ -0,0 +1,84 @@ |
|||||
|
<?xml version='1.0' encoding='UTF-8' ?> |
||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
||||
|
<html xmlns="http://www.w3.org/1999/xhtml" |
||||
|
xmlns:ui="http://xmlns.jcp.org/jsf/facelets" |
||||
|
xmlns:h="http://xmlns.jcp.org/jsf/html" |
||||
|
xmlns:f="http://xmlns.jcp.org/jsf/core" |
||||
|
xmlns:p="http://primefaces.org/ui"> |
||||
|
|
||||
|
<body> |
||||
|
|
||||
|
<ui:composition template="./template/Principal.xhtml"> |
||||
|
|
||||
|
<ui:define name="top"> |
||||
|
SISTEMA DE INVENTARIO |
||||
|
|
||||
|
</ui:define> |
||||
|
|
||||
|
<ui:define name="left"> |
||||
|
|
||||
|
</ui:define> |
||||
|
|
||||
|
<ui:define name="right"> |
||||
|
|
||||
|
</ui:define> |
||||
|
|
||||
|
<ui:define name="content"> |
||||
|
<f:view> |
||||
|
|
||||
|
|
||||
|
<h:form> |
||||
|
<p:growl id="growl" showDetail="true" for="MensajePais"/> |
||||
|
|
||||
|
<h1><h:outputText value="#{demoBeanPais.titulo}"/></h1> |
||||
|
<h:panelGrid columns="3"> |
||||
|
|
||||
|
<p:outputLabel value="Nombre:" for="nombre" /> |
||||
|
<p:inputText id="nombre" value="#{demoBeanPais.pais.nombre}" |
||||
|
title="Nombre" |
||||
|
required="true" |
||||
|
requiredMessage="El campo nombre es obligatorio" |
||||
|
validatorMessage="El campo nombre no debe incluir números, debe incluir mínimo 3 letras y máximo 15 letras"> |
||||
|
<f:validateRegex pattern="[a-zA-Z ]+" /> |
||||
|
<f:validateLength minimum="3" maximum="15" /> |
||||
|
</p:inputText> |
||||
|
<p:message for="nombre" /> |
||||
|
</h:panelGrid> |
||||
|
<p:commandButton action="#{demoBeanPais.agregarPais()}" |
||||
|
icon="pi pi-fw pi-check" |
||||
|
style="padding: 2px 8px; font-size: 13px; font-weight: bold; color: #3366FF; background-color: #fff; border: 2px solid #3366FF; border-radius: 8px; cursor: pointer; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); transition: transform 0.3s ease ; margin-right: 6px;" |
||||
|
|
||||
|
rendered="#{demoBeanPais.nuevo}" |
||||
|
value="Agregar" |
||||
|
update="growl" |
||||
|
ajax="false"/> |
||||
|
|
||||
|
<p:commandButton action="Pais.xhtml" |
||||
|
actionListener="#{demoBeanPais.editarPais()}" |
||||
|
icon="pi pi-fw pi-pencil" |
||||
|
style="padding: 2px 8px; font-size: 13px; font-weight: bold; color: #3366FF; background-color: #fff; border: 2px solid #3366FF; border-radius: 8px; cursor: pointer; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); transition: transform 0.3s ease ; margin-right: 6px;" |
||||
|
|
||||
|
rendered="#{!demoBeanPais.nuevo}" |
||||
|
value="Editar" |
||||
|
update="growl" |
||||
|
ajax="false"/> |
||||
|
|
||||
|
<p:commandButton action="Pais.xhtml" icon="pi pi-fw pi-times" |
||||
|
value="Cancelar" |
||||
|
style=" padding: 2px 8px; font-size: 13px; font-weight: bold; color: #990000; background-color: #fff; border: 2px solid #FF0000; border-radius: 8px; cursor: pointer; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); transition: transform 0.3s ease; margin-right: 6px;" |
||||
|
|
||||
|
immediate="true" |
||||
|
ajax="false"/> |
||||
|
</h:form> |
||||
|
</f:view> |
||||
|
|
||||
|
</ui:define> |
||||
|
|
||||
|
<ui:define name="bottom"> |
||||
|
|
||||
|
</ui:define> |
||||
|
|
||||
|
</ui:composition> |
||||
|
|
||||
|
</body> |
||||
|
</html> |
@ -0,0 +1,62 @@ |
|||||
|
<?xml version='1.0' encoding='UTF-8' ?> |
||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
||||
|
<html xmlns="http://www.w3.org/1999/xhtml" |
||||
|
xmlns:ui="http://xmlns.jcp.org/jsf/facelets" |
||||
|
xmlns:h="http://xmlns.jcp.org/jsf/html" |
||||
|
xmlns:f="http://xmlns.jcp.org/jsf/core" |
||||
|
xmlns:p="http://primefaces.org/ui"> |
||||
|
|
||||
|
<body> |
||||
|
|
||||
|
<ui:composition template="./template/Principal.xhtml"> |
||||
|
|
||||
|
<ui:define name="top"> |
||||
|
SISTEMA DE INVENTARIO |
||||
|
</ui:define> |
||||
|
|
||||
|
<ui:define name="left"> |
||||
|
|
||||
|
</ui:define> |
||||
|
|
||||
|
<ui:define name="right"> |
||||
|
|
||||
|
</ui:define> |
||||
|
|
||||
|
<ui:define name="content"> |
||||
|
<f:view> |
||||
|
|
||||
|
|
||||
|
<h:form> |
||||
|
<h1><h:outputText value="Eliminar"/></h1> |
||||
|
<p:panelGrid columns="2"> |
||||
|
<h:outputText value="Id:"/> |
||||
|
<h:outputText value="#{demoBeanPais.filteredCustomers3.id}" title="Id"/> |
||||
|
<h:outputText value="Nombre:"/> |
||||
|
<h:outputText value="#{demoBeanPais.filteredCustomers3.nombre}" title="Nombre"/> |
||||
|
<h:outputText value="Status:"/> |
||||
|
<h:outputText value="#{demoBeanPais.filteredCustomers3.status}" title="Status"/> |
||||
|
|
||||
|
<p:commandButton action="Pais.xhtml" icon="pi pi-fw pi-trash" |
||||
|
actionListener="#{demoBeanPais.eliminaPais()}" |
||||
|
style=" padding: 2px 8px; font-size: 13px; font-weight: bold; color: #990000; background-color: #fff; border: 2px solid #FF0000; border-radius: 8px; cursor: pointer; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); transition: transform 0.3s ease; margin-right: 6px;" |
||||
|
value="Eliminar" |
||||
|
ajax="false"/> |
||||
|
<p:commandButton action="Pais.xhtml" icon="pi pi-fw pi-times" |
||||
|
style=" padding: 2px 8px; font-size: 13px; font-weight: bold; color: #990000; background-color: #fff; border: 2px solid #FF0000; border-radius: 8px; cursor: pointer; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); transition: transform 0.3s ease; margin-right: 6px;" |
||||
|
value="Cancelar" |
||||
|
immediate="true" |
||||
|
ajax="false"/> |
||||
|
</p:panelGrid> |
||||
|
</h:form> |
||||
|
</f:view> |
||||
|
|
||||
|
</ui:define> |
||||
|
|
||||
|
<ui:define name="bottom"> |
||||
|
|
||||
|
</ui:define> |
||||
|
|
||||
|
</ui:composition> |
||||
|
|
||||
|
</body> |
||||
|
</html> |
Loading…
Reference in new issue