Advertisement
Guest User

Untitled

a guest
Sep 20th, 2012
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 17.73 KB | None | 0 0
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <ui:composition xmlns="http://www.w3.org/1999/xhtml"
  3.     xmlns:ui="http://java.sun.com/jsf/facelets"
  4.     xmlns:h="http://java.sun.com/jsf/html"
  5.     xmlns:f="http://java.sun.com/jsf/core"
  6.     xmlns:fn="http://java.sun.com/jsp/jstl/functions"
  7.     xmlns:a4j="http://richfaces.org/a4j"
  8.     xmlns:rich="http://richfaces.org/rich"
  9.     xmlns:loc="http://java.sun.com/jsf/composite/components"
  10.     xmlns:ut="http://es.caib.gesma/utils"
  11.     template="/WEB-INF/templates/main.xhtml">
  12.   <f:metadata>
  13.     <f:viewParam name="ticketId" value="#{ticketCtrl.ticketId}"/>
  14.     </f:metadata>
  15.     <ui:define name="head">
  16.         <title>Ticket #{param.ticketId}</title>
  17.     </ui:define>
  18.    
  19.     <ui:define name="mainContent">
  20.         <h:form id="ticketForm">
  21.  
  22.             <div id="divMessages">
  23.                 <h:messages id="generalMessages" />
  24.             </div>
  25.  
  26.             <rich:panel id="ticketPanel">
  27.                 <f:facet name="header">
  28.                     <h:outputText value="Nuevo Ticket"
  29.                         rendered="#{ticketCtrl.ticket.id eq 0}" />
  30.                     <h:outputText
  31.                         value="Consulta de Ticket #{ticketCtrl.ticket.id}"
  32.                         rendered="#{ticketCtrl.ticket.id ne 0}" />
  33.                 </f:facet>
  34.                 <div id="divMainForm">
  35.                     <table width="100%">
  36.                         <tbody>
  37.                             <tr>
  38.                                 <td>
  39.                                   <h:outputLabel for="ticketId">ID</h:outputLabel>
  40.                                 </td>
  41.                                 <td>
  42.                                   <h:inputText id="ticketId" value="#{ticketCtrl.ticket.id}" disabled="true" />
  43.                                 </td>
  44.                                 <td>
  45.                                   <h:outputLabel for="user" rendered="#{userManager.powerUser}">Usuario</h:outputLabel>
  46.                                 </td>
  47.                                 <td>
  48.                                   <h:inputText id="user" rendered="#{userManager.powerUser}" disabled="true"
  49.                                     value="#{ticketCtrl.ticketCreatorName}"/>
  50.                                 </td>
  51.                             </tr>
  52.                             <tr>
  53.                                 <td>
  54.                                     <h:outputLabel for="ticketTypeId" rendered="#{ticketCtrl.ticketModifiable}">Tipo</h:outputLabel>
  55.                                   <h:outputLabel for="ticketTypeIdRO" rendered="#{not ticketCtrl.ticketModifiable}">Tipo</h:outputLabel>
  56.                                 </td>
  57.                                 <td>
  58.                                     <h:selectOneMenu id="ticketTypeId"
  59.                                         value="#{ticketCtrl.ticket.ticketType}"
  60.                                         converter="es.caib.gesma.gesman.data.converter.TicketTypeConverter"
  61.                                         rendered="#{ticketCtrl.ticketModifiable}">
  62.                                         <f:selectItems value="#{masters.ticketTypes}" var="_ticketType"
  63.                                             itemLabel="#{_ticketType.id}" itemValue="#{_ticketType}" />
  64.                                     </h:selectOneMenu>
  65.                                     <h:inputText id="ticketTypeIdRO"
  66.                                         value="#{ticketCtrl.ticket.ticketType.id}"
  67.                                         rendered="#{not ticketCtrl.ticketModifiable}"
  68.                                         disabled="true" />
  69.                                 </td>
  70.                                 <td>
  71.                                     <h:outputLabel for="priorityId"
  72.                                         rendered="#{ticketCtrl.ticketModifiable}">Prioridad</h:outputLabel>
  73.                                     <h:outputLabel for="priorityIdRO"
  74.                                         rendered="#{not ticketCtrl.ticketModifiable}">Prioridad</h:outputLabel>
  75.                                 </td>
  76.                                 <td>
  77.                                   <h:selectOneMenu id="priorityId"
  78.                                         value="#{ticketCtrl.ticket.priority}"
  79.                                         converter="es.caib.gesma.gesman.data.converter.PriorityConverter"
  80.                                         rendered="#{ticketCtrl.ticketModifiable}">
  81.                                         <f:selectItems value="#{masters.priorities}" var="_priority"
  82.                                             itemLabel="#{_priority.name}" itemValue="#{_priority}"/>
  83.                                     </h:selectOneMenu>
  84.                                     <h:inputText id="priorityIdRO"
  85.                                         value="#{ticketCtrl.ticket.priority.name}"
  86.                                         rendered="#{not ticketCtrl.ticketModifiable}"
  87.                                         disabled="true" />
  88.                                 </td>
  89.                             </tr>
  90.                             <tr>
  91.                                 <td>
  92.                                     <h:outputLabel for="descId">Descripción</h:outputLabel>
  93.                                 </td>
  94.                                 <td colspan="3">
  95.                                     <h:inputTextarea id="descId"
  96.                                         style="width:100%"
  97.                                         value="#{ticketCtrl.ticket.description}"
  98.                                         disabled="#{not ticketCtrl.ticketModifiable}" />
  99.                                 </td>
  100.                             </tr>
  101.                             <tr>
  102.                                 <td>
  103.                                     <h:outputLabel for="locationId"
  104.                                         rendered="#{ticketCtrl.ticketModifiable}">Ubicación</h:outputLabel>
  105.                                     <h:outputLabel for="locationIdRO"
  106.                                         rendered="#{not ticketCtrl.ticketModifiable}">Ubicación</h:outputLabel>
  107.                                 </td>
  108.                                 <td>
  109.                                     <loc:location id="locationId"
  110.                                         hiddenFieldValue="#{ticketCtrl.ticket.location}"
  111.                                         visibleFieldValue="#{ticketCtrl.ticket.locationDescription}"
  112.                                         rendered="#{ticketCtrl.ticketModifiable}">
  113.                                         <f:ajax event="changeLocation" render=":ticketForm:gfhId"
  114.                                           execute=":ticketForm:locationId" listener="#{ticketCtrl.locationListener}"/>
  115.                                     </loc:location>
  116.                                     <h:inputText
  117.                                         id="locationIdRO"
  118.                                         value="#{ticketCtrl.ticket.location.description}"
  119.                                         rendered="#{not ticketCtrl.ticketModifiable}"
  120.                                         disabled="true" />
  121.                                 </td>
  122.                                 <td>
  123.                                     <h:outputLabel for="gfhId"
  124.                                         rendered="#{ticketCtrl.ticketModifiable}">GFH</h:outputLabel>
  125.                                     <h:outputLabel for="gfhIdRO"
  126.                                         rendered="#{not ticketCtrl.ticketModifiable}">GFH</h:outputLabel>
  127.                                 </td>
  128.                                 <td>
  129.                                     <rich:autocomplete id="gfhId"
  130.                                         value="#{ticketCtrl.ticket.gfh}"
  131.                                         converter="es.caib.gesma.gesman.data.converter.GfhConverter"
  132.                                         mode="cachedAjax" minChars="2" autoFill="true"
  133.                                         selectFirst="true" layout="div"
  134.                                         autocompleteMethod="#{ticketCtrl.autocompleteGfhs}" var="gfh"
  135.                                         fetchValue="#{gfh.id}" required="false"
  136.                                         rendered="#{ticketCtrl.ticketModifiable}"
  137.                                         disabled="#{ticketCtrl.ticket.location eq null}">
  138.                                         <div style="float: left">#{gfh.id}</div>
  139.                                         <div style="float: right">#{gfh.description}</div>
  140.                                         <div style="clear: both" />
  141.                                     </rich:autocomplete>
  142.                                     <h:inputText id="gfhIdRO"
  143.                                         value="#{ticketCtrl.ticket.gfh}"
  144.                                         converter="es.caib.gesma.gesman.data.converter.GfhConverter"
  145.                                         rendered="#{not ticketCtrl.ticketModifiable}"
  146.                                         disabled="true" />
  147.                                 </td>
  148.                             </tr>
  149.                             <tr>
  150.                                 <td>
  151.                                     <h:outputLabel for="contactId">Contacto</h:outputLabel>
  152.                                 </td>
  153.                                 <td>
  154.                                     <h:inputText id="contactId"
  155.                                         value="#{ticketCtrl.ticket.contactPerson}"
  156.                                         disabled="#{not ticketCtrl.ticketModifiable}"/>
  157.                                 </td>
  158.                                 <td>
  159.                                     <h:outputLabel for="contactPhoneId">Teléfono</h:outputLabel>
  160.                                 </td>
  161.                                 <td>
  162.                                     <h:inputText id="contactPhoneId"
  163.                                         value="#{ticketCtrl.ticket.contactPhone}"
  164.                                         disabled="#{not ticketCtrl.ticketModifiable}"/>
  165.                                 </td>
  166.                             </tr>
  167.                             <tr>
  168.                                 <td>
  169.                                     <h:outputLabel for="status"
  170.                                         rendered="#{ticketCtrl.ticketModifiable}">Estado</h:outputLabel>
  171.                                     <h:outputLabel for="statusRO"
  172.                                         rendered="#{not ticketCtrl.ticketModifiable}">Estado</h:outputLabel>
  173.                                 </td>
  174.                                 <td>
  175.                                   <h:selectOneMenu id="status"
  176.                                         value="#{ticketCtrl.ticket.status}"
  177.                                         converter="es.caib.gesma.gesman.data.converter.TicketStatusConverter"
  178.                                         rendered="#{ticketCtrl.ticketStatusModifiable}">
  179.                                         <f:selectItems value="#{masters.ticketStatus}" var="_status"
  180.                                             itemLabel="#{_status.id}" />
  181.                                         <f:ajax event="change" listener="#{ticketCtrl.statusSelectListener}" render="@none"
  182.                                           disabled="#{ticketCtrl.ticket.id eq 0}"/>
  183.                                     </h:selectOneMenu>
  184.                                     <h:inputText id="statusRO"
  185.                                         value="#{ticketCtrl.ticket.status}"
  186.                                         converter="es.caib.gesma.gesman.data.converter.TicketStatusConverter"
  187.                                         rendered="#{not ticketCtrl.ticketStatusModifiable}" disabled="true" />
  188.                                 </td>
  189.                             </tr>
  190.                             <tr>
  191.                                 <td colspan="4">
  192.                                     <div align="right">
  193.                                         <h:commandButton action="#{ticketCtrl.saveTicket}"
  194.                                             value="Crear Ticket"
  195.                                             rendered="#{ticketCtrl.ticketModifiable}" />
  196.                                     </div>
  197.                                 </td>
  198.                             </tr>
  199.                         </tbody>
  200.                     </table>
  201.                 </div>
  202.             </rich:panel>
  203.         </h:form>
  204.         <h:form>
  205.         <div id="workOrdersDiv">
  206.                 <rich:panel title="Órdenes de trabajo" id="workOrders"
  207.                     rendered="#{ticketCtrl.workOrderShown}">
  208.                     <f:facet name="header">
  209.               Órdenes de trabajo
  210.       </f:facet>
  211.                     <rich:dataTable title="Órdenes"
  212.                         value="#{ticketCtrl.workOrders}" var="_workOrder"
  213.                         noDataLabel="No hay órdenes de trabajo" style="width: 100%"
  214.                         border="1">
  215.                         <rich:column>
  216.                             <f:facet name="header">ID</f:facet>
  217.                             #{_workOrder.id}
  218.                     </rich:column>
  219.                         <rich:column>
  220.                             <f:facet name="header">Descripción</f:facet>
  221.                             #{_workOrder.description}
  222.                     </rich:column>
  223.                         <rich:column>
  224.                             <f:facet name="header">Status</f:facet>
  225.                         #{_workOrder.workOrderStatus.id}
  226.                         </rich:column>
  227.                         <rich:column>
  228.                             <f:facet name="header">Recursos Asignados</f:facet>
  229.                             <rich:dataTable value="#{ut:toArray(_workOrder.resourceAssignments)}"
  230.                             var="_resourceAssignment" style="width: 100%">
  231.                             <f:facet name="footer">
  232.                                     <div align="right">Total: <ui:remove>#{_workOrder.resourceAssignments.size()}</ui:remove></div>
  233.                             </f:facet>
  234.                             <rich:column>
  235.                                 #{_resourceAssignment.resource.name}
  236.                             </rich:column>
  237.                             </rich:dataTable>
  238.                         </rich:column>
  239.                         <rich:column>
  240.                         <f:facet name="header">Acciones</f:facet>
  241.                         <a4j:commandButton action="#{ticketCtrl.editWorkOrder}" value="Editar"
  242.                             execute="@this" render=":editWorkOrderPanel" oncomplete="#{rich:component('workOrderPopup')}.show()">
  243.                         <f:param name="editedWorkOrder" value="#{_workOrder.id}"/>
  244.                         </a4j:commandButton>
  245.                         <a4j:commandButton action="#{ticketCtrl.editWorkOrder}" value="Informe" target="_blank"
  246.                             execute="@this" render=":editActivityPanel" oncomplete="#{rich:component('activityPopup')}.show()">
  247.                             <f:param name="editedWorkOrder" value="#{_workOrder.id}"/>
  248.                         </a4j:commandButton>
  249.                           <h:commandButton action="#{ticketCtrl.generateWorkOrderReport}" value="Informe PDF" target="_blank">
  250.                             <f:param name="reportWorkOrder" value="#{_workOrder.id}"/>
  251.                           </h:commandButton>
  252.                         </rich:column>
  253.                     </rich:dataTable>
  254.                     <div align="right">
  255.                     <a4j:commandButton action="#{ticketCtrl.editWorkOrder}" value="Crear órden"
  256.                         execute="@this" render=":editWorkOrderPanel" oncomplete="#{rich:component('workOrderPopup')}.show()">
  257.                         <f:param name="editedWorkOrder" value="0"/>
  258.                     </a4j:commandButton>
  259.                     </div>
  260.                 </rich:panel>
  261.             </div>
  262.             <p>
  263.                 <h:outputText id="footer"
  264.                     value="Consulta hecha: #{systemValues.systemDateTime} por #{userManager.currentUserDisplayName}(#{userManager.currentUserLogin})" />
  265.             </p>
  266.         </h:form>
  267.  
  268.     <!--
  269.    
  270.    POPUP CREACION / EDICION WORKORDER
  271.    
  272.     -->
  273.         <rich:popupPanel id="workOrderPopup" modal="true" resizeable="true"
  274.             onmaskclick="#{rich:component('workOrderPopup')}.hide()" width="750" height="420">
  275.             <f:facet name="header">
  276.                 <h:outputText value="Crear nueva órden de trabajo" />
  277.             </f:facet>
  278.             <f:facet name="controls">
  279.                 <h:outputLink value="#"
  280.                     onclick="#{rich:component('workOrderPopup')}.hide(); return false;">
  281.                X
  282.         </h:outputLink>
  283.             </f:facet>
  284.             <h:form id="editWorkOrderForm" onkeypress="if (event.keyCode == 13) { document.getElementById('workOrderEdition:saveWO').click(); return false; }">
  285.               <a4j:outputPanel id="editWorkOrderPanel">
  286.               <table width="100%" id="editWorkOrderTable">
  287.                 <tr>
  288.                   <td>
  289.                     <h:outputText value="ID" for="editedWOId"/><br/>
  290.                     <h:inputText value="#{ticketCtrl.editedWorkOrder.id}" id="editedWOId" readonly="true" size="7"/>
  291.                   </td>
  292.                   <td>
  293.                             <h:outputText value="Descripción" for="editedWODescription"/><br/>
  294.                             <h:inputText value="#{ticketCtrl.editedWorkOrder.description}" id="editedWODescription"/>
  295.                         </td>
  296.                         <td>
  297.                             <h:outputText value="Estado" for="editedWOStatus"/><br/>
  298.                             <h:selectOneMenu id="editedWOStatus" value="#{ticketCtrl.editedWorkOrder.workOrderStatus}"
  299.                               converter="es.caib.gesma.gesman.data.converter.WorkOrderStatusConverter">
  300.                               <f:selectItems value="#{masters.workOrderStatus}" var="_woStatus" itemLabel="#{_woStatus.id}"/>
  301.                             </h:selectOneMenu>
  302.                         </td>
  303.             </tr>
  304.             <tr>
  305.                         <td colspan="3">
  306.                           <div align="center">
  307.                                 <h:outputText value="Recursos" for="editedWOResources"/><br/>
  308.                                 <rich:pickList value="#{ticketCtrl.editedWorkOrder.resources}" var="_resource" listHeight="200px" id="editedWOResources">
  309.                         <f:selectItems value="#{ticketCtrl.activeResources}"/>
  310.                         <f:converter converterId="es.caib.gesma.gesman.data.converter.ResourceConverter" />
  311.                         <rich:column>
  312.                             <f:facet name="header">Nombre</f:facet>
  313.                         #{_resource.name}
  314.                         </rich:column>
  315.                     </rich:pickList>
  316.                 </div>
  317.                 </td>
  318.           </tr>
  319.               </table>
  320.               </a4j:outputPanel>
  321.             <a4j:commandButton id="createWO1"
  322.               value="Guardar" action="#{ticketCtrl.saveWorkOrder()}"
  323.               render="workOrders footer :ticketForm:status" execute="editWorkOrderForm"
  324.               oncomplete="#{rich:component('workOrderPopup')}.hide()"/>
  325.             </h:form>
  326.         </rich:popupPanel>
  327.  
  328.     <!--
  329.    
  330.    POPUP REPORTE ACTIVIDAD
  331.    
  332.     -->
  333.         <rich:popupPanel id="activityPopup" modal="true" resizeable="true"
  334.             onmaskclick="#{rich:component('activityPopup')}.hide()" width="750" height="420">
  335.             <f:facet name="header">
  336.                 <h:outputText value="Reporte de actividad" />
  337.             </f:facet>
  338.             <f:facet name="controls">
  339.                 <h:outputLink value="#"
  340.                     onclick="#{rich:component('activityPopup')}.hide(); return false;">
  341.                X
  342.         </h:outputLink>
  343.             </f:facet>
  344.                 <h:form id="saveActivityForm" onkeypress="if (event.keyCode == 13) { document.getElementById('saveActivityForm:saveActivity').click(); return false; }">
  345.           <a4j:outputPanel id="editActivityPanel">
  346.             <rich:dataTable width="700" var="_activity" value="#{ticketCtrl.workOrderActivities}">
  347.                 <f:facet name="header">
  348.                     <rich:columnGroup>
  349.                         <rich:column>
  350.                             <h:outputLabel value="Recurso"/>
  351.                         </rich:column>
  352.                         <rich:column>
  353.                             <h:outputLabel value="Fecha"/>
  354.                         </rich:column>
  355.                         <rich:column>
  356.                             <h:outputLabel value="Hora de inicio"/>
  357.                         </rich:column>
  358.                         <rich:column>
  359.                             <h:outputLabel value="Hora de fin"/>
  360.                         </rich:column>
  361.                         <rich:column>
  362.                             <h:outputLabel value="Comentarios"/>
  363.                         </rich:column>
  364.                         <rich:column>
  365.                             <h:outputLabel value="Acción"/>
  366.                         </rich:column>
  367.                     </rich:columnGroup>
  368.                 </f:facet>     
  369.                 <rich:column>
  370.                   <h:outputLabel value="#{_activity.resourceAssignment.resource.name}"
  371.                     rendered="#{_activity.id ne 0}"/>
  372.                   <h:selectOneMenu rendered="#{_activity.id eq 0}">
  373.                     <f:selectItems value="#{ticketCtrl.workOrderResources}" var="_resource"
  374.                         itemLabel="#{_resource.name}" itemValue="#{_resource.id}"/>
  375.                   </h:selectOneMenu>
  376.                 </rich:column>     
  377.                 <rich:column>
  378.                   <h:outputLabel value="#{_activity.workDate}"
  379.                     converter="es.caib.gesma.gesman.data.converter.DayConverter"/>
  380.                 </rich:column>     
  381.                 <rich:column>
  382.                   <h:outputLabel value="#{_activity.startHour}"
  383.                     converter="es.caib.gesma.gesman.data.converter.HourConverter"/>
  384.                 </rich:column>     
  385.                 <rich:column>
  386.                   <h:outputLabel value="#{_activity.endHour}"
  387.                     converter="es.caib.gesma.gesman.data.converter.HourConverter"/>
  388.                 </rich:column>
  389.                 <rich:column>
  390.                   <h:outputLabel value="#{_activity.comment}"/>
  391.                     </rich:column>             
  392.                 <rich:column>
  393.                     <a4j:commandButton id="deleteActivity" value="Borrar" action="#{ticketCtrl.deleteActivity()}"
  394.                         render="editActivityPanel" execute="@this">
  395.                       <f:param name="activityId" value="#{_activity.id}"/>
  396.                     </a4j:commandButton>                       
  397.                 </rich:column>     
  398.             </rich:dataTable>
  399.                     <table>
  400.                         <tr>
  401.                             <td>
  402.                                 <h:outputLabel value="Operario" for="resource"/>
  403.                             </td>
  404.                             <td>
  405.                                 <h:selectOneMenu id="resource" value="#{ticketCtrl.newActivity.resource}"
  406.                                     converter="es.caib.gesma.gesman.data.converter.ResourceConverter">
  407.                                     <f:selectItems value="#{ticketCtrl.newActivity.availableResources}" var="_resource"
  408.                                         itemValue="#{_resource}" itemLabel="#{_resource.name}"
  409.                                     />
  410.                                 </h:selectOneMenu>
  411.                             </td>
  412.                             <td>
  413.                                 <h:outputLabel value="Fecha" for="date"/>
  414.                             </td>
  415.                             <td>
  416.                                 <rich:calendar id="date" value="#{ticketCtrl.newActivity.workDate}"
  417.                                     datePattern="dd/MM/yyyy" defaultTime="00:00"/>
  418.                             </td>
  419.                         </tr>
  420.                         <tr>
  421.                             <td>
  422.                                 <h:outputLabel value="Hora de inicio" for="startHour"/>
  423.                             </td>
  424.                             <td>
  425.                                 <h:inputText id="startHour" value="#{ticketCtrl.newActivity.startHour}"
  426.                                     converter="es.caib.gesma.gesman.data.converter.HourConverter"/>
  427.                             </td>
  428.                             <td>
  429.                                 <h:outputLabel value="Hora de fin" for="endHour"/>
  430.                             </td>
  431.                             <td>
  432.                                 <h:inputText id="endHour" value="#{ticketCtrl.newActivity.endHour}"
  433.                                     converter="es.caib.gesma.gesman.data.converter.HourConverter"/>
  434.                             </td>
  435.                         </tr>
  436.                         <tr>
  437.                             <td>
  438.                                 <h:outputLabel value="Comentarios" for="comment"/>
  439.                             </td>
  440.                             <td colspan="2">
  441.                                 <h:inputText id="comment" value="#{ticketCtrl.newActivity.comment}"/>
  442.                             </td>
  443.                             <td>
  444.                                 <a4j:commandButton id="saveActivity"
  445.                                 value="Guardar" action="#{ticketCtrl.saveActivity}"
  446.                                 render="editActivityPanel" execute="@form"/>
  447.                             </td>
  448.                         </tr>
  449.                     </table>
  450.                 </a4j:outputPanel>
  451.             </h:form>
  452.         </rich:popupPanel>
  453.     </ui:define>
  454. </ui:composition>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement