]> 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="houseNumberExtension" value="#{msg.PERSONAL_DATA_HOUSE_NUMBER_EXTENSION}" />
142                                 </div>
143
144                                 <div class="table_right">
145                                         <h:inputText styleClass="input" id="houseNumber" size="2" maxlength="2" value="#{contactController.houseNumberExtension}" />
146                                 </div>
147
148                                 <div class="clear"></div>
149                         </div>
150
151                         <h:message for="houseNumberExtension" errorClass="errors" fatalClass="errors" warnClass="errors" />
152
153                         <div class="table_row">
154                                 <div class="table_left">
155                                         <h:outputLabel for="zipCode" value="#{msg.PERSONAL_DATA_ZIP_CODE}" />
156                                 </div>
157
158                                 <div class="table_right">
159                                         <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}">
160                                                 <f:validateLongRange minimum="1" maximum="99999" />
161                                         </h:inputText>
162                                 </div>
163
164                                 <div class="clear"></div>
165                         </div>
166
167                         <div class="error_container">
168                                 <h:message for="zipCode" errorClass="errors" fatalClass="errors" warnClass="errors" />
169                         </div>
170
171                         <div class="table_row">
172                                 <div class="table_left">
173                                         <h:outputLabel for="city" value="#{msg.PERSONAL_DATA_CITY}" />
174                                 </div>
175
176                                 <div class="table_right">
177                                         <h:inputText styleClass="input" id="city" size="10" maxlength="255" value="#{contactController.city}" required="true" requiredMessage="#{msg.GUEST_CONTACT_DATA_CITY_REQUIRED}">
178                                                 <f:validator validatorId="NameValidator" />
179                                         </h:inputText>
180                                 </div>
181
182                                 <div class="clear"></div>
183                         </div>
184
185                         <div class="error_container">
186                                 <h:message for="city" errorClass="errors" fatalClass="errors" warnClass="errors" />
187                         </div>
188
189                         <div class="table_row">
190                                 <div class="table_left">
191                                         <h:outputLabel for="birthday" value="#{msg.PERSONAL_DATA_BIRTHDAY}" />
192                                 </div>
193
194                                 <div class="table_right">
195                                         <h:inputText styleClass="input" id="birthday" value="#{contactController.birthday}" required="true" size="10" requiredMessage="#{msg.GUEST_CONTACT_DATA_BIRTHDAY_REQUIRED}" converterMessage="#{msg.INVALID_BIRTHDAY}">
196                                                 <f:convertDateTime pattern="#{msg.BIRTHDAY_PATTERN}" />
197                                         </h:inputText>
198                                 </div>
199
200                                 <div class="clear"></div>
201                         </div>
202
203                         <div class="error_container">
204                                 <h:message for="birthday" errorClass="errors" fatalClass="errors" warnClass="errors" />
205                         </div>
206
207                         <div class="table_row">
208                                 <div class="table_left">
209                                         <h:outputLabel for="country" value="#{msg.PERSONAL_DATA_COUNTRY_CODE}" />
210                                 </div>
211
212                                 <div class="table_right">
213                                         <h:selectOneMenu styleClass="select" id="country" value="#{contactController.country}" converter="CountryConverter">
214                                                 <f:selectItem itemValue="" itemLabel="#{msg.NONE_SELECTED}" />
215                                                 <f:selectItems value="#{countryController.allCountries()}" var="c" itemValue="#{c}" itemLabel="#{c.countryCode} (#{msg[c.countryI18nkey]})" />
216                                         </h:selectOneMenu>
217                                 </div>
218
219                                 <div class="clear"></div>
220                         </div>
221
222                         <div class="error_container">
223                                 <h:message for="country" errorClass="errors" fatalClass="errors" warnClass="errors" />
224                         </div>
225
226                         <div class="table_row">
227                                 <div class="table_left">
228                                         <h:outputLabel value="#{msg.PERSONAL_DATA_PHONE_NUMBER}" />
229                                 </div>
230
231                                 <div class="table_right">
232                                         <h:selectOneMenu styleClass="select" id="countryPhoneCode" value="#{contactController.phoneCountry}" converter="CountryConverter">
233                                                 <f:selectItem itemValue="" itemLabel="#{msg.NONE_SELECTED}" />
234                                                 <f:selectItems value="#{countryController.allCountries()}" var="c" itemValue="#{c}" itemLabel="#{c.countryAbroadDialPrefix}#{c.countryPhoneCode}" />
235                                         </h:selectOneMenu>
236
237                                         <h:inputText styleClass="input" id="phoneAreaCode" size="5" maxlength="10" value="#{contactController.phoneAreaCode}">
238                                                 <f:validator validatorId="PhoneNumberValidator" />
239                                         </h:inputText>
240
241                                         <h:inputText styleClass="input" id="phoneNumber" size="10" maxlength="20" value="#{contactController.phoneNumber}">
242                                                 <f:validator validatorId="PhoneNumberValidator" />
243                                         </h:inputText>
244                                 </div>
245
246                                 <div class="clear"></div>
247                         </div>
248
249                         <div class="table_row">
250                                 <div class="table_left">
251                                         <h:outputLabel for="faxNumber" value="#{msg.PERSONAL_DATA_FAX_NUMBER}" />
252                                 </div>
253
254                                 <div class="table_right">
255                                         <h:selectOneMenu styleClass="select" id="faxCountryCode" value="#{contactController.faxCountry}" converter="CountryConverter">
256                                                 <f:selectItem itemValue="" itemLabel="#{msg.NONE_SELECTED}" />
257                                                 <f:selectItems value="#{countryController.allCountries()}" var="c" itemValue="#{c}" itemLabel="#{c.countryAbroadDialPrefix}#{c.countryPhoneCode}" />
258                                         </h:selectOneMenu>
259
260                                         <h:inputText styleClass="input" id="faxAreaCode" size="5" maxlength="10" value="#{contactController.faxAreaCode}">
261                                                 <f:validator for="faxAreaCode" validatorId="PhoneNumberValidator" />
262                                         </h:inputText>
263
264                                         <h:inputText styleClass="input" id="faxNumber" size="10" maxlength="20" value="#{contactController.faxNumber}">
265                                                 <f:validator for="faxNumber" validatorId="PhoneNumberValidator" />
266                                         </h:inputText>
267                                 </div>
268
269                                 <div class="clear"></div>
270                         </div>
271
272                         <div class="table_row">
273                                 <div class="table_left">
274                                         <h:outputLabel for="cellphoneNumber" value="#{msg.PERSONAL_DATA_CELLPHONE_NUMBER}" />
275                                 </div>
276
277                                 <div class="table_right">
278                                         <ui:include src="/WEB-INF/templates/generic/mobile_selection_box.tpl">
279                                                 <ui:param name="targetController" value="#{contactController}" />
280                                         </ui:include>
281                                 </div>
282
283                                 <div class="clear"></div>
284                         </div>
285                 </fieldset>
286         </div>
287
288         <ui:fragment rendered="#{userController.isPublicUserProfileEnabled()}">
289                 <div class="para">
290                         <fieldset id="user_profile">
291                                 <legend title="#{msg.USER_PROFILE_LEGEND_TITLE}">
292                                         <h:outputText value="#{msg.USER_PROFILE_LEGEND}" />
293                                 </legend>
294
295                                 <div class="table_row">
296                                         <div class="table_left">
297                                                 <h:outputLabel for="profileMode" value="#{msg.USER_PROFILE_MODE}" />
298                                         </div>
299
300                                         <div class="table_right">
301                                                 <ui:include src="/WEB-INF/templates/generic/profile_mode_selection_box.tpl" />
302                                         </div>
303
304                                         <div class="clear"></div>
305                                 </div>
306
307                                 <div class="table_row">
308                                         <div class="para notice">
309                                                 <ul>
310                                                         <li><h:outputText value="#{msg.SELECTION_NOTICE_USER_PROFILE_MODE_INVISIBLE}" /></li>
311                                                         <li><h:outputText value="#{msg.SELECTION_NOTICE_USER_PROFILE_MODE_MEMBERS}" /></li>
312                                                         <li><h:outputText value="#{msg.SELECTION_NOTICE_USER_PROFILE_MODE_PUBLIC}" /></li>
313                                                 </ul>
314                                         </div>
315                                 </div>
316                         </fieldset>
317                 </div>
318         </ui:fragment>
319 </ui:composition>