Administrador de la clase de jakarta, un sistema de inventario
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

165 lines
10 KiB

<?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>
<center>
<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="#{demoBeanProducto.titulo}"/></h1>
<h:panelGrid columns="3">
<p:outputLabel value="Cantidad:" for="cantidad" />
<p:inputText id="cantidad" value="#{demoBeanProducto.producto.cantidad}"
title="Cantidad"
required="true"
requiredMessage="El campo cantidad es obligatorio"
validatorMessage="El campo cantidad debe contener numeros espacios y letras">
</p:inputText>
<p:message for="cantidad" />
<p:outputLabel value="Nombre:" for="nombre" />
<p:inputText id="nombre" value="#{demoBeanProducto.producto.nombre}"
title="Nombre"
required="true"
requiredMessage="El campo nombre es obligatorio"
validatorMessage="El campo nombre de contener solo letras mayúsculas">
<f:validateRegex pattern="^[a-zA-Z\s]+$" />
</p:inputText>
<p:message for="nombre" />
<p:outputLabel value="Precio:" for="precio" />
<p:inputText id="precio" value="#{demoBeanProducto.producto.precio}"
title="Precio"
required="true"
requiredMessage="El campo precio es obligatorio"
validatorMessage="El campo precio debe ser un número entero entre -2147483648 y 2147483647">
<f:validateLength minimum="1" maximum="10" />
</p:inputText>
<p:message for="precio" />
<p:outputLabel value="Código de Barras:" for="codigoBarras" />
<p:inputText id="codigoBarras" value="#{demoBeanProducto.producto.codigoBarras}"
title="CódigoBarras"
required="true"
requiredMessage="El campo Código de Barras es obligatorio"
validatorMessage="El campo CódigoBarras debe incluir números y letras, y tener una longitud de 1 a 12 caracteres">
<f:validateLength minimum="1" maximum="12" />
</p:inputText>
<p:message for="codigoBarras" />
<p:outputLabel value="Medida:" for="medida" />
<p:inputText id="medida" value="#{demoBeanProducto.producto.medida}"
title="Medida"
required="true"
requiredMessage="El campo medida es obligatorio"
validatorMessage="El campo medida debe tene solo números minimo de un 1 digito máximo 10 dígitos">
<f:validateLength minimum="1" maximum="10" />
</p:inputText>
<p:message for="medida" />
<p:outputLabel value="Lote:" for="lote" />
<p:inputText id="lote" value="#{demoBeanProducto.producto.lote}"
title="Lote"
required="true"
requiredMessage="El campo lote es obligatorio"
validatorMessage="El campo lote debe comenzar con '#' seguido de entre 1 y 10 números">
<f:validateRegex pattern="^#\d{1,10}$" />
<f:validateLength minimum="2" maximum="10" />
</p:inputText>
<p:message for="lote" />
<p:outputLabel value="Tipo:" for="tipoId"/>
<p:selectOneMenu id="tipoId" value="#{demoBeanProducto.producto.tipoId}" converter="selectOneMenuConverter"
required="true" requiredMessage="The TipoId fiel is required.">
<f:selectItems value="#{demoBeanTipo.tipos}" var="item" itemLabel="#{item.nombre}" itemValue="#{item}"/>
</p:selectOneMenu>
<p:message for="tipoId" />
<p:outputLabel value="Departamento:" for="departamentoId"/>
<p:selectOneMenu id="departamentoId" value="#{demoBeanProducto.producto.departamentoId}" converter="selectOneMenuConverter"
required="true" requiredMessage="The DepartamentoId fiel is required.">
<f:selectItems value="#{demoBeanDepartamento.departamentos}" var="item" itemLabel="#{item.nombre}" itemValue="#{item}"/>
</p:selectOneMenu>
<p:message for="departamentoId" />
<p:outputLabel value="Marca:" for="marcaId"/>
<p:selectOneMenu id="marcaId" value="#{demoBeanProducto.producto.marcasId}" converter="selectOneMenuConverter"
required="true" requiredMessage="The MarcaId fiel is required.">
<f:selectItems value="#{demoBeanMarca.marcas}" var="item" itemLabel="#{item.nombre}" itemValue="#{item}"/>
</p:selectOneMenu>
<p:message for="marcaId" />
<p:outputLabel value="Provedores:" for="provedoresId" />
<p:selectOneMenu id="provedoresId" value="#{demoBeanProducto.producto.provedoresId}" converter="selectOneMenuConverter"
required="true" requiredMessage="The ProvedoresId field is required.">
<f:selectItems value="#{demoBeanProvedor.provedores}" var="item" itemLabel="#{item.nombre}" itemValue="#{fixme}"/>
</p:selectOneMenu>
<p:message for="provedoresId" />
</h:panelGrid>
<p:commandButton action="#{demoBeanProducto.agregarProducto()}"
icon="pi pi-fw pi-check"
rendered="#{demoBeanProducto.nuevo}"
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;"
value="Agregar"
ajax="false"/>
<p:commandButton action="Producto.xhtml"
actionListener="#{demoBeanProducto.editarProducto()}"
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="#{!demoBeanProducto.nuevo}"
value="Editar"
ajax="false"/>
<p:commandButton action="Producto.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>
</center>
</body>
</html>