]> git.mxchange.org Git - jjobs-war.git/blob - web/admin/user/admin_user_list.xhtml
Please cherry-pick:
[jjobs-war.git] / web / admin / user / admin_user_list.xhtml
1 <?xml version="1.0" encoding="UTF-8" ?>
2 <ui:composition template="/WEB-INF/templates/admin/admin_base.tpl"
3                                 xmlns="http://www.w3.org/1999/xhtml"
4                                 xmlns:core="http://mxchange.org/jsf/core/widgets"
5                                 xmlns:links="http://mxchange.org/jsf/core/links"
6                                 xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
7                                 xmlns:h="http://xmlns.jcp.org/jsf/html"
8                                 xmlns:f="http://xmlns.jcp.org/jsf/core"
9                                 xmlns:p="http://primefaces.org/ui">
10
11         <ui:define name="document_admin_title">
12                 <h:outputText value="#{msg.PAGE_TITLE_ADMIN_LIST_USER}" />
13         </ui:define>
14
15         <ui:define name="content_header">
16                 <h:outputText value="#{msg.CONTENT_TITLE_ADMIN_LIST_USER}" />
17         </ui:define>
18
19         <ui:define name="content">
20                 <h:form id="form-list-users">
21                         <p:dataTable
22                                 id="table-list-users"
23                                 var="user"
24                                 value="#{userController.allUsers()}"
25                                 tableStyleClass="table table-full"
26                                 paginator="true"
27                                 paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
28                                 filteredValue="#{userController.filteredUsers}"
29                                 rows="10"
30                                 reflow="true"
31                                 resizableColumns="true"
32                                 rowsPerPageTemplate="5,10,20,50,100"
33                                 sortMode="multiple"
34                                 summary="#{msg.TABLE_SUMMARY_ADMIN_LIST_USERS}"
35                                 emptyMessage="#{msg.ADMIN_EMPTY_LIST_USER}"
36                                 widgetVar="userList"
37                                 >
38
39                                 <f:facet name="header">
40                                         <p:panelGrid columns="2" columnClasses="ui-grid-col-10,ui-grid-col-2" layout="grid" styleClass="ui-noborder ui-transparent-widget">
41                                                 <h:outputText value="#{msg.ADMIN_LIST_USERS_HEADER}" />
42
43                                                 <p:commandButton id="toggler" type="button" value="#{msg.SELECT_SHOWN_COLUMNS}" styleClass="column-selector" />
44                                                 <p:columnToggler datasource="table-list-users" trigger="toggler" />
45                                         </p:panelGrid>
46                                 </f:facet>
47
48                                 <p:column headerText="#{msg.ADMIN_USER_ID}" sortBy="#{user.userId}" filterBy="#{user.userId}" filterMatchMode="contains">
49                                         <p:link outcome="admin_show_user" title="#{msg.ADMIN_LINK_SHOW_USER_TITLE}" value="#{user.userId}">
50                                                 <f:param name="userId" value="#{user.userId}" />
51                                         </p:link>
52                                 </p:column>
53
54                                 <p:column headerText="#{msg.ADMIN_LIST_USER_NAME}" sortBy="#{user.userName}" filterBy="#{user.userName}" filterMatchMode="contains" rendered="#{featureController.isFeatureEnabled('user_login_require_user_name')}">
55                                         <h:outputText value="#{user.userName}" />
56                                 </p:column>
57
58                                 <p:column headerText="#{msg.ADMIN_CONTACT_PERSONAL_TITLE}" sortBy="#{user.userContact.contactPersonalTitle}" filterBy="#{user.userContact.contactPersonalTitle}" filterMatchMode="exact">
59                                         <f:facet name="filter">
60                                                 <p:selectOneMenu
61                                                         filter="true"
62                                                         filterMatchMode="contains"
63                                                         label="#{msg.LABEL_PERSONAL_TITLES}"
64                                                         onchange="PF('userList').filter()"
65                                                         title="#{msg.FILTER_BY_SINGLE_PERSONAL_TITLE}"
66                                                         >
67                                                         <f:converter converterId="PersonalTitleConverter" />
68                                                         <f:selectItem itemValue="#{null}" itemLabel="#{msg.NONE_SELECTED}" />
69                                                         <f:selectItems
70                                                                 value="#{dataController.personalTitles}"
71                                                                 var="personalTitle"
72                                                                 itemValue="#{personalTitle}"
73                                                                 itemLabel="#{msg[personalTitle.messageKey]}"
74                                                                 />
75                                                 </p:selectOneMenu>
76                                         </f:facet>
77
78                                         <h:outputText value="#{msg[user.userContact.contactPersonalTitle.messageKey]}" />
79                                 </p:column>
80
81                                 <p:column headerText="#{msg.ADMIN_CONTACT_FIRST_NAME}" sortBy="#{user.userContact.contactFirstName}" filterBy="#{user.userContact.contactFirstName}" filterMatchMode="contains">
82                                         <h:outputText value="#{user.userContact.contactFirstName}" />
83                                 </p:column>
84
85                                 <p:column headerText="#{msg.ADMIN_CONTACT_FAMILY_NAME}" sortBy="#{user.userContact.contactFamilyName}" filterBy="#{user.userContact.contactFamilyName}" filterMatchMode="contains">
86                                         <h:outputText value="#{user.userContact.contactFamilyName}" />
87                                 </p:column>
88
89                                 <p:column headerText="#{msg.ADMIN_USER_ACCOUNT_STATUS}" sortBy="#{user.userAccountStatus}" filterBy="#{user.userAccountStatus}" filterMatchMode="exact">
90                                         <f:facet name="filter">
91                                                 <p:selectOneMenu
92                                                         filter="true"
93                                                         filterMatchMode="contains"
94                                                         label="#{msg.LABEL_ACCOUNT_STATUS}"
95                                                         onchange="PF('userList').filter()"
96                                                         title="#{msg.FILTER_BY_SINGLE_ACCOUNT_STATUS_TITLE}"
97                                                         >
98                                                         <f:converter converterId="UserAccountStatusConverter" />
99                                                         <f:selectItem itemValue="#{null}" itemLabel="#{msg.NONE_SELECTED}" />
100                                                         <f:selectItems
101                                                                 value="#{dataController.userAccountStatuses}"
102                                                                 var="accountStatus"
103                                                                 itemValue="#{accountStatus}"
104                                                                 itemLabel="#{msg[accountStatus.messageKey]}"
105                                                                 />
106                                                 </p:selectOneMenu>
107                                         </f:facet>
108
109                                         <h:outputText styleClass="#{user.userAccountStatus.styleClass}" value="#{msg[user.userAccountStatus.messageKey]}" />
110                                 </p:column>
111
112                                 <p:column headerText="#{msg.ADMIN_USER_PROFILE_MODE}" sortBy="#{user.userProfileMode}" filterBy="#{user.userProfileMode}" filterMatchMode="exact">
113                                         <f:facet name="filter">
114                                                 <p:selectOneMenu
115                                                         filter="true"
116                                                         filterMatchMode="contains"
117                                                         label="#{msg.LABEL_PROFILE_MODE}"
118                                                         onchange="PF('userList').filter()"
119                                                         title="#{msg.FILTER_BY_SINGLE_PROFILE_MODE_TITLE}"
120                                                         >
121                                                         <f:converter converterId="ProfileModeConverter" />
122                                                         <f:selectItem itemValue="#{null}" itemLabel="#{msg.NONE_SELECTED}" />
123                                                         <f:selectItems
124                                                                 value="#{dataController.profileModes}"
125                                                                 var="profileMode"
126                                                                 itemValue="#{profileMode}"
127                                                                 itemLabel="#{msg[profileMode.messageKey]}"
128                                                                 />
129                                                 </p:selectOneMenu>
130                                         </f:facet>
131
132                                         <h:outputText value="#{msg[user.userProfileMode.messageKey]}" />
133                                 </p:column>
134
135                                 <p:column headerText="#{msg.ADMIN_HEADER_ENTRY_CREATED}" sortBy="#{user.userCreated}" filterable="false">
136                                         <h:outputText id="userCreated" value="#{user.userCreated.time}">
137                                                 <f:convertDateTime for="userCreated" type="both" timeStyle="short" dateStyle="short" />
138                                         </h:outputText>
139                                 </p:column>
140
141                                 <p:column headerText="#{msg.ADMIN_HEADER_ACTION_LINKS}" sortable="false" filterable="false">
142                                         <links:outputUserAdminMiniLinks user="#{user}" />
143                                 </p:column>
144                         </p:dataTable>
145                 </h:form>
146
147                 <h:form>
148                         <p:panelGrid columns="1" styleClass="table table-full" layout="grid">
149                                 <f:facet name="header">
150                                         <h:outputText value="#{msg.ADMIN_ADD_USER_TITLE}" />
151                                 </f:facet>
152
153                                 <!-- Whether select contact data .. //-->
154                                 <!--
155                                 @TODO title="#{msg.ADMIN_SELECT_USER_CONTACT_LEGEND_TITLE}"
156                                 -->
157                                 <p:fieldset legend="#{msg.ADMIN_SELECT_USER_CONTACT_LEGEND}">
158                                         <p:panelGrid columns="2" columnClasses="ui-grid-col-3,ui-grid-col-9" styleClass="table table-full ui-noborder" layout="grid">
159                                                 <p:outputLabel for="userContact" value="#{msg.ADMIN_SELECT_USER_CONTACT}" />
160                                                 <p:selectOneMenu
161                                                         id="userContact"
162                                                         value="#{adminUserController.contact}"
163                                                         filter="true"
164                                                         filterMatchMode="contains"
165                                                         >
166                                                         <f:converter converterId="ContactConverter" />
167                                                         <f:selectItem itemValue="#{null}" itemLabel="#{msg.NONE_SELECTED}" />
168                                                         <f:selectItems value="#{contactController.selectableContacts()}" var="contact" itemValue="#{contact}" itemLabel="#{contact.contactId}: #{msg[contact.contactPersonalTitle.messageKey]} #{contact.contactFirstName} #{contact.contactFamilyName}" />
169                                                 </p:selectOneMenu>
170                                         </p:panelGrid>
171                                 </p:fieldset>
172
173                                 <h:panelGroup layout="block">
174                                         <h:outputText value="#{msg.ADMIN_ADD_OR_ENTER_CONTACT_DATA}" />
175                                 </h:panelGroup>
176
177                                 <!-- ... or enter it directly together it creating user account //-->
178                                 <h:panelGroup layout="block">
179                                         <ui:include src="/WEB-INF/templates/admin/user/admin_form_user_personal_data.tpl" />
180                                 </h:panelGroup>
181
182                                 <f:facet name="footer">
183                                         <p:panelGrid columns="2" layout="grid">
184                                                 <p:commandButton styleClass="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
185
186                                                 <p:commandButton
187                                                         styleClass="submit"
188                                                         type="submit"
189                                                         id="submit_add_user"
190                                                         value="#{msg.BUTTON_ADMIN_ADD_USER}"
191                                                         action="#{adminUserController.addUser()}"
192                                                         update=":master:form-list-users:table-list-users"
193                                                         />
194                                         </p:panelGrid>
195                                 </f:facet>
196                         </p:panelGrid>
197                 </h:form>
198         </ui:define>
199 </ui:composition>