have a nice day....
Jim
Code: Select all
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.prime.com.tr/ui"
xmlns:fn="http://java.sun.com/jsp/jstl/functions">
<p:focus />
<h:form prependId="false">
<p:fieldset legend="Search Users" toggleable="true">
<h:panelGrid columns="3">
<h:outputText value="UserName: " />
<h:inputText value="#{manageUsers.login}" />
<p:commandButton value="Search" actionListener="#{manageUsers.search}" async="true" update="users"/>
</h:panelGrid>
</p:fieldset>
<p:messages id="manageMsgs" display="text"/>
<p:ajaxStatus style="width:16px;height:16px;">
<f:facet name="start">
<h:graphicImage value="../design/ajaxloading.gif" />
</f:facet>
<f:facet name="complete">
<h:outputText value="" />
</f:facet>
</p:ajaxStatus>
<p:dataTable id="users" var="user" value="#{manageUsers.users}" paginator="true" rows="10" effect="true"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
rowsPerPageTemplate="2,3,10" emptyMessage="No Users found with given criteria">
<f:facet name="header">Users</f:facet>
<p:column sortBy="#{user.login}" style="width:150px" headerText="UserName" footerText="UserName" filterMatchMode="contains">
<h:outputText value="#{user.login}" />
</p:column>
<p:column sortBy="#{user.firstName}" style="width:150px" headerText="First Name" footerText="First Name" filterMatchMode="contains">
<h:outputText value="#{user.firstName}" />
</p:column>
<p:column sortBy="#{user.lastName}" style="width:150px" headerText="Last Name" footerText="Last Name" filterMatchMode="contains">
<h:outputText value="#{user.lastName}" />
</p:column>
<p:column sortBy="#{user.agencyId}" style="width:150px" headerText="Agency" footerText="Agency" filterMatchMode="contains">
<h:outputText value="#{user.agencyId}" />
</p:column>
<p:column sortBy="#{user.status}" headerText="Status" footerText="Status"
filterOptions="#{manageUsers.userStatusOptions}" filterMatchMode="exact">
<h:outputText value="#{user.status}" />
</p:column>
<p:column style="width:300px" headerText="Actions" footerText="Actions">
<p:outputPanel>
<p:commandLink update="users manageMsgs userDetailPanel" oncomplete="viewEditDialog.show()" value="view">
<f:setPropertyActionListener value="#{user}" target="#{manageUsers.selectedUser}" />
<f:setPropertyActionListener value="false" target="#{manageUsers.editMode}" />
<f:setPropertyActionListener value="true" target="#{manageUsers.viewMode}" />
</p:commandLink>
<p:outputPanel rendered="#{p:ifGranted('ROLE_ADMIN')}">
<h:outputText value=" " />
<p:commandLink update="users manageMsgs userDetailPanel" oncomplete="viewEditDialog.show()" value="edit" rendered="#{user.status != 'User_Deleted'}">
<f:setPropertyActionListener value="#{user}" target="#{manageUsers.selectedUser}" />
<f:setPropertyActionListener value="true" target="#{manageUsers.editMode}" />
<f:setPropertyActionListener value="false" target="#{manageUsers.viewMode}" />
</p:commandLink>
<h:outputText value=" " />
<p:commandLink update="users manageMsgs userDeletePanel" immediate="true" oncomplete="deleteConfirm.show()" value="delete" rendered="#{user.status != 'User_Deleted'}">
<f:setPropertyActionListener value="#{user}" target="#{manageUsers.selectedUser}" />
</p:commandLink>
<h:outputText value=" " />
<p:commandLink update="users manageMsgs userDisablePanel" oncomplete="disableConfirm.show()" value="disable" rendered="#{user.status == 'User_Enabled'}">
<f:setPropertyActionListener value="#{user}" target="#{manageUsers.selectedUser}" />
</p:commandLink>
<p:commandLink update="users manageMsgs userEnablePanel" oncomplete="enableConfirm.show()" value="enable" rendered="#{user.status == 'User_Disabled'}">
<f:setPropertyActionListener value="#{user}" target="#{manageUsers.selectedUser}" />
</p:commandLink>
</p:outputPanel>
</p:outputPanel>
</p:column>
</p:dataTable>
<p:dialog header="User Detail" widgetVar="viewEditDialog" width="300" showEffect="explode" hideEffect="explode">
<h:panelGrid id="userDetailPanel" columns="2" cellpadding="4">
<h:outputText value="User Login" />
<h:panelGroup>
<h:outputText value="#{manageUsers.selectedUser.login}" rendered="#{manageUsers.viewMode}"/>
<h:inputText value="#{manageUsers.selectedUser.login}" rendered="#{manageUsers.editMode}"/>
</h:panelGroup>
<h:outputText value="First Name" />
<h:panelGroup>
<h:outputText value="#{manageUsers.selectedUser.firstName}" rendered="#{manageUsers.viewMode}"/>
<h:inputText value="#{manageUsers.selectedUser.firstName}" rendered="#{manageUsers.editMode}"/>
</h:panelGroup>
<p:commandButton value="Update" update="users manageMsgs" actionListener="#{manageUsers.edit}" oncomplete="viewEditDialog.hide();" rendered="#{manageUsers.editMode}"/>
<p:commandButton value="Cancel" oncomplete="viewEditDialog.hide();" rendered="#{manageUsers.editMode}"/>
</h:panelGrid>
<p:commandButton value="Close" oncomplete="viewEditDialog.hide();" rendered="#{manageUsers.viewMode}"/>
</p:dialog>
<p:outputPanel id="userDeletePanel">
<p:confirmDialog message="Are you sure you want to delete #{manageUsers.selectedUser.login}?" showEffect="explode" hideEffect="explode" header="Delete Confirmation" severity="alert" widgetVar="deleteConfirm">
<p:commandButton value="Yes" update="users manageMsgs" actionListener="#{manageUsers.delete}" oncomplete="deleteConfirm.hide()"/>
<p:commandButton value="No" onclick="deleteConfirm.hide()" type="button" />
</p:confirmDialog>
</p:outputPanel>
<p:outputPanel id="userDisablePanel">
<p:confirmDialog message="Are you sure you want to disable #{manageUsers.selectedUser.login}?" showEffect="explode" hideEffect="explode" header="Disable Confirmation" severity="alert" widgetVar="disableConfirm">
<p:commandButton value="Yes" update="users manageMsgs" actionListener="#{manageUsers.disable}" oncomplete="disableConfirm.hide()"/>
<p:commandButton value="No" onclick="disableConfirm.hide()" type="button" />
</p:confirmDialog>
</p:outputPanel>
<p:outputPanel id="userEnablePanel">
<p:confirmDialog message="Are you sure you want to enable #{manageUsers.selectedUser.login}?" showEffect="explode" hideEffect="explode" header="Enable Confirmation" severity="alert" widgetVar="enableConfirm">
<p:commandButton value="Yes" update="users manageMsgs" actionListener="#{manageUsers.enable}" oncomplete="disableConfirm.hide()"/>
<p:commandButton value="No" onclick="enableConfirm.hide()" type="button" />
</p:confirmDialog>
</p:outputPanel>
</h:form>
</ui:composition>