<?xml version="1.0" encoding="UTF-8" ?>
<ui:composition
xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:core="http://mxchange.org/jsf/core/widgets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
- xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
+ xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
+ xmlns:p="http://primefaces.org/ui"
+ >
- <div class="para notice">
- #{msg.PERSONAL_DATA_MINIMUM_NOTICE}
- </div>
+ <h:panelGroup styleClass="para notice" layout="block">
+ <h:outputText value="#{msg.PERSONAL_DATA_MINIMUM_NOTICE}" />
+ </h:panelGroup>
- <div class="para">
- <fieldset id="personal_data">
- <legend title="#{msg.PERSONAL_DATA_LEGEND_TITLE}">#{msg.PERSONAL_DATA_LEGEND}</legend>
+ <h:panelGroup styleClass="para" layout="block">
+ <fieldset class="fieldset">
+ <legend title="#{msg.PERSONAL_DATA_LEGEND_TITLE}">
+ <h:outputText value="#{msg.PERSONAL_DATA_LEGEND}" />
+ </legend>
- <div class="table_row">
- <div class="table_left">
- <h:outputLabel for="gender" value="#{msg.PERSONAL_DATA_GENDER}" />
+ <core:outputPersonalTitleSelectionBox targetController="#{contactController}" />
+
+ <h:panelGroup styleClass="table-row" layout="block">
+ <div class="table-left-medium">
+ <p:outputLabel for="firstName" value="#{msg.PERSONAL_DATA_FIRST_NAME}" />
</div>
- <div class="table_right">
- <ui:include src="/WEB-INF/templates/generic/gender_selection_box.tpl">
- <ui:param name="targetController" value="#{contactController}" />
- </ui:include>
+ <div class="table-right-medium">
+ <p:inputText id="firstName" size="10" maxlength="255" value="#{contactController.firstName}" required="true" requiredMessage="#{msg.GUEST_CONTACT_DATA_FIRST_NAME_REQUIRED}">
+ <f:validator validatorId="NameValidator" />
+ </p:inputText>
</div>
+ </h:panelGroup>
- <div class="clear"></div>
- </div>
+ <h:panelGroup styleClass="error-container" layout="block">
+ <p:message for="firstName" />
+ </h:panelGroup>
- <div class="table_row">
- <div class="table_left">
- <h:outputLabel for="firstName" value="#{msg.PERSONAL_DATA_FIRST_NAME}" />
+ <h:panelGroup styleClass="table-row" layout="block">
+ <div class="table-left-medium">
+ <p:outputLabel for="familyName" value="#{msg.PERSONAL_DATA_FAMILY_NAME}" />
</div>
- <div class="table_right">
- <h:inputText styleClass="input" id="firstName" size="10" maxlength="255" value="#{contactController.firstName}" required="true">
- <f:validator for="firstName" validatorId="NameValidator" />
- </h:inputText>
+ <div class="table-right-medium">
+ <p:inputText id="familyName" size="10" maxlength="255" value="#{contactController.familyName}" required="true" requiredMessage="#{msg.GUEST_CONTACT_DATA_FAMILY_NAME_REQUIRED}">
+ <f:validator for="familyName" validatorId="NameValidator" />
+ </p:inputText>
</div>
+ </h:panelGroup>
- <div class="clear"></div>
- </div>
+ <h:panelGroup styleClass="error-container" layout="block">
+ <p:message for="familyName" />
+ </h:panelGroup>
- <div class="table_row">
- <div class="table_left">
- <h:outputLabel for="familyName" value="#{msg.PERSONAL_DATA_FAMILY_NAME}" />
+ <h:panelGroup styleClass="table-row" layout="block">
+ <div class="table-left-medium">
+ <p:outputLabel for="street" value="#{msg.DATA_STREET_NAME}" />
</div>
- <div class="table_right">
- <h:inputText styleClass="input" id="familyName" size="10" maxlength="255" value="#{contactController.familyName}" required="true">
- <f:validator for="familyName" validatorId="NameValidator" />
- </h:inputText>
+ <div class="table-right-medium">
+ <p:inputText id="street" size="20" maxlength="255" value="#{contactController.street}" required="true" requiredMessage="#{msg.GUEST_CONTACT_DATA_STREET_REQUIRED}">
+ <f:validator validatorId="NameValidator" />
+ </p:inputText>
</div>
+ </h:panelGroup>
- <div class="clear"></div>
- </div>
+ <h:panelGroup styleClass="error-container" layout="block">
+ <p:message for="street" />
+ </h:panelGroup>
- <div class="table_row">
- <div class="table_left">
- <h:outputLabel for="street" value="#{msg.PERSONAL_DATA_STREET}" />
+ <h:panelGroup styleClass="table-row" layout="block">
+ <div class="table-left-medium">
+ <p:outputLabel for="houseNumber" value="#{msg.DATA_HOUSE_NUMBER}" />
</div>
- <div class="table_right">
- <h:inputText styleClass="input" id="street" size="20" maxlength="255" value="#{contactController.street}" required="true">
- <f:validator for="street" validatorId="NameValidator" />
- </h:inputText>
+ <div class="table-right-medium">
+ <p:inputText 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}">
+ <f:validateLongRange minimum="1" maximum="500" />
+ </p:inputText>
</div>
+ </h:panelGroup>
- <div class="clear"></div>
- </div>
+ <h:panelGroup styleClass="error-container" layout="block">
+ <p:message for="houseNumber" />
+ </h:panelGroup>
- <div class="table_row">
- <div class="table_left">
- <h:outputLabel for="houseNumber" value="#{msg.PERSONAL_DATA_HOUSE_NUMBER}" />
+ <h:panelGroup styleClass="table-row" layout="block">
+ <div class="table-left-medium">
+ <p:outputLabel for="houseNumberExtension" value="#{msg.DATA_HOUSE_NUMBER_EXTENSION}" />
</div>
- <div class="table_right">
- <h:inputText styleClass="input" id="houseNumber" size="3" maxlength="5" value="#{contactController.houseNumber}" required="true" validatorMessage="#{msg.ENTERED_HOUSE_NUMBER_INVALID}">
- <f:validateLongRange for="houseNumber" minimum="1" maximum="500" />
- </h:inputText>
+ <div class="table-right-medium">
+ <p:inputText id="houseNumberExtension" size="2" maxlength="2" value="#{contactController.houseNumberExtension}" />
</div>
+ </h:panelGroup>
- <div class="clear"></div>
- </div>
+ <h:panelGroup styleClass="error-container" layout="block">
+ <p:message for="houseNumberExtension" />
+ </h:panelGroup>
- <div class="table_row">
- <div class="table_left">
- <h:outputLabel for="zipCode" value="#{msg.PERSONAL_DATA_ZIP_CODE}" />
+ <h:panelGroup styleClass="table-row" layout="block">
+ <div class="table-left-medium">
+ <p:outputLabel for="zipCode" value="#{msg.DATA_ZIP_CODE}" />
</div>
- <div class="table_right">
- <h:inputText styleClass="input" id="zipCode" size="5" maxlength="6" value="#{contactController.zipCode}" required="true" validatorMessage="#{msg.ENTERED_ZIP_CODE_INVALID}">
- <f:validateLongRange for="zipCode" minimum="1" maximum="99999" />
- </h:inputText>
+ <div class="table-right-medium">
+ <p:inputText 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}">
+ <f:validateLongRange minimum="1" maximum="99999" />
+ </p:inputText>
</div>
+ </h:panelGroup>
- <div class="clear"></div>
- </div>
+ <h:panelGroup styleClass="error-container" layout="block">
+ <p:message for="zipCode" />
+ </h:panelGroup>
- <div class="table_row">
- <div class="table_left">
- <h:outputLabel for="city" value="#{msg.PERSONAL_DATA_CITY}" />
+ <h:panelGroup styleClass="table-row" layout="block">
+ <div class="table-left-medium">
+ <p:outputLabel for="city" value="#{msg.DATA_CITY}" />
</div>
- <div class="table_right">
- <h:inputText styleClass="input" id="city" size="10" maxlength="255" value="#{contactController.city}" required="true">
- <f:validator for="city" validatorId="NameValidator" />
- </h:inputText>
+ <div class="table-right-medium">
+ <p:inputText id="city" size="10" maxlength="255" value="#{contactController.city}" required="true" requiredMessage="#{msg.GUEST_CONTACT_DATA_CITY_REQUIRED}">
+ <f:validator validatorId="NameValidator" />
+ </p:inputText>
</div>
+ </h:panelGroup>
- <div class="clear"></div>
- </div>
+ <h:panelGroup styleClass="error-container" layout="block">
+ <p:message for="city" />
+ </h:panelGroup>
- <div class="table_row">
- <div class="table_left">
- <h:outputLabel for="country" value="#{msg.PERSONAL_DATA_COUNTRY_CODE}" />
+ <h:panelGroup styleClass="table-row" layout="block">
+ <div class="table-left-medium">
+ <p:outputLabel for="birthday" value="#{msg.PERSONAL_DATA_BIRTHDAY}" />
</div>
- <div class="table_right">
- <h:selectOneMenu styleClass="select" id="country" value="#{contactController.country}" converter="CountryConverter">
- <f:selectItem itemValue="" itemLabel="#{msg.NONE_SELECTED}" />
- <f:selectItems value="#{countryController.allCountries()}" var="c" itemValue="#{c}" itemLabel="#{c.countryCode} (#{msg[c.countryI18nkey]})" />
- </h:selectOneMenu>
+ <div class="table-right-medium">
+ <p:calendar
+ id="birthday"
+ value="#{contactController.birthday}"
+ pattern="#{msg.DATE_PATTERN}"
+ navigator="true"
+ required="true"
+ requiredMessage="#{msg.GUEST_CONTACT_DATA_BIRTHDAY_REQUIRED}"
+ />
</div>
+ </h:panelGroup>
- <div class="clear"></div>
- </div>
+ <h:panelGroup styleClass="error-container" layout="block">
+ <p:message for="birthday" />
+ </h:panelGroup>
- <div class="table_row">
- <div class="table_left">
- <h:outputLabel value="#{msg.PERSONAL_DATA_PHONE_NUMBER}" />
+ <h:panelGroup styleClass="table-row" layout="block">
+ <div class="table-left-medium">
+ <p:outputLabel for="country" value="#{msg.DATA_COUNTRY_CODE}" />
</div>
- <div class="table_right">
- <h:selectOneMenu styleClass="select" id="countryPhoneCode" value="#{contactController.phoneCountry}" converter="CountryConverter">
- <f:selectItem itemValue="" itemLabel="#{msg.NONE_SELECTED}" />
- <f:selectItems value="#{countryController.allCountries()}" var="c" itemValue="#{c}" itemLabel="#{c.countryAbroadDialPrefix}#{c.countryPhoneCode}" />
- </h:selectOneMenu>
-
- <h:inputText styleClass="input" id="phoneAreaCode" size="5" maxlength="10" value="#{contactController.phoneAreaCode}">
- <f:validator for="phoneAreaCode" validatorId="PhoneNumberValidator" />
- </h:inputText>
-
- <h:inputText styleClass="input" id="phoneNumber" size="10" maxlength="20" value="#{contactController.phoneNumber}">
- <f:validator for="phoneNumber" validatorId="PhoneNumberValidator" />
- </h:inputText>
+ <div class="table-right-medium">
+ <core:outputCountrySelector id="country" value="#{contactController.country}" />
</div>
+ </h:panelGroup>
- <div class="clear"></div>
- </div>
+ <h:panelGroup styleClass="error-container" layout="block">
+ <p:message for="country" />
+ </h:panelGroup>
- <div class="table_row">
- <div class="table_left">
- <h:outputLabel for="faxNumber" value="#{msg.PERSONAL_DATA_FAX_NUMBER}" />
+ <h:panelGroup styleClass="table-row" layout="block">
+ <div class="table-left-medium">
+ <p:outputLabel for="landLineNumber" value="#{msg.PERSONAL_DATA_PHONE_NUMBER}" />
</div>
- <div class="table_right">
- <h:selectOneMenu styleClass="select" id="faxCountryCode" value="#{contactController.faxCountry}" converter="CountryConverter">
- <f:selectItem itemValue="" itemLabel="#{msg.NONE_SELECTED}" />
- <f:selectItems value="#{countryController.allCountries()}" var="c" itemValue="#{c}" itemLabel="#{c.countryAbroadDialPrefix}#{c.countryPhoneCode}" />
- </h:selectOneMenu>
+ <div class="table-right-medium">
+ <core:outputCountrySelector styleClass="select" id="landLineCountry" value="#{contactController.landLineCountry}" />
- <h:inputText styleClass="input" id="faxAreaCode" size="5" maxlength="10" value="#{contactController.faxAreaCode}">
- <f:validator for="faxAreaCode" validatorId="PhoneNumberValidator" />
- </h:inputText>
+ <p:inputText id="landLineAreaCode" size="5" maxlength="10" value="#{contactController.landLineAreaCode}">
+ <f:validator validatorId="PhoneNumberValidator" />
+ </p:inputText>
- <h:inputText styleClass="input" id="faxNumber" size="10" maxlength="20" value="#{contactController.faxNumber}">
- <f:validator for="faxNumber" validatorId="PhoneNumberValidator" />
- </h:inputText>
+ <p:inputText id="landLineNumber" size="10" maxlength="20" value="#{contactController.landLineNumber}">
+ <f:validator validatorId="PhoneNumberValidator" />
+ </p:inputText>
</div>
+ </h:panelGroup>
- <div class="clear"></div>
- </div>
+ <h:panelGroup styleClass="error-container" layout="block">
+ <p:message for="landLineAreaCode" />
+ </h:panelGroup>
- <div class="table_row">
- <div class="table_left">
- <h:outputLabel for="cellphoneNumber" value="#{msg.PERSONAL_DATA_CELLPHONE_NUMBER}" />
- </div>
+ <h:panelGroup styleClass="error-container" layout="block">
+ <p:message for="landLineNumber" />
+ </h:panelGroup>
- <div class="table_right">
- <ui:include src="/WEB-INF/templates/generic/mobile_selection_box.tpl">
- <ui:param name="targetController" value="#{contactController}" />
- </ui:include>
+ <h:panelGroup styleClass="table-row" layout="block">
+ <div class="table-left-medium">
+ <p:outputLabel for="faxNumber" value="#{msg.PERSONAL_DATA_FAX_NUMBER}" />
</div>
- <div class="clear"></div>
- </div>
- </fieldset>
- </div>
+ <div class="table-right-medium">
+ <core:outputCountrySelector styleClass="select" id="faxCountry" value="#{contactController.faxCountry}" />
- <div class="para">
- <fieldset id="user_profile">
- <legend title="#{msg.USER_PROFILE_LEGEND_TITLE}">#{msg.USER_PROFILE_LEGEND}</legend>
+ <p:inputText id="faxAreaCode" size="5" maxlength="10" value="#{contactController.faxAreaCode}">
+ <f:validator for="faxAreaCode" validatorId="PhoneNumberValidator" />
+ </p:inputText>
- <div class="table_row">
- <div class="table_left">
- <h:outputLabel for="profileMode" value="#{msg.USER_PROFILE_MODE}" />
+ <p:inputText id="faxNumber" size="10" maxlength="20" value="#{contactController.faxNumber}">
+ <f:validator for="faxNumber" validatorId="PhoneNumberValidator" />
+ </p:inputText>
</div>
+ </h:panelGroup>
- <div class="table_right">
- <ui:include src="/WEB-INF/templates/generic/profile_mode_selection_box.tpl" />
- </div>
+ <h:panelGroup styleClass="error-container" layout="block">
+ <p:message for="faxAreaCode" />
+ </h:panelGroup>
- <div class="clear"></div>
- </div>
+ <h:panelGroup styleClass="error-container" layout="block">
+ <p:message for="faxNumber" />
+ </h:panelGroup>
- <div class="table_row">
+ <p:outputLabel for="mobileNumber" value="#{msg.PERSONAL_DATA_MOBILE_NUMBER}" />
+ <core:inputMobileNumberPanelGrid targetController="#{contactController}" />
+ </fieldset>
+ </h:panelGroup>
+
+ <h:panelGroup styleClass="para" layout="block" rendered="#{featureController.isFeatureEnabled('public_user_profile')}">
+ <fieldset class="fieldset">
+ <legend title="#{msg.USER_PROFILE_LEGEND_TITLE}">
+ <h:outputText value="#{msg.USER_PROFILE_LEGEND}" />
+ </legend>
+
+ <h:panelGroup styleClass="table-row" layout="block">
+ <p:outputLabel for="profileMode" value="#{msg.USER_PROFILE_MODE}" />
+
+ <p:selectOneMenu
+ id="profileMode"
+ value="#{targetController.userProfileMode}"
+ filter="true"
+ filterMatchMode="contains"
+ >
+
+ <f:selectItem itemValue="#{null}" itemLabel="#{msg.PLEASE_SELECT}" noSelectionOption="true" itemDisabled="true" />
+
+ <f:selectItems
+ value="#{dataController.profileModes}"
+ var="profileMode"
+ itemValue="#{profileMode}"
+ itemLabel="#{msg[profileMode.messageKey]}"
+ />
+ </p:selectOneMenu>
+ </h:panelGroup>
+
+ <h:panelGroup styleClass="table-row" layout="block">
<div class="para notice">
<ul>
- <li>#{msg.SELECTION_NOTICE_USER_PROFILE_MODE_INVISIBLE}</li>
- <li>#{msg.SELECTION_NOTICE_USER_PROFILE_MODE_MEMBERS}</li>
- <li>#{msg.SELECTION_NOTICE_USER_PROFILE_MODE_PUBLIC}</li>
+ <li><h:outputText value="#{msg.SELECTION_NOTICE_USER_PROFILE_MODE_INVISIBLE}" /></li>
+ <li><h:outputText value="#{msg.SELECTION_NOTICE_USER_PROFILE_MODE_MEMBERS}" /></li>
+ <li><h:outputText value="#{msg.SELECTION_NOTICE_USER_PROFILE_MODE_PUBLIC}" /></li>
</ul>
</div>
- </div>
+ </h:panelGroup>
</fieldset>
- </div>
+ </h:panelGroup>
</ui:composition>