]> git.mxchange.org Git - addressbook-war.git/blob - web/WEB-INF/templates/contact/form_contact_data.tpl
Closed internal TODO: (please cherry-pick this)
[addressbook-war.git] / web / WEB-INF / templates / contact / form_contact_data.tpl
1 <?xml version="1.0" encoding="UTF-8" ?>
2 <ui:composition
3         xmlns="http://www.w3.org/1999/xhtml"
4         xmlns:f="http://java.sun.com/jsf/core"
5         xmlns:h="http://java.sun.com/jsf/html"
6         xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
7         xmlns:p="http://primefaces.org/ui">
8
9         <div class="para notice">
10                 #{msg.PERSONAL_DATA_MINIMUM_NOTICE}
11         </div>
12
13         <div class="para">
14                 <fieldset id="personal_data">
15                         <legend title="#{msg.PERSONAL_DATA_LEGEND_TITLE}">
16                                 <h:outputText value="#{msg.PERSONAL_DATA_LEGEND}" />
17                         </legend>
18
19                         <div class="table_row">
20                                 <div class="table_left">
21                                         <h:outputLabel for="gender" value="#{msg.PERSONAL_DATA_GENDER}" />
22                                 </div>
23
24                                 <div class="table_right">
25                                         <ui:include src="/WEB-INF/templates/generic/gender_selection_box.tpl">
26                                                 <ui:param  name="targetController" value="#{contactController}" />
27                                         </ui:include>
28                                 </div>
29
30                                 <div class="clear"></div>
31                         </div>
32
33                         <div class="error_container">
34                                 <h:message for="gender" errorClass="errors" fatalClass="errors" warnClass="errors" />
35                         </div>
36
37                         <div class="table_row">
38                                 <div class="table_left">
39                                         <h:outputLabel for="firstName" value="#{msg.PERSONAL_DATA_FIRST_NAME}" />
40                                 </div>
41
42                                 <div class="table_right">
43                                         <h:inputText styleClass="input" id="firstName" size="10" maxlength="255" value="#{contactController.firstName}" required="true" requiredMessage="#{msg.GUEST_CONTACT_DATA_FIRST_NAME_REQUIRED}">
44                                                 <f:validator validatorId="NameValidator" />
45                                         </h:inputText>
46                                 </div>
47
48                                 <div class="clear"></div>
49                         </div>
50
51                         <div class="error_container">
52                                 <h:message for="firstName" errorClass="errors" fatalClass="errors" warnClass="errors" />
53                         </div>
54
55                         <div class="table_row">
56                                 <div class="table_left">
57                                         <h:outputLabel for="familyName" value="#{msg.PERSONAL_DATA_FAMILY_NAME}" />
58                                 </div>
59
60                                 <div class="table_right">
61                                         <h:inputText styleClass="input" id="familyName" size="10" maxlength="255" value="#{contactController.familyName}" required="true" requiredMessage="#{msg.GUEST_CONTACT_DATA_FAMILY_NAME_REQUIRED}">
62                                                 <f:validator for="familyName" validatorId="NameValidator" />
63                                         </h:inputText>
64                                 </div>
65
66                                 <div class="clear"></div>
67                         </div>
68
69                         <div class="error_container">
70                                 <h:message for="familyName" errorClass="errors" fatalClass="errors" warnClass="errors" />
71                         </div>
72
73                         <div class="table_row">
74                                 <div class="table_left">
75                                         <h:outputLabel for="street" value="#{msg.PERSONAL_DATA_STREET}" />
76                                 </div>
77
78                                 <div class="table_right">
79                                         <h:inputText styleClass="input" id="street" size="20" maxlength="255" value="#{contactController.street}" required="true" requiredMessage="#{msg.GUEST_CONTACT_DATA_STREET_REQUIRED}">
80                                                 <f:validator validatorId="NameValidator" />
81                                         </h:inputText>
82                                 </div>
83
84                                 <div class="clear"></div>
85                         </div>
86
87                         <div class="error_container">
88                                 <h:message for="street" errorClass="errors" fatalClass="errors" warnClass="errors" />
89                         </div>
90
91                         <div class="table_row">
92                                 <div class="table_left">
93                                         <h:outputLabel for="houseNumber" value="#{msg.PERSONAL_DATA_HOUSE_NUMBER}" />
94                                 </div>
95
96                                 <div class="table_right">
97                                         <h:inputText styleClass="input" id="houseNumber" size="3" maxlength="5" value="#{contactController.houseNumber}" required="true" requiredMessage="#{msg.GUEST_CONTACT_DATA_HOUSE_NUMBER_REQUIRED}" validatorMessage="#{msg.ENTERED_HOUSE_NUMBER_INVALID}">
98                                                 <f:validateLongRange for="houseNumber" minimum="1" maximum="500" />
99                                         </h:inputText>
100                                 </div>
101
102                                 <div class="clear"></div>
103                         </div>
104
105                         <div class="error_container">
106                                 <h:message for="houseNumber" errorClass="errors" fatalClass="errors" warnClass="errors" />
107                         </div>
108
109                         <div class="table_row">
110                                 <div class="table_left">
111                                         <h:outputLabel for="houseNumberExtension" value="#{msg.PERSONAL_DATA_HOUSE_NUMBER_EXTENSION}" />
112                                 </div>
113
114                                 <div class="table_right">
115                                         <h:inputText styleClass="input" id="houseNumber" size="2" maxlength="2" value="#{contactController.houseNumberExtension}" />
116                                 </div>
117
118                                 <div class="clear"></div>
119                         </div>
120
121                         <div class="error_container">
122                                 <h:message for="houseNumberExtension" errorClass="errors" fatalClass="errors" warnClass="errors" />
123                         </div>
124
125                         <div class="table_row">
126                                 <div class="table_left">
127                                         <h:outputLabel for="houseNumberExtension" value="#{msg.PERSONAL_DATA_HOUSE_NUMBER_EXTENSION}" />
128                                 </div>
129
130                                 <div class="table_right">
131                                         <h:inputText styleClass="input" id="houseNumber" size="2" maxlength="2" value="#{contactController.houseNumberExtension}" />
132                                 </div>
133
134                                 <div class="clear"></div>
135                         </div>
136
137                         <h:message for="houseNumberExtension" errorClass="errors" fatalClass="errors" warnClass="errors" />
138
139                         <div class="table_row">
140                                 <div class="table_left">
141                                         <h:outputLabel for="zipCode" value="#{msg.PERSONAL_DATA_ZIP_CODE}" />
142                                 </div>
143
144                                 <div class="table_right">
145                                         <h:inputText styleClass="input" id="zipCode" size="5" maxlength="6" value="#{contactController.zipCode}" required="true" requiredMessage="#{msg.GUEST_CONTACT_DATA_ZIP_CODE_REQUIRED}" validatorMessage="#{msg.ENTERED_ZIP_CODE_INVALID}">
146                                                 <f:validateLongRange minimum="1" maximum="99999" />
147                                         </h:inputText>
148                                 </div>
149
150                                 <div class="clear"></div>
151                         </div>
152
153                         <div class="error_container">
154                                 <h:message for="zipCode" errorClass="errors" fatalClass="errors" warnClass="errors" />
155                         </div>
156
157                         <div class="table_row">
158                                 <div class="table_left">
159                                         <h:outputLabel for="city" value="#{msg.PERSONAL_DATA_CITY}" />
160                                 </div>
161
162                                 <div class="table_right">
163                                         <h:inputText styleClass="input" id="city" size="10" maxlength="255" value="#{contactController.city}" required="true" requiredMessage="#{msg.GUEST_CONTACT_DATA_CITY_REQUIRED}">
164                                                 <f:validator validatorId="NameValidator" />
165                                         </h:inputText>
166                                 </div>
167
168                                 <div class="clear"></div>
169                         </div>
170
171                         <div class="error_container">
172                                 <h:message for="city" errorClass="errors" fatalClass="errors" warnClass="errors" />
173                         </div>
174
175                         <div class="table_row">
176                                 <div class="table_left">
177                                         <h:outputLabel for="birthday" value="#{msg.PERSONAL_DATA_BIRTHDAY}" />
178                                 </div>
179
180                                 <div class="table_right">
181                                         <h:inputText styleClass="input" id="birthday" value="#{contactController.birthday}" required="true" size="10" requiredMessage="#{msg.GUEST_CONTACT_DATA_BIRTHDAY_REQUIRED}" converterMessage="#{msg.INVALID_BIRTHDAY}">
182                                                 <f:convertDateTime pattern="#{msg.BIRTHDAY_PATTERN}" />
183                                         </h:inputText>
184                                 </div>
185
186                                 <div class="clear"></div>
187                         </div>
188
189                         <div class="error_container">
190                                 <h:message for="birthday" errorClass="errors" fatalClass="errors" warnClass="errors" />
191                         </div>
192
193                         <div class="table_row">
194                                 <div class="table_left">
195                                         <h:outputLabel for="country" value="#{msg.PERSONAL_DATA_COUNTRY_CODE}" />
196                                 </div>
197
198                                 <div class="table_right">
199                                         <h:selectOneMenu styleClass="select" id="country" value="#{contactController.country}" converter="CountryConverter">
200                                                 <f:selectItem itemValue="" itemLabel="#{msg.NONE_SELECTED}" />
201                                                 <f:selectItems value="#{countryController.allCountries()}" var="c" itemValue="#{c}" itemLabel="#{c.countryCode} (#{msg[c.countryI18nkey]})" />
202                                         </h:selectOneMenu>
203                                 </div>
204
205                                 <div class="clear"></div>
206                         </div>
207
208                         <div class="error_container">
209                                 <h:message for="country" errorClass="errors" fatalClass="errors" warnClass="errors" />
210                         </div>
211
212                         <div class="table_row">
213                                 <div class="table_left">
214                                         <h:outputLabel value="#{msg.PERSONAL_DATA_PHONE_NUMBER}" />
215                                 </div>
216
217                                 <div class="table_right">
218                                         <h:selectOneMenu styleClass="select" id="countryPhoneCode" value="#{contactController.phoneCountry}" converter="CountryConverter">
219                                                 <f:selectItem itemValue="" itemLabel="#{msg.NONE_SELECTED}" />
220                                                 <f:selectItems value="#{countryController.allCountries()}" var="c" itemValue="#{c}" itemLabel="#{c.countryAbroadDialPrefix}#{c.countryPhoneCode}" />
221                                         </h:selectOneMenu>
222
223                                         <h:inputText styleClass="input" id="phoneAreaCode" size="5" maxlength="10" value="#{contactController.phoneAreaCode}">
224                                                 <f:validator validatorId="PhoneNumberValidator" />
225                                         </h:inputText>
226
227                                         <h:inputText styleClass="input" id="phoneNumber" size="10" maxlength="20" value="#{contactController.phoneNumber}">
228                                                 <f:validator validatorId="PhoneNumberValidator" />
229                                         </h:inputText>
230                                 </div>
231
232                                 <div class="clear"></div>
233                         </div>
234
235                         <div class="table_row">
236                                 <div class="table_left">
237                                         <h:outputLabel for="faxNumber" value="#{msg.PERSONAL_DATA_FAX_NUMBER}" />
238                                 </div>
239
240                                 <div class="table_right">
241                                         <h:selectOneMenu styleClass="select" id="faxCountryCode" value="#{contactController.faxCountry}" converter="CountryConverter">
242                                                 <f:selectItem itemValue="" itemLabel="#{msg.NONE_SELECTED}" />
243                                                 <f:selectItems value="#{countryController.allCountries()}" var="c" itemValue="#{c}" itemLabel="#{c.countryAbroadDialPrefix}#{c.countryPhoneCode}" />
244                                         </h:selectOneMenu>
245
246                                         <h:inputText styleClass="input" id="faxAreaCode" size="5" maxlength="10" value="#{contactController.faxAreaCode}">
247                                                 <f:validator for="faxAreaCode" validatorId="PhoneNumberValidator" />
248                                         </h:inputText>
249
250                                         <h:inputText styleClass="input" id="faxNumber" size="10" maxlength="20" value="#{contactController.faxNumber}">
251                                                 <f:validator for="faxNumber" validatorId="PhoneNumberValidator" />
252                                         </h:inputText>
253                                 </div>
254
255                                 <div class="clear"></div>
256                         </div>
257
258                         <div class="table_row">
259                                 <div class="table_left">
260                                         <h:outputLabel for="cellphoneNumber" value="#{msg.PERSONAL_DATA_CELLPHONE_NUMBER}" />
261                                 </div>
262
263                                 <div class="table_right">
264                                         <ui:include src="/WEB-INF/templates/generic/mobile_selection_box.tpl">
265                                                 <ui:param name="targetController" value="#{contactController}" />
266                                         </ui:include>
267                                 </div>
268
269                                 <div class="clear"></div>
270                         </div>
271                 </fieldset>
272         </div>
273
274         <ui:fragment rendered="#{userController.isPublicUserProfileEnabled()}">
275                 <div class="para">
276                         <fieldset id="user_profile">
277                                 <legend title="#{msg.USER_PROFILE_LEGEND_TITLE}">
278                                         <h:outputText value="#{msg.USER_PROFILE_LEGEND}" />
279                                 </legend>
280
281                                 <div class="table_row">
282                                         <div class="table_left">
283                                                 <h:outputLabel for="profileMode" value="#{msg.USER_PROFILE_MODE}" />
284                                         </div>
285
286                                         <div class="table_right">
287                                                 <ui:include src="/WEB-INF/templates/generic/profile_mode_selection_box.tpl" />
288                                         </div>
289
290                                         <div class="clear"></div>
291                                 </div>
292
293                                 <div class="table_row">
294                                         <div class="para notice">
295                                                 <ul>
296                                                         <li><h:outputText value="#{msg.SELECTION_NOTICE_USER_PROFILE_MODE_INVISIBLE}" /></li>
297                                                         <li><h:outputText value="#{msg.SELECTION_NOTICE_USER_PROFILE_MODE_MEMBERS}" /></li>
298                                                         <li><h:outputText value="#{msg.SELECTION_NOTICE_USER_PROFILE_MODE_PUBLIC}" /></li>
299                                                 </ul>
300                                         </div>
301                                 </div>
302                         </fieldset>
303                 </div>
304         </ui:fragment>
305 </ui:composition>