Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <ui:composition xmlns="http://www.w3.org/1999/xhtml"
- xmlns:ui="http://java.sun.com/jsf/facelets"
- xmlns:h="http://java.sun.com/jsf/html"
- xmlns:f="http://java.sun.com/jsf/core"
- xmlns:fn="http://java.sun.com/jsp/jstl/functions"
- xmlns:a4j="http://richfaces.org/a4j"
- xmlns:rich="http://richfaces.org/rich"
- xmlns:loc="http://java.sun.com/jsf/composite/components"
- xmlns:ut="http://es.caib.gesma/utils"
- template="/WEB-INF/templates/main.xhtml">
- <f:metadata>
- <f:viewParam name="ticketId" value="#{ticketCtrl.ticketId}"/>
- </f:metadata>
- <ui:define name="head">
- <title>Ticket #{param.ticketId}</title>
- </ui:define>
- <ui:define name="mainContent">
- <h:form id="ticketForm">
- <div id="divMessages">
- <h:messages id="generalMessages" />
- </div>
- <rich:panel id="ticketPanel">
- <f:facet name="header">
- <h:outputText value="Nuevo Ticket"
- rendered="#{ticketCtrl.ticket.id eq 0}" />
- <h:outputText
- value="Consulta de Ticket #{ticketCtrl.ticket.id}"
- rendered="#{ticketCtrl.ticket.id ne 0}" />
- </f:facet>
- <div id="divMainForm">
- <table width="100%">
- <tbody>
- <tr>
- <td>
- <h:outputLabel for="ticketId">ID</h:outputLabel>
- </td>
- <td>
- <h:inputText id="ticketId" value="#{ticketCtrl.ticket.id}" disabled="true" />
- </td>
- <td>
- <h:outputLabel for="user" rendered="#{userManager.powerUser}">Usuario</h:outputLabel>
- </td>
- <td>
- <h:inputText id="user" rendered="#{userManager.powerUser}" disabled="true"
- value="#{ticketCtrl.ticketCreatorName}"/>
- </td>
- </tr>
- <tr>
- <td>
- <h:outputLabel for="ticketTypeId" rendered="#{ticketCtrl.ticketModifiable}">Tipo</h:outputLabel>
- <h:outputLabel for="ticketTypeIdRO" rendered="#{not ticketCtrl.ticketModifiable}">Tipo</h:outputLabel>
- </td>
- <td>
- <h:selectOneMenu id="ticketTypeId"
- value="#{ticketCtrl.ticket.ticketType}"
- converter="es.caib.gesma.gesman.data.converter.TicketTypeConverter"
- rendered="#{ticketCtrl.ticketModifiable}">
- <f:selectItems value="#{masters.ticketTypes}" var="_ticketType"
- itemLabel="#{_ticketType.id}" itemValue="#{_ticketType}" />
- </h:selectOneMenu>
- <h:inputText id="ticketTypeIdRO"
- value="#{ticketCtrl.ticket.ticketType.id}"
- rendered="#{not ticketCtrl.ticketModifiable}"
- disabled="true" />
- </td>
- <td>
- <h:outputLabel for="priorityId"
- rendered="#{ticketCtrl.ticketModifiable}">Prioridad</h:outputLabel>
- <h:outputLabel for="priorityIdRO"
- rendered="#{not ticketCtrl.ticketModifiable}">Prioridad</h:outputLabel>
- </td>
- <td>
- <h:selectOneMenu id="priorityId"
- value="#{ticketCtrl.ticket.priority}"
- converter="es.caib.gesma.gesman.data.converter.PriorityConverter"
- rendered="#{ticketCtrl.ticketModifiable}">
- <f:selectItems value="#{masters.priorities}" var="_priority"
- itemLabel="#{_priority.name}" itemValue="#{_priority}"/>
- </h:selectOneMenu>
- <h:inputText id="priorityIdRO"
- value="#{ticketCtrl.ticket.priority.name}"
- rendered="#{not ticketCtrl.ticketModifiable}"
- disabled="true" />
- </td>
- </tr>
- <tr>
- <td>
- <h:outputLabel for="descId">Descripción</h:outputLabel>
- </td>
- <td colspan="3">
- <h:inputTextarea id="descId"
- style="width:100%"
- value="#{ticketCtrl.ticket.description}"
- disabled="#{not ticketCtrl.ticketModifiable}" />
- </td>
- </tr>
- <tr>
- <td>
- <h:outputLabel for="locationId"
- rendered="#{ticketCtrl.ticketModifiable}">Ubicación</h:outputLabel>
- <h:outputLabel for="locationIdRO"
- rendered="#{not ticketCtrl.ticketModifiable}">Ubicación</h:outputLabel>
- </td>
- <td>
- <loc:location id="locationId"
- hiddenFieldValue="#{ticketCtrl.ticket.location}"
- visibleFieldValue="#{ticketCtrl.ticket.locationDescription}"
- rendered="#{ticketCtrl.ticketModifiable}">
- <f:ajax event="changeLocation" render=":ticketForm:gfhId"
- execute=":ticketForm:locationId" listener="#{ticketCtrl.locationListener}"/>
- </loc:location>
- <h:inputText
- id="locationIdRO"
- value="#{ticketCtrl.ticket.location.description}"
- rendered="#{not ticketCtrl.ticketModifiable}"
- disabled="true" />
- </td>
- <td>
- <h:outputLabel for="gfhId"
- rendered="#{ticketCtrl.ticketModifiable}">GFH</h:outputLabel>
- <h:outputLabel for="gfhIdRO"
- rendered="#{not ticketCtrl.ticketModifiable}">GFH</h:outputLabel>
- </td>
- <td>
- <rich:autocomplete id="gfhId"
- value="#{ticketCtrl.ticket.gfh}"
- converter="es.caib.gesma.gesman.data.converter.GfhConverter"
- mode="cachedAjax" minChars="2" autoFill="true"
- selectFirst="true" layout="div"
- autocompleteMethod="#{ticketCtrl.autocompleteGfhs}" var="gfh"
- fetchValue="#{gfh.id}" required="false"
- rendered="#{ticketCtrl.ticketModifiable}"
- disabled="#{ticketCtrl.ticket.location eq null}">
- <div style="float: left">#{gfh.id}</div>
- <div style="float: right">#{gfh.description}</div>
- <div style="clear: both" />
- </rich:autocomplete>
- <h:inputText id="gfhIdRO"
- value="#{ticketCtrl.ticket.gfh}"
- converter="es.caib.gesma.gesman.data.converter.GfhConverter"
- rendered="#{not ticketCtrl.ticketModifiable}"
- disabled="true" />
- </td>
- </tr>
- <tr>
- <td>
- <h:outputLabel for="contactId">Contacto</h:outputLabel>
- </td>
- <td>
- <h:inputText id="contactId"
- value="#{ticketCtrl.ticket.contactPerson}"
- disabled="#{not ticketCtrl.ticketModifiable}"/>
- </td>
- <td>
- <h:outputLabel for="contactPhoneId">Teléfono</h:outputLabel>
- </td>
- <td>
- <h:inputText id="contactPhoneId"
- value="#{ticketCtrl.ticket.contactPhone}"
- disabled="#{not ticketCtrl.ticketModifiable}"/>
- </td>
- </tr>
- <tr>
- <td>
- <h:outputLabel for="status"
- rendered="#{ticketCtrl.ticketModifiable}">Estado</h:outputLabel>
- <h:outputLabel for="statusRO"
- rendered="#{not ticketCtrl.ticketModifiable}">Estado</h:outputLabel>
- </td>
- <td>
- <h:selectOneMenu id="status"
- value="#{ticketCtrl.ticket.status}"
- converter="es.caib.gesma.gesman.data.converter.TicketStatusConverter"
- rendered="#{ticketCtrl.ticketStatusModifiable}">
- <f:selectItems value="#{masters.ticketStatus}" var="_status"
- itemLabel="#{_status.id}" />
- <f:ajax event="change" listener="#{ticketCtrl.statusSelectListener}" render="@none"
- disabled="#{ticketCtrl.ticket.id eq 0}"/>
- </h:selectOneMenu>
- <h:inputText id="statusRO"
- value="#{ticketCtrl.ticket.status}"
- converter="es.caib.gesma.gesman.data.converter.TicketStatusConverter"
- rendered="#{not ticketCtrl.ticketStatusModifiable}" disabled="true" />
- </td>
- </tr>
- <tr>
- <td colspan="4">
- <div align="right">
- <h:commandButton action="#{ticketCtrl.saveTicket}"
- value="Crear Ticket"
- rendered="#{ticketCtrl.ticketModifiable}" />
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- </rich:panel>
- </h:form>
- <h:form>
- <div id="workOrdersDiv">
- <rich:panel title="Órdenes de trabajo" id="workOrders"
- rendered="#{ticketCtrl.workOrderShown}">
- <f:facet name="header">
- Órdenes de trabajo
- </f:facet>
- <rich:dataTable title="Órdenes"
- value="#{ticketCtrl.workOrders}" var="_workOrder"
- noDataLabel="No hay órdenes de trabajo" style="width: 100%"
- border="1">
- <rich:column>
- <f:facet name="header">ID</f:facet>
- #{_workOrder.id}
- </rich:column>
- <rich:column>
- <f:facet name="header">Descripción</f:facet>
- #{_workOrder.description}
- </rich:column>
- <rich:column>
- <f:facet name="header">Status</f:facet>
- #{_workOrder.workOrderStatus.id}
- </rich:column>
- <rich:column>
- <f:facet name="header">Recursos Asignados</f:facet>
- <rich:dataTable value="#{ut:toArray(_workOrder.resourceAssignments)}"
- var="_resourceAssignment" style="width: 100%">
- <f:facet name="footer">
- <div align="right">Total: <ui:remove>#{_workOrder.resourceAssignments.size()}</ui:remove></div>
- </f:facet>
- <rich:column>
- #{_resourceAssignment.resource.name}
- </rich:column>
- </rich:dataTable>
- </rich:column>
- <rich:column>
- <f:facet name="header">Acciones</f:facet>
- <a4j:commandButton action="#{ticketCtrl.editWorkOrder}" value="Editar"
- execute="@this" render=":editWorkOrderPanel" oncomplete="#{rich:component('workOrderPopup')}.show()">
- <f:param name="editedWorkOrder" value="#{_workOrder.id}"/>
- </a4j:commandButton>
- <a4j:commandButton action="#{ticketCtrl.editWorkOrder}" value="Informe" target="_blank"
- execute="@this" render=":editActivityPanel" oncomplete="#{rich:component('activityPopup')}.show()">
- <f:param name="editedWorkOrder" value="#{_workOrder.id}"/>
- </a4j:commandButton>
- <h:commandButton action="#{ticketCtrl.generateWorkOrderReport}" value="Informe PDF" target="_blank">
- <f:param name="reportWorkOrder" value="#{_workOrder.id}"/>
- </h:commandButton>
- </rich:column>
- </rich:dataTable>
- <div align="right">
- <a4j:commandButton action="#{ticketCtrl.editWorkOrder}" value="Crear órden"
- execute="@this" render=":editWorkOrderPanel" oncomplete="#{rich:component('workOrderPopup')}.show()">
- <f:param name="editedWorkOrder" value="0"/>
- </a4j:commandButton>
- </div>
- </rich:panel>
- </div>
- <p>
- <h:outputText id="footer"
- value="Consulta hecha: #{systemValues.systemDateTime} por #{userManager.currentUserDisplayName}(#{userManager.currentUserLogin})" />
- </p>
- </h:form>
- <!--
- POPUP CREACION / EDICION WORKORDER
- -->
- <rich:popupPanel id="workOrderPopup" modal="true" resizeable="true"
- onmaskclick="#{rich:component('workOrderPopup')}.hide()" width="750" height="420">
- <f:facet name="header">
- <h:outputText value="Crear nueva órden de trabajo" />
- </f:facet>
- <f:facet name="controls">
- <h:outputLink value="#"
- onclick="#{rich:component('workOrderPopup')}.hide(); return false;">
- X
- </h:outputLink>
- </f:facet>
- <h:form id="editWorkOrderForm" onkeypress="if (event.keyCode == 13) { document.getElementById('workOrderEdition:saveWO').click(); return false; }">
- <a4j:outputPanel id="editWorkOrderPanel">
- <table width="100%" id="editWorkOrderTable">
- <tr>
- <td>
- <h:outputText value="ID" for="editedWOId"/><br/>
- <h:inputText value="#{ticketCtrl.editedWorkOrder.id}" id="editedWOId" readonly="true" size="7"/>
- </td>
- <td>
- <h:outputText value="Descripción" for="editedWODescription"/><br/>
- <h:inputText value="#{ticketCtrl.editedWorkOrder.description}" id="editedWODescription"/>
- </td>
- <td>
- <h:outputText value="Estado" for="editedWOStatus"/><br/>
- <h:selectOneMenu id="editedWOStatus" value="#{ticketCtrl.editedWorkOrder.workOrderStatus}"
- converter="es.caib.gesma.gesman.data.converter.WorkOrderStatusConverter">
- <f:selectItems value="#{masters.workOrderStatus}" var="_woStatus" itemLabel="#{_woStatus.id}"/>
- </h:selectOneMenu>
- </td>
- </tr>
- <tr>
- <td colspan="3">
- <div align="center">
- <h:outputText value="Recursos" for="editedWOResources"/><br/>
- <rich:pickList value="#{ticketCtrl.editedWorkOrder.resources}" var="_resource" listHeight="200px" id="editedWOResources">
- <f:selectItems value="#{ticketCtrl.activeResources}"/>
- <f:converter converterId="es.caib.gesma.gesman.data.converter.ResourceConverter" />
- <rich:column>
- <f:facet name="header">Nombre</f:facet>
- #{_resource.name}
- </rich:column>
- </rich:pickList>
- </div>
- </td>
- </tr>
- </table>
- </a4j:outputPanel>
- <a4j:commandButton id="createWO1"
- value="Guardar" action="#{ticketCtrl.saveWorkOrder()}"
- render="workOrders footer :ticketForm:status" execute="editWorkOrderForm"
- oncomplete="#{rich:component('workOrderPopup')}.hide()"/>
- </h:form>
- </rich:popupPanel>
- <!--
- POPUP REPORTE ACTIVIDAD
- -->
- <rich:popupPanel id="activityPopup" modal="true" resizeable="true"
- onmaskclick="#{rich:component('activityPopup')}.hide()" width="750" height="420">
- <f:facet name="header">
- <h:outputText value="Reporte de actividad" />
- </f:facet>
- <f:facet name="controls">
- <h:outputLink value="#"
- onclick="#{rich:component('activityPopup')}.hide(); return false;">
- X
- </h:outputLink>
- </f:facet>
- <h:form id="saveActivityForm" onkeypress="if (event.keyCode == 13) { document.getElementById('saveActivityForm:saveActivity').click(); return false; }">
- <a4j:outputPanel id="editActivityPanel">
- <rich:dataTable width="700" var="_activity" value="#{ticketCtrl.workOrderActivities}">
- <f:facet name="header">
- <rich:columnGroup>
- <rich:column>
- <h:outputLabel value="Recurso"/>
- </rich:column>
- <rich:column>
- <h:outputLabel value="Fecha"/>
- </rich:column>
- <rich:column>
- <h:outputLabel value="Hora de inicio"/>
- </rich:column>
- <rich:column>
- <h:outputLabel value="Hora de fin"/>
- </rich:column>
- <rich:column>
- <h:outputLabel value="Comentarios"/>
- </rich:column>
- <rich:column>
- <h:outputLabel value="Acción"/>
- </rich:column>
- </rich:columnGroup>
- </f:facet>
- <rich:column>
- <h:outputLabel value="#{_activity.resourceAssignment.resource.name}"
- rendered="#{_activity.id ne 0}"/>
- <h:selectOneMenu rendered="#{_activity.id eq 0}">
- <f:selectItems value="#{ticketCtrl.workOrderResources}" var="_resource"
- itemLabel="#{_resource.name}" itemValue="#{_resource.id}"/>
- </h:selectOneMenu>
- </rich:column>
- <rich:column>
- <h:outputLabel value="#{_activity.workDate}"
- converter="es.caib.gesma.gesman.data.converter.DayConverter"/>
- </rich:column>
- <rich:column>
- <h:outputLabel value="#{_activity.startHour}"
- converter="es.caib.gesma.gesman.data.converter.HourConverter"/>
- </rich:column>
- <rich:column>
- <h:outputLabel value="#{_activity.endHour}"
- converter="es.caib.gesma.gesman.data.converter.HourConverter"/>
- </rich:column>
- <rich:column>
- <h:outputLabel value="#{_activity.comment}"/>
- </rich:column>
- <rich:column>
- <a4j:commandButton id="deleteActivity" value="Borrar" action="#{ticketCtrl.deleteActivity()}"
- render="editActivityPanel" execute="@this">
- <f:param name="activityId" value="#{_activity.id}"/>
- </a4j:commandButton>
- </rich:column>
- </rich:dataTable>
- <table>
- <tr>
- <td>
- <h:outputLabel value="Operario" for="resource"/>
- </td>
- <td>
- <h:selectOneMenu id="resource" value="#{ticketCtrl.newActivity.resource}"
- converter="es.caib.gesma.gesman.data.converter.ResourceConverter">
- <f:selectItems value="#{ticketCtrl.newActivity.availableResources}" var="_resource"
- itemValue="#{_resource}" itemLabel="#{_resource.name}"
- />
- </h:selectOneMenu>
- </td>
- <td>
- <h:outputLabel value="Fecha" for="date"/>
- </td>
- <td>
- <rich:calendar id="date" value="#{ticketCtrl.newActivity.workDate}"
- datePattern="dd/MM/yyyy" defaultTime="00:00"/>
- </td>
- </tr>
- <tr>
- <td>
- <h:outputLabel value="Hora de inicio" for="startHour"/>
- </td>
- <td>
- <h:inputText id="startHour" value="#{ticketCtrl.newActivity.startHour}"
- converter="es.caib.gesma.gesman.data.converter.HourConverter"/>
- </td>
- <td>
- <h:outputLabel value="Hora de fin" for="endHour"/>
- </td>
- <td>
- <h:inputText id="endHour" value="#{ticketCtrl.newActivity.endHour}"
- converter="es.caib.gesma.gesman.data.converter.HourConverter"/>
- </td>
- </tr>
- <tr>
- <td>
- <h:outputLabel value="Comentarios" for="comment"/>
- </td>
- <td colspan="2">
- <h:inputText id="comment" value="#{ticketCtrl.newActivity.comment}"/>
- </td>
- <td>
- <a4j:commandButton id="saveActivity"
- value="Guardar" action="#{ticketCtrl.saveActivity}"
- render="editActivityPanel" execute="@form"/>
- </td>
- </tr>
- </table>
- </a4j:outputPanel>
- </h:form>
- </rich:popupPanel>
- </ui:define>
- </ui:composition>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement