]> git.mxchange.org Git - addressbook-war.git/blob - web/admin/user/admin_user_list.xhtml
WIP - Please cherry-pick:
[addressbook-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:widgets="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="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                 <widgets:outputMessageBox message="#{msg.ADMIN_USER_LIST_EMPTY}" messageStyleClass="alert-danger" rendered="#{userController.allUsers().isEmpty()}" />
21
22                 <p:dataTable id="table_list_users" var="user" value="#{userController.allUsers()}" tableStyleClass="table table-full" paginator="true" rows="10" summary="#{msg.TABLE_SUMMARY_ADMIN_LIST_USERS}" rendered="#{not userController.allUsers().isEmpty()}">
23                         <p:column>
24                                 <f:facet name="header">
25                                         <h:outputText value="#{msg.ADMIN_USER_ID}" />
26                                 </f:facet>
27
28                                 <p:link outcome="admin_show_user" title="#{msg.ADMIN_LINK_SHOW_USER_TITLE}" value="#{user.userId}">
29                                         <f:param name="userId" value="#{user.userId}" />
30                                 </p:link>
31                         </p:column>
32
33                         <ui:fragment rendered="#{featureController.isFeatureEnabled('user_login_require_user_name')}">
34                                 <p:column>
35                                         <f:facet name="header">
36                                                 <h:outputText value="#{msg.ADMIN_LIST_USER_NAME}" />
37                                         </f:facet>
38
39                                         <h:outputText value="#{user.userName}" />
40                                 </p:column>
41                         </ui:fragment>
42
43                         <p:column>
44                                 <f:facet name="header">
45                                         <h:outputText value="#{msg.ADMIN_CONTACT_PERSONAL_TITLE}" />
46                                 </f:facet>
47
48                                 <h:outputText value="#{msg[user.userContact.contactPersonalTitle.messageKey]}" />
49                         </p:column>
50
51                         <p:column>
52                                 <f:facet name="header">
53                                         <h:outputText value="#{msg.ADMIN_CONTACT_FIRST_NAME}" />
54                                 </f:facet>
55
56                                 <h:outputText value="#{user.userContact.contactFirstName}" />
57                         </p:column>
58
59                         <p:column>
60                                 <f:facet name="header">
61                                         <h:outputText value="#{msg.ADMIN_CONTACT_FAMILY_NAME}" />
62                                 </f:facet>
63
64                                 <h:outputText value="#{user.userContact.contactFamilyName}" />
65                         </p:column>
66
67                         <p:column>
68                                 <f:facet name="header">
69                                         <h:outputText value="#{msg.ADMIN_USER_ACCOUNT_STATUS}" />
70                                 </f:facet>
71
72                                 <h:outputText styleClass="#{user.userAccountStatus.styleClass}" value="#{msg[user.userAccountStatus.messageKey]}" />
73                         </p:column>
74
75                         <p:column>
76                                 <f:facet name="header">
77                                         <h:outputText value="#{msg.ADMIN_USER_PROFILE_MODE}" />
78                                 </f:facet>
79
80                                 <h:outputText value="#{msg[user.userProfileMode.messageKey]}" />
81                         </p:column>
82
83                         <p:column>
84                                 <f:facet name="header">
85                                         <h:outputText value="#{msg.ADMIN_LIST_ENTRY_CREATED}" />
86                                 </f:facet>
87
88                                 <h:outputText id="userCreated" value="#{user.userCreated.time}">
89                                         <f:convertDateTime for="userCreated" type="both" timeStyle="short" dateStyle="short" />
90                                 </h:outputText>
91                         </p:column>
92
93                         <p:column>
94                                 <f:facet name="header">
95                                         <h:outputText value="#{msg.ADMIN_ACTION_LINKS}" />
96                                 </f:facet>
97
98                                 <links:outputUserAdminMiniLinks user="#{user}" />
99                         </p:column>
100                 </p:dataTable>
101
102                 <h:panelGroup styleClass="table table-medium" layout="block">
103                         <h:form id="form_admin_add_user">
104                                 <div class="table-header">
105                                         <h:outputText value="#{msg.ADMIN_ADD_USER_TITLE}" />
106                                 </div>
107
108                                 <!-- Whether select contact data .. //-->
109                                 <h:panelGroup id="admin_user_personal_data_option_1" styleClass="para" layout="block">
110                                         <fieldset class="fieldset" id="user_contact">
111                                                 <legend title="#{msg.ADMIN_SELECT_USER_CONTACT_LEGEND_TITLE}">
112                                                         <h:outputText value="#{msg.ADMIN_SELECT_USER_CONTACT_LEGEND}" />
113                                                 </legend>
114
115                                                 <h:panelGroup styleClass="table-row" layout="block">
116                                                         <div class="table-left-medium">
117                                                                 <p:outputLabel for="userContact" value="#{msg.ADMIN_SELECT_USER_CONTACT}" />
118                                                         </div>
119
120                                                         <div class="table-right-medium">
121                                                                 <p:selectOneMenu id="userContact" value="#{adminUserController.contact}" converter="ContactConverter">
122                                                                         <f:selectItem itemValue="#{null}" itemLabel="#{msg.NONE_SELECTED}" />
123                                                                         <f:selectItems value="#{contactController.selectableContacts()}" var="contact" itemValue="#{contact}" itemLabel="#{contact.contactId}: #{msg[contact.contactPersonalTitle.messageKey]} #{contact.contactFirstName} #{contact.contactFamilyName}" />
124                                                                 </p:selectOneMenu>
125                                                         </div>
126                                                 </h:panelGroup>
127                                         </fieldset>
128                                 </h:panelGroup>
129
130                                 <h:panelGroup styleClass="para" layout="block">
131                                         <h:outputText value="#{msg.ADMIN_ADD_OR_ENTER_CONTACT_DATA}" />
132                                 </h:panelGroup>
133
134                                 <!-- ... or enter it directly together it creating user account //-->
135                                 <h:panelGroup id="admin_user_personal_data_option_2" layout="block">
136                                         <ui:include src="/WEB-INF/templates/admin/user/admin_form_user_personal_data.tpl" />
137                                 </h:panelGroup>
138
139                                 <div class="table-footer">
140                                         <p:commandButton styleClass="reset divider-right" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
141                                         <p:commandButton styleClass="submit" type="submit" id="button_add_user" value="#{msg.BUTTON_ADMIN_ADD_USER}" action="#{adminUserController.addUser()}" />
142                                 </div>
143                         </h:form>
144                 </h:panelGroup>
145         </ui:define>
146 </ui:composition>