1 <?xml version="1.0" encoding="UTF-8" ?>
3 template="/WEB-INF/templates/admin/admin_base.tpl"
4 xmlns="http://www.w3.org/1999/xhtml"
5 xmlns:core="http://mxchange.org/jsf/core/widgets"
6 xmlns:links="http://mxchange.org/jsf/core/links"
7 xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
8 xmlns:h="http://xmlns.jcp.org/jsf/html"
9 xmlns:f="http://xmlns.jcp.org/jsf/core"
10 xmlns:p="http://primefaces.org/ui"
13 <ui:define name="document_admin_title">
14 <h:outputText value="#{msg.PAGE_TITLE_ADMIN_LIST_USER}" />
17 <ui:define name="content_header">
18 <h:outputText value="#{msg.CONTENT_TITLE_ADMIN_LIST_USER}" />
21 <ui:define name="content">
22 <h:form id="form-list-users">
26 value="#{userListController.allUsers}"
28 paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
29 filteredValue="#{userListController.filteredUsers}"
31 rowKey="#{user.userId}"
33 resizableColumns="true"
34 rowsPerPageTemplate="5,10,20,50,100"
36 summary="#{msg.TABLE_SUMMARY_ADMIN_LIST_USERS}"
37 emptyMessage="#{msg.ADMIN_EMPTY_LIST_USER}"
39 selectionMode="single"
40 selection="#{userListController.selectedUser}"
44 <f:facet name="header">
48 columnClasses="ui-grid-col-4,ui-grid-col-6,ui-grid-col-2"
54 columnClasses="ui-grid-4,ui-grid-8"
56 styleClass="ui-noborder"
60 value="#{msg.SEARCH_ALL_FIELDS}"
66 onkeyup="PF('userList').filter()"
67 placeholder="#{msg.ENTER_KEYWORD}"
72 <p:spacer height="4" />
77 value="#{msg.SELECT_SHOWN_COLUMNS}"
78 styleClass="column-selector"
81 <p:columnToggler datasource="userList" trigger="toggler" />
88 update="form-list-users:user-details"
89 oncomplete="PF('userDialog').show()"
93 headerText="#{msg.DATA_USER_ID}"
94 sortBy="#{user.userId}"
98 outcome="admin_show_user"
99 value="#{user.userId}"
100 title="#{msg.ADMIN_LINK_SHOW_USER_TITLE}"
102 <f:param name="userId" value="#{user.userId}" />
107 headerText="#{msg.DATA_USER_NAME}"
108 sortBy="#{user.userName}"
109 filterBy="#{user.userName}"
110 filterMatchMode="contains"
111 rendered="#{featureController.isFeatureEnabled('user_login_require_user_name')}"
113 <h:outputText value="#{user.userName}" />
117 headerText="#{msg.ADMIN_CONTACT_PERSONAL_TITLE}"
118 sortBy="#{user.userContact.contactPersonalTitle}"
119 filterBy="#{user.userContact.contactPersonalTitle}"
120 filterMatchMode="exact"
122 <f:facet name="filter">
125 filterMatchMode="contains"
126 label="#{msg.LABEL_PERSONAL_TITLES}"
127 onchange="PF('userList').filter()"
128 title="#{msg.FILTER_BY_SINGLE_PERSONAL_TITLE}"
130 <f:converter converterId="PersonalTitleConverter" />
132 value="#{dataController.personalTitles}"
134 itemValue="#{personalTitle}"
135 itemLabel="#{msg[personalTitle.messageKey]}"
140 <h:outputText value="#{msg[user.userContact.contactPersonalTitle.messageKey]}" />
144 headerText="#{msg.ADMIN_CONTACT_FIRST_NAME}"
145 sortBy="#{user.userContact.contactFirstName}"
146 filterBy="#{user.userContact.contactFirstName}"
147 filterMatchMode="contains"
149 <h:outputText value="#{user.userContact.contactFirstName}" />
153 headerText="#{msg.ADMIN_CONTACT_FAMILY_NAME}"
154 sortBy="#{user.userContact.contactFamilyName}"
155 filterBy="#{user.userContact.contactFamilyName}"
156 filterMatchMode="contains"
158 <h:outputText value="#{user.userContact.contactFamilyName}" />
162 headerText="#{msg.ADMIN_USER_ACCOUNT_STATUS}"
163 sortBy="#{user.userAccountStatus}"
164 filterBy="#{user.userAccountStatus}"
165 filterMatchMode="exact"
167 <f:facet name="filter">
170 filterMatchMode="contains"
171 label="#{msg.LABEL_ACCOUNT_STATUS}"
172 onchange="PF('userList').filter()"
173 title="#{msg.FILTER_BY_SINGLE_ACCOUNT_STATUS_TITLE}"
175 <f:converter converterId="UserAccountStatusConverter" />
177 value="#{dataController.userAccountStatuses}"
179 itemValue="#{accountStatus}"
180 itemLabel="#{msg[accountStatus.messageKey]}"
185 <h:outputText styleClass="#{user.userAccountStatus.styleClass}" value="#{msg[user.userAccountStatus.messageKey]}" />
189 headerText="#{msg.ADMIN_USER_PROFILE_MODE}"
190 sortBy="#{user.userProfileMode}"
191 filterBy="#{user.userProfileMode}"
192 filterMatchMode="exact"
194 <f:facet name="filter">
197 filterMatchMode="contains"
198 label="#{msg.LABEL_PROFILE_MODE}"
199 onchange="PF('userList').filter()"
200 title="#{msg.FILTER_BY_SINGLE_PROFILE_MODE_TITLE}"
202 <f:converter converterId="ProfileModeConverter" />
204 value="#{dataController.profileModes}"
206 itemValue="#{profileMode}"
207 itemLabel="#{msg[profileMode.messageKey]}"
212 <h:outputText value="#{msg[user.userProfileMode.messageKey]}" />
216 headerText="#{msg.DATA_USER_LAST_LOCKED_REASON}"
217 sortBy="#{user.userLastLockedReason}"
218 filterBy="#{user.userLastLockedReason}"
219 filterMatchMode="contains"
221 <h:outputText value="#{user.userLastLockedReason}" />
225 headerText="#{msg.DATA_USER_LAST_LOCKED}"
226 sortBy="#{user.userLastLocked}"
229 <h:outputText value="#{user.userLastLocked}">
230 <f:convertDateTime type="both" timeStyle="short" dateStyle="short" />
235 headerText="#{msg.CHANGE}"
236 sortBy="#{user.userMustChangePassword}"
239 <h:outputText value="#{user.userMustChangePassword ? msg.CHOICE_YES : msg.CHOICE_NO}" />
243 headerText="#{msg.ENTRY_CREATED_HEADER}"
244 sortBy="#{user.userEntryCreated}"
247 <h:outputText value="#{user.userEntryCreated}">
248 <f:convertDateTime type="both" timeStyle="short" dateStyle="short" />
253 headerText="#{msg.ENTRY_UPDATED_HEADER}"
254 sortBy="#{user.userEntryUpdated}"
257 <h:outputText value="#{user.userEntryUpdated}">
258 <f:convertDateTime type="both" timeStyle="short" dateStyle="short" />
263 headerText="#{msg.ADMIN_ACTION_LINKS_HEADER}"
267 <links:outputUserAdminDropdownMenu user="#{user}" />
275 header="#{msg.ADMIN_SINGLE_USER_DETAILS_HEADER}"
278 widgetVar="userDialog"
283 <p:outputPanel id="user-details">
284 <p:panelGrid columns="2" rendered="#{not empty userListController.selectedUser}">
285 <f:facet name="header">
286 <h:outputFormat value="#{msg.ADMIN_USER_DETAILS_HEADER}">
287 <f:param value="#{userListController.selectedUser.userName}" />
288 <f:param value="#{userListController.selectedUser.userId}" />
292 <p:outputLabel value="#{msg.ID_HEADER}" title="#{msg.USER_ID_NUMBER_TITLE}" />
293 <h:outputText value="#{userListController.selectedUser.userId}" />
304 <f:facet name="header">
305 <h:outputText value="#{msg.ADMIN_ADD_USER_TITLE}" />
309 legend="#{msg.ADMIN_SELECT_USER_CONTACT_LEGEND}"
310 title="#{msg.ADMIN_SELECT_USER_CONTACT_LEGEND_TITLE}"
314 columnClasses="ui-grid-col-3,ui-grid-col-9"
315 styleClass="ui-noborder"
318 <p:outputLabel for="userContact" value="#{msg.ADMIN_SELECT_USER_CONTACT}" />
322 filterMatchMode="contains"
323 value="#{adminUserController.contact}"
324 title="#{msg.FILTER_BY_SINGLE_CONTACT_TITLE}"
326 <f:converter converterId="ContactConverter" />
329 value="#{contactListController.allContacts}"
331 itemValue="#{contact}"
332 itemLabel="#{beanHelper.renderContact(contact)}"
338 <h:panelGroup layout="block">
339 <h:outputText value="#{msg.ADMIN_ADD_OR_ENTER_CONTACT_DATA}" />
342 <!-- ... or enter it directly together it creating user account //-->
343 <h:panelGroup layout="block">
344 <core:outputAdminUserDataFormFields mode="add" />
346 <h:panelGroup styleClass="para notice">
347 <h:outputText value="#{msg.ADMIN_USER_PERSONAL_DATA_MINIMUM_NOTICE}" />
350 <ui:include src="/WEB-INF/templates/admin/contact/admin_form_contact_data.tpl" />
353 <f:facet name="footer">
354 <p:panelGrid columns="2" layout="grid">
357 value="#{msg.BUTTON_RESET_FORM}"
362 value="#{msg.BUTTON_ADMIN_ADD_USER}"
363 action="#{adminUserController.addUser()}"
364 update="form-list-users:userList"