--- /dev/null
+/*
+ * Copyright (C) 2016 Roland Haeder
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+package org.mxchange.pizzaapplication.beans.email_address;
+
+import java.text.MessageFormat;
+import java.util.List;
+import java.util.Objects;
+import javax.enterprise.context.SessionScoped;
+import javax.faces.view.facelets.FaceletException;
+import javax.inject.Inject;
+import javax.inject.Named;
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+import org.mxchange.jcontacts.contact.Contact;
+import org.mxchange.jusercore.exceptions.UserPasswordMismatchException;
+import org.mxchange.jusercore.model.email_address.ChangeableEmailAddress;
+import org.mxchange.jusercore.model.email_address.EmailAddressChange;
+import org.mxchange.jusercore.model.email_address.EmailChangeSessionBeanRemote;
+import org.mxchange.jusercore.model.user.User;
+import org.mxchange.pizzaapplication.beans.login.PizzaUserLoginWebSessionController;
+
+/**
+ * A web session bean for changing email addresses
+ * <p>
+ * @author Roland Haeder<roland@mxchange.org>
+ */
+@Named ("emailChangeController")
+@SessionScoped
+public class PizzaEmailChangeWebSessionBean implements PizzaEmailChangeWebSessionController {
+
+ /**
+ * Serial number
+ */
+ private static final long serialVersionUID = 186_078_724_659_153L;
+
+ /**
+ * Email address 1 (changing)
+ */
+ private String emailAddress;
+
+ /**
+ * Email address 2 (repeat in changing)
+ */
+ private String emailAddressRepeat;
+
+ /**
+ * Local list of already queued email addresses
+ */
+ private List<String> emailAddresses;
+
+ /**
+ * Remote email change bean
+ */
+ private final EmailChangeSessionBeanRemote emailBean;
+
+ /**
+ * Login bean (controller)
+ */
+ @Inject
+ private PizzaUserLoginWebSessionController loginController;
+
+ /**
+ * Default constructor
+ */
+ public PizzaEmailChangeWebSessionBean () {
+ // Try it
+ try {
+ // Get initial context
+ Context context = new InitialContext();
+
+ // Try to lookup
+ this.emailBean = (EmailChangeSessionBeanRemote) context.lookup("java:global/addressbook-ejb/email-change!org.mxchange.jusercore.model.email_address.EmailChangeSessionBeanRemote"); //NOI18N
+
+ // Init list
+ this.emailAddresses = this.emailBean.allQueuedAddressesAsList();
+ } catch (final NamingException e) {
+ // Throw again
+ throw new FaceletException(e);
+ }
+ }
+
+ @Override
+ public String doChangeEmailAddress () {
+ // This method shall only be called if the user is logged-in
+ if (!this.loginController.isUserLoggedIn()) {
+ // Not logged-in
+ throw new IllegalStateException("User is not logged-in"); //NOI18N
+ } else if (!this.isRequiredChangeEmailAddressSet()) {
+ // Not all required fields are set
+ throw new FaceletException("Not all required fields are set."); //NOI18N
+ } else if (!Objects.equals(this.getEmailAddress(), this.getEmailAddressRepeat())) {
+ // Email address 1+2 mismatch
+ throw new FaceletException("Email address 1/2 are mismatching."); //NOI18N
+ } else if (!this.loginController.ifCurrentPasswordMatches()) {
+ // Password not matching
+ throw new FaceletException(new UserPasswordMismatchException(this.loginController.getLoggedInUser()));
+ }
+
+ // Get user instance
+ User user = this.loginController.getLoggedInUser();
+
+ // It should be there, so run some tests on it
+ assert (user instanceof User) : "Instance loginController.loggedInUser is null"; //NOI18N
+ assert (user.getUserId() instanceof Long) : "Instance loginController.loggedInUser.userId is null"; //NOI18N
+ assert (user.getUserId() > 0) : MessageFormat.format("loginController.loggedInUser.userId={0} is invalid", user.getUserId()); //NOI18N
+ assert (user.getUserContact() instanceof Contact) : "Instance loginController.loggedInUser.userContact is null"; //NOI18N
+ assert (user.getUserContact().getContactId() instanceof Long) : "Instance loginController.userContact.contactId is null"; //NOI18N
+ assert (user.getUserContact().getContactId() > 0) : MessageFormat.format("Instance loginController.userContact.contactId={0} is invalid", user.getUserContact().getContactId()); //NOI18N
+
+ // Get dummy email address
+ String dummyEmail = this.getEmailAddress();
+
+ // Unset all so the user is forced to re-enter it
+ this.clear();
+
+ // Check if the email address is already enqueued
+ if (this.isEmailAddressQueued(dummyEmail)) {
+ // Yes, then abort here
+ return "login_email_already_added"; //NOI18N
+ }
+
+ // Create change object, to save EJB calls, the hash is not generated here
+ ChangeableEmailAddress address = new EmailAddressChange(user, dummyEmail);
+
+ // Call EJB
+ this.emailBean.enqueueEmailAddressForChange(address);
+
+ // All fine
+ return "login_email_change_queued"; //NOI18N
+ }
+
+ @Override
+ public String getEmailAddress () {
+ return this.emailAddress;
+ }
+
+ @Override
+ public void setEmailAddress (final String emailAddress) {
+ this.emailAddress = emailAddress;
+ }
+
+ @Override
+ public String getEmailAddressRepeat () {
+ return this.emailAddressRepeat;
+ }
+
+ @Override
+ public void setEmailAddressRepeat (final String emailAddressRepeat) {
+ this.emailAddressRepeat = emailAddressRepeat;
+ }
+
+ @Override
+ public boolean isRequiredChangeEmailAddressSet () {
+ return ((this.getEmailAddress() != null) &&
+ (this.getEmailAddressRepeat() != null));
+ }
+
+ /**
+ * Clears email address fields so the user has to re-enter them
+ */
+ private void clear () {
+ // Clear fields
+ this.setEmailAddress(null);
+ this.setEmailAddressRepeat(null);
+ }
+
+ /**
+ * Checks if given email address has already been queued. First a local list
+ * is being checked, if not found, the EJB is called. Only if found, the
+ * result is "cached" in the list.
+ * <p>
+ * @param emailAddress Email address to verify
+ * <p>
+ * @return Whether the email address in field emailAddress is already queued
+ */
+ private boolean isEmailAddressQueued (final String emailAddress) {
+ // It should be there
+ assert (emailAddress != null) : "emailAddress should not be null"; //NOI18N
+ assert (!emailAddress.trim().isEmpty()) : "emailAddress should not be empty"; //NOI18N
+
+ // Check list
+ if (this.emailAddresses.contains(emailAddress)) {
+ // Okay, found it
+ return true;
+ }
+
+ // Check EJB
+ boolean isQueued = this.emailBean.isEmailAddressEnqueued(emailAddress);
+
+ // Is it there?
+ if (isQueued) {
+ // Add to list
+ this.emailAddresses.add(emailAddress);
+ }
+
+ // Return status
+ return isQueued;
+ }
+
+}
--- /dev/null
+/*
+ * Copyright (C) 2016 Roland Haeder
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+package org.mxchange.pizzaapplication.beans.email_address;
+
+import java.io.Serializable;
+
+/**
+ * An interface for an email change controller
+ * <p>
+ * @author Roland Haeder<roland@mxchange.org>
+ */
+public interface PizzaEmailChangeWebSessionController extends Serializable {
+
+ /**
+ * Getter for email address 1 (changing)
+ * <p>
+ * @return Email address
+ */
+ String getEmailAddress ();
+
+ /**
+ * Setter for email address 1 (changing)
+ * <p>
+ * @param emailAddress Email address 1
+ */
+ void setEmailAddress (final String emailAddress);
+
+ /**
+ * Getter for email address 2 (repeat changing)
+ * <p>
+ * @return Email address 2
+ */
+ String getEmailAddressRepeat ();
+
+ /**
+ * Setter for email address 2 (repeat changing)
+ * <p>
+ * @param emailAddressRepeat Email address 2
+ */
+ void setEmailAddressRepeat (final String emailAddressRepeat);
+
+ /**
+ * Checks whether all required are set for changing email address
+ * <p>
+ * @return Whether the required personal data is set
+ */
+ boolean isRequiredChangeEmailAddressSet ();
+
+ /**
+ * Changes logged-in user's email address if the current password matches.
+ * <p>
+ * @return New target page
+ */
+ String doChangeEmailAddress ();
+
+}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
- lang="#{localizationController.language}" xml:lang="#{localizationController.language}"
- xmlns:ui="http://java.sun.com/jsf/facelets"
- xmlns:h="http://xmlns.jcp.org/jsf/html"
- xmlns:f="http://xmlns.jcp.org/jsf/core"
- >
+ lang="#{localizationController.language}" xml:lang="#{localizationController.language}"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://xmlns.jcp.org/jsf/html"
+ xmlns:f="http://xmlns.jcp.org/jsf/core"
+ >
<ui:composition template="/WEB-INF/templates/login/login_base.tpl">
<ui:define name="login_title">#{msg.PAGE_TITLE_LOGIN_FOO}</ui:define>
xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
- <ui:define name="title">Administration - <ui:insert name="admin_title" class="admin_title" /></ui:define>
+ <ui:define name="title">Administration - <ui:insert name="admin_title">Default admin title</ui:insert></ui:define>
<!--
TODO: Add something here that should be displayed on all admin pages
//-->
<ui:define name="menu">
- <ui:include id="menu" class="admin_menu" src="/WEB-INF/templates/admin/admin_menu.tpl" />
+ <ui:include src="/WEB-INF/templates/admin/admin_menu.tpl" />
</ui:define>
<ui:define name="footer">
- <ui:include id="footer" class="admin_footer" src="/WEB-INF/templates/admin/admin_footer.tpl" />
+ <ui:include id="footer" src="/WEB-INF/templates/admin/admin_footer.tpl" />
</ui:define>
</ui:composition>
</div>
<div class="table_right">
- <h:inputText class="input" id="firstName" size="10" maxlength="255" value="#{adminContactController.firstName}" required="true">
- <f:validator for="firstName" validatorId="NameValidator" />
- </h:inputText>
+ <h:inputText styleClass="input" id="firstName" size="10" maxlength="255" value="#{adminContactController.firstName}" />
</div>
<div class="clear"></div>
</div>
<div class="table_right">
- <h:inputText class="input" id="familyName" size="10" maxlength="255" value="#{adminContactController.familyName}" required="true">
- <f:validator for="familyName" validatorId="NameValidator" />
- </h:inputText>
+ <h:inputText styleClass="input" id="familyName" size="10" maxlength="255" value="#{adminContactController.familyName}" />
</div>
<div class="clear"></div>
</div>
<div class="table_right">
- <h:inputText class="input" id="street" size="20" maxlength="255" value="#{adminContactController.street}" />
+ <h:inputText styleClass="input" id="street" size="20" maxlength="255" value="#{adminContactController.street}" />
</div>
<div class="clear"></div>
</div>
<div class="table_right">
- <h:inputText class="input" id="houseNumber" size="3" maxlength="5" value="#{adminContactController.houseNumber}" validatorMessage="#{msg.ENTERED_HOUSE_NUMBER_INVALID}">
+ <h:inputText styleClass="input" id="houseNumber" size="3" maxlength="5" value="#{adminContactController.houseNumber}" validatorMessage="#{msg.ENTERED_HOUSE_NUMBER_INVALID}">
<f:validateLongRange for="houseNumber" minimum="1" maximum="500" />
</h:inputText>
</div>
</div>
<div class="table_right">
- <h:inputText class="input" id="zipCode" size="5" maxlength="6" value="#{adminContactController.zipCode}" validatorMessage="#{msg.ENTERED_ZIP_CODE_INVALID}">
+ <h:inputText styleClass="input" id="zipCode" size="5" maxlength="6" value="#{adminContactController.zipCode}" validatorMessage="#{msg.ENTERED_ZIP_CODE_INVALID}">
<f:validateLongRange for="zipCode" minimum="1" maximum="99999" />
</h:inputText>
</div>
</div>
<div class="table_right">
- <h:inputText class="input" id="city" size="10" maxlength="255" value="#{adminContactController.city}" />
+ <h:inputText styleClass="input" id="city" size="10" maxlength="255" value="#{adminContactController.city}" />
</div>
<div class="clear"></div>
</div>
<div class="table_right">
- <h:selectOneMenu class="select" id="country" value="#{adminContactController.country}" converter="CountryConverter">
+ <h:selectOneMenu styleClass="select" id="country" value="#{adminContactController.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>
<div class="table_right">
- <h:selectOneMenu class="select" id="countryPhoneCode" value="#{adminContactController.phoneCountry}" converter="CountryConverter">
+ <h:selectOneMenu styleClass="select" id="countryPhoneCode" value="#{adminContactController.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 class="input" id="phoneAreaCode" size="5" maxlength="10" value="#{adminContactController.phoneAreaCode}">
+ <h:inputText styleClass="input" id="phoneAreaCode" size="5" maxlength="10" value="#{adminContactController.phoneAreaCode}">
<f:validator for="phoneAreaCode" validatorId="PhoneNumberValidator" />
</h:inputText>
- <h:inputText class="input" id="phoneNumber" size="10" maxlength="20" value="#{adminContactController.phoneNumber}">
+ <h:inputText styleClass="input" id="phoneNumber" size="10" maxlength="20" value="#{adminContactController.phoneNumber}">
<f:validator for="phoneNumber" validatorId="PhoneNumberValidator" />
</h:inputText>
</div>
</div>
<div class="table_right">
- <h:selectOneMenu class="select" id="faxCountryCode" value="#{adminContactController.faxCountry}" converter="CountryConverter">
+ <h:selectOneMenu styleClass="select" id="faxCountryCode" value="#{adminContactController.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>
- <h:inputText class="input" id="faxAreaCode" size="5" maxlength="10" value="#{adminContactController.faxAreaCode}">
+ <h:inputText styleClass="input" id="faxAreaCode" size="5" maxlength="10" value="#{adminContactController.faxAreaCode}">
<f:validator for="faxAreaCode" validatorId="PhoneNumberValidator" />
</h:inputText>
- <h:inputText class="input" id="faxNumber" size="10" maxlength="20" value="#{adminContactController.faxNumber}">
+ <h:inputText styleClass="input" id="faxNumber" size="10" maxlength="20" value="#{adminContactController.faxNumber}">
<f:validator for="faxNumber" validatorId="PhoneNumberValidator" />
</h:inputText>
</div>
<div class="clear"></div>
</div>
+
+ <div class="table_row">
+ <div class="table_left">
+ <h:outputLabel for="emailAddress" value="#{msg.ADMIN_PERSONAL_DATA_EMAIL_ADDRESS}" />
+ </div>
+
+ <div class="table_right">
+ <h:inputText styleClass="input" id="emailAddress" size="10" maxlength="255" value="#{adminContactController.emailAddress}" />
+ </div>
+
+ <div class="clear"></div>
+ </div>
</fieldset>
</div>
</ui:composition>
</div>
<div class="table_right_medium">
- <h:inputText class="input" id="countryAbroadDialPrefix" size="2" maxlength="10" value="#{adminCountryController.countryAbroadDialPrefix}" required="true">
+ <h:inputText styleClass="input" id="countryAbroadDialPrefix" size="2" maxlength="10" value="#{adminCountryController.countryAbroadDialPrefix}" required="true">
<f:validateLongRange for="countryAbroadDialPrefix" minimum="0" maximum="99" />
</h:inputText>
</div>
</div>
<div class="table_right_medium">
- <h:inputText class="input" id="countryCode" size="2" maxlength="2" value="#{adminCountryController.countryCode}" required="true">
+ <h:inputText styleClass="input" id="countryCode" size="2" maxlength="2" value="#{adminCountryController.countryCode}" required="true">
<f:validateRegex for="countryCode" pattern="[A-Z]{2}" />
</h:inputText>
- <h:outputText class="small notice" value="#{msg.ADMIN_ENTER_COUNTRY_CODE_EXAMPLE}" />
+ <h:outputText styleClass="small notice" value="#{msg.ADMIN_ENTER_COUNTRY_CODE_EXAMPLE}" />
</div>
<div class="clear"></div>
</div>
<div class="table_right_medium">
- <h:inputText class="input" id="countryI18nKey" size="20" maxlength="100" value="#{adminCountryController.countryI18nKey}" required="true">
+ <h:inputText styleClass="input" id="countryI18nKey" size="20" maxlength="100" value="#{adminCountryController.countryI18nKey}" required="true">
<f:validateRegex for="countryI18nKey" pattern="[A-Z_]{2,}" />
</h:inputText>
</div>
</div>
<div class="table_right_medium">
- <h:selectOneListbox required="true" id="countryIsLocalPrefixRequired" value="#{adminCountryController.countryIsLocalPrefixRequired}" size="1" class="select">
+ <h:selectOneListbox styleClass="select" required="true" id="countryIsLocalPrefixRequired" value="#{adminCountryController.countryIsLocalPrefixRequired}" size="1">
<f:selectItem itemValue="true" itemLabel="#{msg.CHOICE_YES}" />
<f:selectItem itemValue="false" itemLabel="#{msg.CHOICE_NO}" />
</h:selectOneListbox>
</div>
<div class="table_right_medium">
- <h:inputText class="input" id="countryExternalDialPrefix" size="2" maxlength="10" value="#{adminCountryController.countryExternalDialPrefix}" required="true">
+ <h:inputText styleClass="input" id="countryExternalDialPrefix" size="2" maxlength="10" value="#{adminCountryController.countryExternalDialPrefix}" required="true">
<f:validateLongRange for="countryAbroadDialPrefix" minimum="0" maximum="99" />
</h:inputText>
</div>
</div>
<div class="table_right_medium">
- <h:inputText class="input" id="countryPhoneCode" size="2" maxlength="6" value="#{adminCountryController.countryPhoneCode}" required="true">
+ <h:inputText styleClass="input" id="countryPhoneCode" size="2" maxlength="6" value="#{adminCountryController.countryPhoneCode}" required="true">
<f:validateLongRange for="countryAbroadDialPrefix" minimum="0" maximum="99" />
</h:inputText>
- <h:outputText class="small notice" value="#{msg.ADMIN_ENTER_COUNTRY_PHONE_CODE_EXAMPLE}" />
+ <h:outputText styleClass="small notice" value="#{msg.ADMIN_ENTER_COUNTRY_PHONE_CODE_EXAMPLE}" />
</div>
<div class="clear"></div>
</div>
<div class="table_right_medium">
- <h:inputText class="input" id="providerDialPrefix" size="5" maxlength="20" value="#{adminMobileProviderController.providerDialPrefix}" required="true">
+ <h:inputText styleClass="input" id="providerDialPrefix" size="5" maxlength="20" value="#{adminMobileProviderController.providerDialPrefix}" required="true">
<f:validateLongRange for="providerDialPrefix" minimum="0" maximum="9999" />
</h:inputText>
</div>
</div>
<div class="table_right_medium">
- <h:inputText class="input" id="providerMailPattern" size="10" maxlength="30" value="#{adminMobileProviderController.providerMailPattern}" />
+ <h:inputText styleClass="input" id="providerMailPattern" size="10" maxlength="30" value="#{adminMobileProviderController.providerMailPattern}" />
- <h:outputText class="small notice" value="#{msg.ADMIN_ENTER_MOBILE_PROVIDER_PATTERN_EXAMPLE}" />
+ <h:outputText styleClass="small notice" value="#{msg.ADMIN_ENTER_MOBILE_PROVIDER_PATTERN_EXAMPLE}" />
</div>
<div class="clear"></div>
</div>
<div class="table_right_medium">
- <h:inputText class="input" id="providerName" size="20" maxlength="100" value="#{adminMobileProviderController.providerName}" required="true" />
+ <h:inputText styleClass="input" id="providerName" size="20" maxlength="100" value="#{adminMobileProviderController.providerName}" required="true" />
</div>
<div class="clear"></div>
</div>
<div class="table_right_medium">
- <h:selectOneMenu class="select" id="providerCountry" value="#{adminMobileProviderController.providerCountry}" converter="CountryConverter">
+ <h:selectOneMenu styleClass="select" id="providerCountry" value="#{adminMobileProviderController.providerCountry}" converter="CountryConverter">
<f:selectItems value="#{countryController.allCountries()}" var="c" itemValue="#{c}" itemLabel="#{c.countryCode} (#{msg[c.countryI18nkey]})" />
</h:selectOneMenu>
</div>
</div>
<div class="table_right">
- <h:inputText class="input" id="userName" size="20" maxlength="255" value="#{adminUserController.userName}" required="true" />
+ <h:inputText styleClass="input" id="userName" size="20" maxlength="255" value="#{adminUserController.userName}" required="true" />
</div>
<div class="clear"></div>
</div>
<div class="table_right">
- <h:inputText class="input" id="emailAddress" size="20" maxlength="255" value="#{adminContactController.emailAddress}" required="true" />
+ <h:inputText styleClass="input" id="emailAddress" size="20" maxlength="255" value="#{adminContactController.emailAddress}" required="true" />
</div>
<div class="clear"></div>
</div>
<div class="table_right">
- <h:inputSecret class="input" id="password1" size="10" maxlength="255" value="#{adminUserController.userPassword}" />
+ <h:inputSecret styleClass="input" id="password1" size="10" maxlength="255" value="#{adminUserController.userPassword}" />
</div>
<div class="clear"></div>
</div>
<div class="table_right">
- <h:inputSecret class="input" id="password2" size="10" maxlength="255" value="#{adminUserController.userPasswordRepeat}" />
+ <h:inputSecret styleClass="input" id="password2" size="10" maxlength="255" value="#{adminUserController.userPasswordRepeat}" />
</div>
<div class="clear"></div>
<div class="item_price">
<ui:fragment rendered="#{item.isProductType()}">
- <h:outputText class="price" value="#{item.itemProduct.productPrice}">
+ <h:outputText styleClass="price" value="#{item.itemProduct.productPrice}">
<f:convertNumber type="currency" minFractionDigits="2" maxFractionDigits="2" locale="de_DE" />
</h:outputText>
</ui:fragment>
<f:facet name="header">#{msg.TOTAL_ITEM_PRICE}</f:facet>
<div class="item_total_price">
- <h:outputText class="price" id="item_price" value="#{basketController.calculateItemPrice(item)}" rendered="#{item.isProductType()}">
+ <h:outputText styleClass="price" id="item_price" value="#{basketController.calculateItemPrice(item)}" rendered="#{item.isProductType()}">
<f:convertNumber type="currency" minFractionDigits="2" maxFractionDigits="2" locale="de_DE" />
</h:outputText>
</div>
<ui:fragment rendered="#{basketController.hasItems()}">
<div class="totals_container">
#{msg.TOTAL_ORDER_PRICE}
- <h:outputText class="price" id="total_sum" value="#{basketController.calculateTotalPrice()}">
+ <h:outputText styleClass="price" id="total_sum" value="#{basketController.calculateTotalPrice()}">
<f:convertNumber type="currency" minFractionDigits="2" maxFractionDigits="2" locale="de_DE" />
</h:outputText>
</div>
</ui:fragment>
- <h:outputText class="empty_basket" value="#{msg.NO_ITEMS_ADDED_TO_BASKET}" rendered="#{basketController.isEmpty()}" />
+ <h:outputText styleClass="empty_basket" value="#{msg.NO_ITEMS_ADDED_TO_BASKET}" rendered="#{basketController.isEmpty()}" />
</ui:composition>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" ?>
+<ui:composition
+ xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
+
+ <div class="para notice">
+ #{msg.PERSONAL_DATA_MINIMUM_NOTICE}
+ </div>
+
+ <div class="para">
+ <fieldset id="personal_data">
+ <legend title="#{msg.PERSONAL_DATA_LEGEND_TITLE}">#{msg.PERSONAL_DATA_LEGEND}</legend>
+
+ <div class="table_row">
+ <div class="table_left">
+ <h:outputLabel for="gender" value="#{msg.PERSONAL_DATA_GENDER}" />
+ </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>
+
+ <div class="clear"></div>
+ </div>
+
+ <div class="table_row">
+ <div class="table_left">
+ <h:outputLabel for="firstName" value="#{msg.PERSONAL_DATA_FIRST_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>
+
+ <div class="clear"></div>
+ </div>
+
+ <div class="table_row">
+ <div class="table_left">
+ <h:outputLabel for="familyName" value="#{msg.PERSONAL_DATA_FAMILY_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>
+
+ <div class="clear"></div>
+ </div>
+
+ <div class="table_row">
+ <div class="table_left">
+ <h:outputLabel for="street" value="#{msg.PERSONAL_DATA_STREET}" />
+ </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>
+
+ <div class="clear"></div>
+ </div>
+
+ <div class="table_row">
+ <div class="table_left">
+ <h:outputLabel for="houseNumber" value="#{msg.PERSONAL_DATA_HOUSE_NUMBER}" />
+ </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>
+
+ <div class="clear"></div>
+ </div>
+
+ <div class="table_row">
+ <div class="table_left">
+ <h:outputLabel for="zipCode" value="#{msg.PERSONAL_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>
+
+ <div class="clear"></div>
+ </div>
+
+ <div class="table_row">
+ <div class="table_left">
+ <h:outputLabel for="city" value="#{msg.PERSONAL_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>
+
+ <div class="clear"></div>
+ </div>
+
+ <div class="table_row">
+ <div class="table_left">
+ <h:outputLabel for="country" value="#{msg.PERSONAL_DATA_COUNTRY_CODE}" />
+ </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>
+
+ <div class="clear"></div>
+ </div>
+
+ <div class="table_row">
+ <div class="table_left">
+ <h:outputLabel value="#{msg.PERSONAL_DATA_PHONE_NUMBER}" />
+ </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>
+
+ <div class="clear"></div>
+ </div>
+
+ <div class="table_row">
+ <div class="table_left">
+ <h:outputLabel for="faxNumber" value="#{msg.PERSONAL_DATA_FAX_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>
+
+ <h:inputText styleClass="input" id="faxAreaCode" size="5" maxlength="10" value="#{contactController.faxAreaCode}">
+ <f:validator for="faxAreaCode" validatorId="PhoneNumberValidator" />
+ </h:inputText>
+
+ <h:inputText styleClass="input" id="faxNumber" size="10" maxlength="20" value="#{contactController.faxNumber}">
+ <f:validator for="faxNumber" validatorId="PhoneNumberValidator" />
+ </h:inputText>
+ </div>
+
+ <div class="clear"></div>
+ </div>
+
+ <div class="table_row">
+ <div class="table_left">
+ <h:outputLabel for="cellphoneNumber" value="#{msg.PERSONAL_DATA_CELLPHONE_NUMBER}" />
+ </div>
+
+ <div class="table_right">
+ <ui:include src="/WEB-INF/templates/generic/mobile_selection_box.tpl">
+ <ui:param name="targetController" value="#{contactController}" />
+ </ui:include>
+ </div>
+
+ <div class="clear"></div>
+ </div>
+ </fieldset>
+ </div>
+
+ <div class="para">
+ <fieldset id="user_profile">
+ <legend title="#{msg.USER_PROFILE_LEGEND_TITLE}">#{msg.USER_PROFILE_LEGEND}</legend>
+
+ <div class="table_row">
+ <div class="table_left">
+ <h:outputLabel for="profileMode" value="#{msg.USER_PROFILE_MODE}" />
+ </div>
+
+ <div class="table_right">
+ <ui:include src="/WEB-INF/templates/generic/profile_mode_selection_box.tpl" />
+ </div>
+
+ <div class="clear"></div>
+ </div>
+
+ <div class="table_row">
+ <div class="para notice">
+ <ul>
+ <li>#{msg.USER_PROFILE_MODE_SELECTION_NOTICE1}</li>
+ <li>#{msg.USER_PROFILE_MODE_SELECTION_NOTICE2}</li>
+ <li>#{msg.USER_PROFILE_MODE_SELECTION_NOTICE3}</li>
+ </ul>
+ </div>
+ </div>
+ </fieldset>
+ </div>
+</ui:composition>
</div>
<div class="table_right">
- <h:inputText class="input" id="firstName" size="10" maxlength="255" value="#{contactController.firstName}" required="true">
+ <h:inputText styleClass="input" id="firstName" size="10" maxlength="255" value="#{contactController.firstName}" required="true">
<f:validator for="firstName" validatorId="NameValidator" />
</h:inputText>
</div>
</div>
<div class="table_right">
- <h:inputText class="input" id="familyName" size="10" maxlength="255" value="#{contactController.familyName}" required="true">
+ <h:inputText styleClass="input" id="familyName" size="10" maxlength="255" value="#{contactController.familyName}" required="true">
<f:validator for="familyName" validatorId="NameValidator" />
</h:inputText>
</div>
</div>
<div class="table_right">
- <h:inputText class="input" id="street" size="20" maxlength="255" value="#{contactController.street}" required="true">
+ <h:inputText styleClass="input" id="street" size="20" maxlength="255" value="#{contactController.street}" required="true">
<f:validator for="street" validatorId="NameValidator" />
</h:inputText>
</div>
</div>
<div class="table_right">
- <h:inputText class="input" id="houseNumber" size="3" maxlength="5" value="#{contactController.houseNumber}" required="true" validatorMessage="#{msg.ENTERED_HOUSE_NUMBER_INVALID}">
+ <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>
</div>
<div class="table_right">
- <h:inputText class="input" id="zipCode" size="5" maxlength="6" value="#{contactController.zipCode}" required="true" validatorMessage="#{msg.ENTERED_ZIP_CODE_INVALID}">
+ <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>
</div>
<div class="table_right">
- <h:inputText class="input" id="city" size="10" maxlength="255" value="#{contactController.city}" required="true">
+ <h:inputText styleClass="input" id="city" size="10" maxlength="255" value="#{contactController.city}" required="true">
<f:validator for="city" validatorId="NameValidator" />
</h:inputText>
</div>
</div>
<div class="table_right">
- <h:selectOneMenu class="select" id="country" value="#{contactController.country}" converter="CountryConverter">
+ <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>
<div class="table_right">
- <h:selectOneMenu class="select" id="countryPhoneCode" value="#{contactController.phoneCountry}" converter="CountryConverter">
+ <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 class="input" id="phoneAreaCode" size="5" maxlength="10" value="#{contactController.phoneAreaCode}">
+ <h:inputText styleClass="input" id="phoneAreaCode" size="5" maxlength="10" value="#{contactController.phoneAreaCode}">
<f:validator for="phoneAreaCode" validatorId="PhoneNumberValidator" />
</h:inputText>
- <h:inputText class="input" id="phoneNumber" size="10" maxlength="20" value="#{contactController.phoneNumber}">
+ <h:inputText styleClass="input" id="phoneNumber" size="10" maxlength="20" value="#{contactController.phoneNumber}">
<f:validator for="phoneNumber" validatorId="PhoneNumberValidator" />
</h:inputText>
</div>
</div>
<div class="table_right">
- <h:selectOneMenu class="select" id="faxCountryCode" value="#{contactController.faxCountry}" converter="CountryConverter">
+ <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>
- <h:inputText class="input" id="faxAreaCode" size="5" maxlength="10" value="#{contactController.faxAreaCode}">
+ <h:inputText styleClass="input" id="faxAreaCode" size="5" maxlength="10" value="#{contactController.faxAreaCode}">
<f:validator for="faxAreaCode" validatorId="PhoneNumberValidator" />
</h:inputText>
- <h:inputText class="input" id="faxNumber" size="10" maxlength="20" value="#{contactController.faxNumber}">
+ <h:inputText styleClass="input" id="faxNumber" size="10" maxlength="20" value="#{contactController.faxNumber}">
<f:validator for="faxNumber" validatorId="PhoneNumberValidator" />
</h:inputText>
</div>
<div class="table_row">
<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>#{msg.USER_PROFILE_MODE_SELECTION_NOTICE1}</li>
+ <li>#{msg.USER_PROFILE_MODE_SELECTION_NOTICE2}</li>
+ <li>#{msg.USER_PROFILE_MODE_SELECTION_NOTICE3}</li>
</ul>
</div>
</div>
xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
<ui:fragment rendered="#{not empty targetController}">
- <h:selectOneMenu class="select" id="gender" value="#{targetController.gender}">
+ <h:selectOneMenu styleClass="select" id="gender" value="#{targetController.gender}">
+ <f:selectItem itemValue="" itemLabel="#{msg.NONE_SELECTED}" />
<f:selectItems value="#{genderController.selectableGenders}" var="g" itemValue="#{g}" itemLabel="#{msg[g.messageKey]}" />
</h:selectOneMenu>
</ui:fragment>
xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
<ui:fragment rendered="#{not empty targetController}">
- <h:selectOneMenu class="select" id="cellphoneCarrier" value="#{targetController.cellphoneCarrier}" converter="MobileProviderConverter">
+ <h:selectOneMenu styleClass="select" id="cellphoneCarrier" value="#{targetController.cellphoneCarrier}" converter="MobileProviderConverter">
<f:selectItem itemValue="" itemLabel="#{msg.NONE_SELECTED}" />
<f:selectItems value="#{mobileController.allMobileProvider()}" var="p" itemValue="#{p}" itemLabel="#{p.providerCountry.countryExternalDialPrefix}#{p.providerDialPrefix} (#{p.providerName})" />
</h:selectOneMenu>
- <h:inputText class="input" id="cellphoneNumber" size="10" maxlength="20" value="#{targetController.cellphoneNumber}">
+ <h:inputText styleClass="input" id="cellphoneNumber" size="10" maxlength="20" value="#{targetController.cellphoneNumber}">
<f:validator for="cellphoneNumber" validatorId="PhoneNumberValidator" />
</h:inputText>
</ui:fragment>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" ?>
+<ui:composition
+ xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
+
+ <h:selectOneMenu styleClass="select" id="profileMode" value="#{userController.userProfileMode}">
+ <f:selectItems value="#{profileModeController.allProfileModes}" var="m" itemValue="#{m}" itemLabel="#{msg[m.messageKey]}" />
+ </h:selectOneMenu>
+</ui:composition>
<h:outputText styleClass="notice" value="#{msg.ERROR_PARAMETER_USER_NOT_SET}" rendered="#{empty user}" />
- <h:outputText class="notice" value="#{msg.USER_PROFILE_NOT_PUBLICLY_VISIBLE}" rendered="#{not empty user and not profileController.isProfileLinkVisibleByUser(user)}" />
+ <h:outputText styleClass="notice" value="#{msg.USER_PROFILE_NOT_PUBLICLY_VISIBLE}" rendered="#{not empty user and not profileController.isProfileLinkVisibleByUser(user)}" />
<h:link id="userProfileLink" outcome="user_profile" title="#{msg.LINK_USER_PROFILE_TITLE}" rendered="#{not empty user and profileController.isProfileLinkVisibleByUser(user)}">
<h:outputText id="userName" value="#{user.userName}" />
xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
<ui:define name="title">
- <ui:insert name="guest_title" class="guest_title" />
+ <ui:insert name="guest_title">Default guest title</ui:insert>
</ui:define>
<ui:define name="menu">
- <ui:include id="menu" class="guest_menu" src="/WEB-INF/templates/guest/guest_menu.tpl" />
+ <ui:include src="/WEB-INF/templates/guest/guest_menu.tpl" />
</ui:define>
<!--
</ui:define>
<ui:define name="footer">
- <ui:include id="footer" class="guest_footer" src="/WEB-INF/templates/guest/guest_footer.tpl" />
+ <ui:include id="footer" src="/WEB-INF/templates/guest/guest_footer.tpl" />
</ui:define>
</ui:composition>
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
+
<div id="user_login_content">
<h:form id="login_form">
<div class="table">
</div>
<div class="table_right">
- <h:inputText class="input" id="userName" value="#{userController.userName}" size="10" maxlength="20" required="true" requiredMessage="#{msg.LOGIN_NO_USER_NAME_MESSAGE}" />
+ <h:inputText styleClass="input" id="userName" value="#{userController.userName}" size="10" maxlength="20" required="true" requiredMessage="#{msg.LOGIN_NO_USER_NAME_MESSAGE}" />
</div>
</div>
</div>
<div class="table_right">
- <h:inputSecret class="input" id="userPassword" value="#{userController.userPassword}" size="10" maxlength="255" required="true" requiredMessage="#{msg.LOGIN_NO_PASSWORD_MESSAGE}" />
+ <h:inputSecret styleClass="input" id="userPassword" value="#{userController.userPassword}" size="10" maxlength="255" required="true" requiredMessage="#{msg.LOGIN_NO_PASSWORD_MESSAGE}" />
</div>
</div>
</fieldset>
<div class="table_footer">
- <h:commandButton class="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
- <h:commandButton class="submit" type="submit" action="#{userLoginController.doLogin()}" value="#{msg.BUTTON_USER_LOGIN}" />
+ <h:commandButton styleClass="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
+ <h:commandButton styleClass="submit" type="submit" action="#{userLoginController.doLogin()}" value="#{msg.BUTTON_USER_LOGIN}" />
</div>
</div>
</h:form>
<div class="table_row">
<div class="table_left25">
- <h:selectBooleanCheckbox class="input" id="privacy" required="true" requiredMessage="#{msg.PRIVACY_POLICY_NOT_ACCEPTED_MESSAGE}">
+ <h:selectBooleanCheckbox styleClass="input" id="privacy" required="true" requiredMessage="#{msg.PRIVACY_POLICY_NOT_ACCEPTED_MESSAGE}">
<f:validator for="privacy" validatorId="PrivacyTermsCheckboxValidator" />
</h:selectBooleanCheckbox>
</div>
<div class="table_row">
<div class="table_left25">
- <h:selectBooleanCheckbox class="input" id="terms" required="true" requiredMessage="#{msg.TERMS_NOT_ACCEPTED_MESSAGE}">
+ <h:selectBooleanCheckbox styleClass="input" id="terms" required="true" requiredMessage="#{msg.TERMS_NOT_ACCEPTED_MESSAGE}">
<f:validator for="terms" validatorId="PrivacyTermsCheckboxValidator" />
</h:selectBooleanCheckbox>
</div>
</div>
<div class="table_right">
- <h:inputText class="input" id="userName" size="20" maxlength="255" value="#{userController.userName}" required="true" />
+ <h:inputText styleClass="input" id="userName" size="20" maxlength="255" value="#{userController.userName}" required="true" />
</div>
<div class="clear"></div>
</div>
<div class="table_right">
- <h:inputText class="input" id="emailAddress1" size="20" maxlength="255" value="#{userController.emailAddress}" required="true" />
+ <h:inputText styleClass="input" id="emailAddress" size="20" maxlength="255" value="#{contactController.emailAddress}" required="true" />
</div>
<div class="clear"></div>
</div>
<div class="table_right">
- <h:inputText class="input" id="emailAddress2" size="20" maxlength="255" value="#{userController.emailAddressRepeat}" required="true" />
+ <h:inputText styleClass="input" id="emailAddressRepeat" size="20" maxlength="255" value="#{contactController.emailAddressRepeat}" required="true" />
</div>
<div class="clear"></div>
</div>
<div class="table_right">
- <h:inputSecret class="input" id="password1" size="10" maxlength="255" value="#{userController.userPassword}" required="true" />
+ <h:inputSecret styleClass="input" id="password1" size="10" maxlength="255" value="#{userController.userPassword}" required="true" />
</div>
<div class="clear"></div>
</div>
<div class="table_right">
- <h:inputSecret class="input" id="password2" size="10" maxlength="255" value="#{userController.userPasswordRepeat}" required="true" />
+ <h:inputSecret styleClass="input" id="password2" size="10" maxlength="255" value="#{userController.userPasswordRepeat}" required="true" />
</div>
<div class="clear"></div>
<ui:include src="/WEB-INF/templates/guest/guest_privacy_terms.tpl" />
<div class="table_footer">
- <h:commandButton class="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
- <h:commandButton class="submit" type="submit" id="register" value="#{msg.BUTTON_FINISH_REGISTRATION}" action="#{registerController.doRegister()}" />
+ <h:commandButton styleClass="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
+ <h:commandButton styleClass="submit" type="submit" id="register" value="#{msg.BUTTON_FINISH_REGISTRATION}" action="#{registerController.doRegister()}" />
</div>
</div>
</h:form>
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:h="http://xmlns.jcp.org/jsf/html">
- <ui:define name="title">#{msg.PAGE_TITLE_LOGIN_AREA} - <ui:insert name="login_title" class="login_title" /></ui:define>
+ <ui:define name="title">#{msg.PAGE_TITLE_LOGIN_AREA} - <ui:insert name="login_title">Default login title</ui:insert></ui:define>
<ui:define name="menu">
<ui:fragment rendered="#{userLoginController.isUserLoggedIn()}">
- <ui:include id="menu" class="login_menu" src="/WEB-INF/templates/login/login_menu.tpl" />
+ <ui:include src="/WEB-INF/templates/login/login_menu.tpl" />
</ui:fragment>
<ui:fragment rendered="#{not userLoginController.isUserLoggedIn()}">
- <h:outputText class="errors" value="#{msg.USER_NOT_LOGGED_IN}" />
+ <h:outputText styleClass="errors" value="#{msg.USER_NOT_LOGGED_IN}" />
</ui:fragment>
</ui:define>
<ui:define name="footer">
- <ui:include id="footer" class="login_footer" src="/WEB-INF/templates/login/login_footer.tpl" />
+ <ui:include id="footer" src="/WEB-INF/templates/login/login_footer.tpl" />
</ui:define>
</ui:composition>
</div>
<div class="table_right">
- <h:inputSecret class="input" id="currentPassword" size="10" maxlength="255" value="#{userLoginController.currentPassword}" required="true" validatorMessage="#{msg.ERROR_CURRENT_PASSWORD_MISMATCHING}">
- <h:message for="currentPassword" class="errors" />
+ <h:inputSecret styleClass="input" id="currentPassword" size="10" maxlength="255" value="#{userLoginController.currentPassword}" required="true" validatorMessage="#{msg.ERROR_CURRENT_PASSWORD_MISMATCHING}">
+ <h:message for="currentPassword" styleClass="errors" />
<!-- <f:validator for="currentPassword" validatorId="RecruiterUserPasswordValidator" /> //-->
</h:inputSecret>
</div>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" ?>
+<ui:composition
+ xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
+
+ <div class="table">
+ <div class="table_header">
+ #{msg.TABLE_HEADER_ERROR_USER_NOT_LOGGED_IN}
+ </div>
+
+ <div class="para errors">
+ <h:outputText value="#{msg.USER_IS_NOT_LOGGED_IN_FULL}" />
+ </div>
+ </div>
+</ui:composition>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" ?>
+<ui:composition
+ xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
+
+ <h:outputText styleClass="notice" value="#{msg.ERROR_PARAMETER_USER_NOT_SET}" rendered="#{empty user}" />
+
+ <h:outputText styleClass="notice" value="#{msg.USER_PROFILE_NOT_PUBLICLY_VISIBLE}" rendered="#{not empty user and not profileController.isProfileLinkVisibleByUser(user)}" />
+
+ <h:link id="userProfileLink" outcome="user_profile" title="#{msg.LINK_USER_PROFILE_TITLE}" rendered="#{not empty user and profileController.isProfileLinkVisibleByUser(user)}">
+ <h:outputText id="userName" value="#{user.userName}" />
+ <f:param name="userId" value="#{user.userId}" />
+ </h:link>
+</ui:composition>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" ?>
+<ui:composition
+ xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
+
+ <div class="table">
+ <div class="table_header">
+ #{msg.TABLE_HEADER_ERROR_HANDLING_USER_ID}
+ </div>
+
+ <div class="para">
+ <h:messages errorClass="errors" fatalClass="fatals" infoClass="infos" warnClass="warnings" showDetail="true" />
+ </div>
+ </div>
+</ui:composition>
<ui:include src="/WEB-INF/templates/admin/contact/admin_contact_data.tpl" />
<div class="table_footer">
- <h:commandButton class="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
- <h:commandButton class="delete_button" type="submit" id="register" value="#{msg.BUTTON_ADMIN_DELETE_CONTACT}" action="#{adminContactController.deleteContactData()}" />
+ <h:commandButton styleClass="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
+ <h:commandButton styleClass="delete_button" type="submit" id="register" value="#{msg.BUTTON_ADMIN_DELETE_CONTACT}" action="#{adminContactController.deleteContactData()}" />
</div>
</div>
</h:form>
</ui:include>
<div class="table_footer">
- <h:commandButton class="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
- <h:commandButton class="submit" type="submit" id="register" value="#{msg.BUTTON_ADMIN_EDIT_CONTACT}" action="#{adminContactController.editContactData()}" />
+ <h:commandButton styleClass="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
+ <h:commandButton styleClass="submit" type="submit" id="register" value="#{msg.BUTTON_ADMIN_EDIT_CONTACT}" action="#{adminContactController.editContactData()}" />
</div>
</div>
</h:form>
<ui:include src="/WEB-INF/templates/admin/contact/admin_form_contact_data.tpl" />
<div class="table_footer">
- <h:commandButton class="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
- <h:commandButton class="submit" type="submit" id="register" value="#{msg.BUTTON_ADMIN_ADD_CONTACT}" action="#{adminContactController.addContact()}" />
+ <h:commandButton styleClass="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
+ <h:commandButton styleClass="submit" type="submit" id="register" value="#{msg.BUTTON_ADMIN_ADD_CONTACT}" action="#{adminContactController.addContact()}" />
</div>
</h:form>
</div>
<ui:include src="/WEB-INF/templates/admin/country/admin_form_country_data.tpl" />
<div class="table_footer">
- <h:commandButton class="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
- <h:commandButton class="submit" type="submit" id="register" value="#{msg.BUTTON_ADMIN_ADD_COUNTRY}" action="#{adminCountryController.addCountry()}" />
+ <h:commandButton styleClass="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
+ <h:commandButton styleClass="submit" type="submit" id="register" value="#{msg.BUTTON_ADMIN_ADD_COUNTRY}" action="#{adminCountryController.addCountry()}" />
</div>
</div>
<ui:include src="/WEB-INF/templates/admin/mobile_provider/admin_form_mobile_provider.tpl" />
<div class="table_footer">
- <h:commandButton class="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
- <h:commandButton class="submit" type="submit" id="register" value="#{msg.BUTTON_ADMIN_ADD_MOBILE_PROVIDER}" action="#{adminMobileProviderController.addMobileProvider()}" />
+ <h:commandButton styleClass="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
+ <h:commandButton styleClass="submit" type="submit" id="register" value="#{msg.BUTTON_ADMIN_ADD_MOBILE_PROVIDER}" action="#{adminMobileProviderController.addMobileProvider()}" />
</div>
</div>
</ui:include>
<div class="table_footer">
- <h:commandButton class="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
- <h:commandButton class="submit" type="submit" id="register" value="#{msg.BUTTON_ADMIN_EDIT_USER}" action="#{adminUserController.editUserData()}" />
+ <h:commandButton styleClass="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
+ <h:commandButton styleClass="submit" type="submit" id="register" value="#{msg.BUTTON_ADMIN_EDIT_USER}" action="#{adminUserController.editUserData()}" />
</div>
</div>
</h:form>
</div>
<div class="table_right_medium">
- <h:selectOneMenu class="select" id="userContact" value="#{adminHelper.contact}" converter="ContactConverter">
+ <h:selectOneMenu styleClass="select" id="userContact" value="#{adminHelper.contact}" converter="ContactConverter">
<f:selectItem itemValue="" itemLabel="#{msg.NONE_SELECTED}" />
<f:selectItems value="#{adminUserController.selectableContacts()}" var="contact" itemValue="#{contact}" itemLabel="#{contact.contactId}: #{msg[contact.contactGender.messageKey]} #{contact.contactFirstName} #{contact.contactFamilyName}" />
</h:selectOneMenu>
<ui:include src="/WEB-INF/templates/admin/user/admin_form_user_personal_data.tpl" />
<div class="table_footer">
- <h:commandButton class="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
- <h:commandButton class="submit" type="submit" id="add" value="#{msg.BUTTON_ADMIN_ADD_USER}" action="#{adminUserController.addUser()}" />
+ <h:commandButton styleClass="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
+ <h:commandButton styleClass="submit" type="submit" id="register" value="#{msg.BUTTON_ADMIN_ADD_USER}" action="#{adminUserController.addUser()}" />
</div>
</h:form>
</div>
<div class="item_price">
<ui:fragment rendered="#{item.isProductType()}">
- <h:outputText class="price" value="#{item.itemProduct.productPrice}">
+ <h:outputText styleClass="price" value="#{item.itemProduct.productPrice}">
<f:convertNumber type="currency" minFractionDigits="2" maxFractionDigits="2" locale="de_DE" />
</h:outputText>
</ui:fragment>
<f:facet name="header">#{msg.TOTAL_ITEM_PRICE}</f:facet>
<div class="item_total_price">
- <h:outputText class="price" id="item_price" value="#{basketController.calculateItemPrice(item)}" rendered="#{item.isProductType()}">
+ <h:outputText styleClass="price" id="item_price" value="#{basketController.calculateItemPrice(item)}" rendered="#{item.isProductType()}">
<f:convertNumber type="currency" minFractionDigits="2" maxFractionDigits="2" locale="de_DE" />
</h:outputText>
</div>
</div>
<div class="para">
- <ui:include id="login_form" class="login_form" src="/WEB-INF/templates/guest/guest_login_form.tpl" />
+ <ui:include src="/WEB-INF/templates/guest/guest_login_form.tpl" />
</div>
<div class="para">
</div>
<div class="table_right">
- <h:inputText class="input" id="id" size="10" maxlength="20" value="#{passwordRecoveryController.userId}" />
+ <h:inputText styleClass="input" id="id" size="10" maxlength="20" value="#{passwordRecoveryController.userId}" />
</div>
<div class="clear"></div>
</div>
<div class="table_right">
- <h:inputText class="input" id="email" size="20" maxlength="255" value="#{passwordRecoveryController.emailAddress}" />
+ <h:inputText styleClass="input" id="email" size="20" maxlength="255" value="#{passwordRecoveryController.emailAddress}" />
</div>
<div class="clear"></div>
</fieldset>
<div class="table_footer">
- <h:commandButton class="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
- <h:commandButton class="submit" type="submit" value="#{msg.BUTTON_CONTINUE_STEP_2}" action="#{passwordRecoveryController.doLostPasswordStep2()}" />
+ <h:commandButton styleClass="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
+ <h:commandButton styleClass="submit" type="submit" value="#{msg.BUTTON_CONTINUE_STEP_2}" action="#{passwordRecoveryController.doLostPasswordStep2()}" />
</div>
</div>
</h:form>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html
+ lang="#{localizationController.language}" xml:lang="#{localizationController.language}"
+ xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
+ xmlns:h="http://xmlns.jcp.org/jsf/html"
+ xmlns:f="http://xmlns.jcp.org/jsf/core"
+ >
+
+ <ui:composition template="/WEB-INF/templates/guest/guest_base.tpl">
+ <ui:define name="guest_title">#{msg.PAGE_TITLE_USER_REGISTER_DONE}</ui:define>
+
+ <ui:define name="content_header">
+ #{msg.CONTENT_TITLE_USER_REGISTER_DONE}
+ </ui:define>
+
+ <ui:define name="content">
+ <div class="para">
+ #{msg.GUEST_USER_REGISTRATION_COMPLETED}
+ </div>
+
+ <div class="registration_form">
+ <h:link id="resend_link" styleClass="resend_link" value="#{msg.LINK_GUEST_RESENT_CONFIRMATION_LINK}" outcome="user_resend_link">
+ <f:param name="user_id" value="#{userController.userId}" />
+ </h:link>
+ </div>
+ </ui:define>
+ </ui:composition>
+</html>
<h:dataTable id="userList" var="user" value="#{adminUserController.allVisibleUsers()}" headerClass="table_header_column25" summary="#{msg.TABLE_SUMMARY_USER_LIST}" rendered="#{adminUserController.isVisibleUserFound()}">
<h:column>
<f:facet name="header">#{msg.USER_NAME}</f:facet>
- <ui:include src="/WEB-INF/templates/generic/user_profile_link.tpl">
+ <ui:include src="/WEB-INF/templates/user/user_profile_link.tpl">
<ui:param name="user" value="#{user}" />
</ui:include>
</h:column>
<ui:define name="content">
<c:choose>
<c:when test="#{userController.isUserIdEmpty()}">
- <ui:include src="/WEB-INF/templates/generic/userid_error.tpl" />
+ <ui:include src="/WEB-INF/templates/user/userid_error.tpl" />
</c:when>
<c:when test="#{profileController.isProfileLinkVisibleById(userController.userId)}">
<div class="table_right">
<div class="item_price">
#{msg.SINGLE_PRODUCT_PRICE}
- <h:outputText class="price" value="#{product.productPrice}">
+ <h:outputText styleClass="price" value="#{product.productPrice}">
<f:convertNumber type="currency" minFractionDigits="2" maxFractionDigits="2" locale="de_DE" />
</h:outputText>
</div>
<div class="item_total_price">
#{msg.TOTAL_ITEM_PRICE}
- <h:outputText class="price" value="#{msg.ITEM_NOT_ORDERED}" rendered="#{!basketController.isProductAdded(product)}" />
- <h:outputText class="price" value="#{basketController.calculateCurrentItemPrice()}" rendered="#{basketController.isProductAdded(product)}">
+ <h:outputText styleClass="price" value="#{msg.ITEM_NOT_ORDERED}" rendered="#{!basketController.isProductAdded(product)}" />
+ <h:outputText styleClass="price" value="#{basketController.calculateCurrentItemPrice()}" rendered="#{basketController.isProductAdded(product)}">
<f:convertNumber type="currency" minFractionDigits="2" maxFractionDigits="2" locale="de_DE" />
</h:outputText>
</div>
<div id="totals_container">
#{msg.TOTAL_ORDER_PRICE}
- <h:outputText class="price" id="total_sum" value="#{basketController.calculateTotalPrice()}">
+ <h:outputText styleClass="price" id="total_sum" value="#{basketController.calculateTotalPrice()}">
<f:convertNumber type="currency" minFractionDigits="2" maxFractionDigits="2" locale="de_DE" />
</h:outputText>
</div>
</div>
<div class="table_right">
- <h:inputText class="input" id="addressbookName" value="#{addressbookController.addressbookName}" maxlength="50" size="20" title="#{msg.LOGIN_ENTER_ADDRESSBOOK_NAME_TITLE}" required="true" requiredMessage="#{msg.LOGIN_ADDRESSBOOK_NAME_REQUIRED_MESSAGE}">
+ <h:inputText styleClass="input" id="addressbookName" value="#{addressbookController.addressbookName}" maxlength="50" size="20" title="#{msg.LOGIN_ENTER_ADDRESSBOOK_NAME_TITLE}" required="true" requiredMessage="#{msg.LOGIN_ADDRESSBOOK_NAME_REQUIRED_MESSAGE}">
<f:validator for="addressbookName" validatorId="AddressbookNameValidator" />
</h:inputText>
</div>
</div>
<div class="table_footer">
- <h:commandButton class="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
- <h:commandButton class="submit" type="submit" id="register" value="#{msg.BUTTON_LOGIN_ADD_ADDRESSBOOK}" action="#{addressbookController.addAddressbook()}" />
+ <h:commandButton styleClass="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
+ <h:commandButton styleClass="submit" type="submit" id="register" value="#{msg.BUTTON_LOGIN_ADD_ADDRESSBOOK}" action="#{addressbookController.addAddressbook()}" />
</div>
</div>
</h:form>
</ui:fragment>
<ui:fragment rendered="#{not userLoginController.isUserLoggedIn()}">
- <ui:include src="/WEB-INF/templates/generic/user_not_logged_in.tpl" />
+ <ui:include src="/WEB-INF/templates/user/user_not_logged_in.tpl" />
</ui:fragment>
</ui:define>
</ui:composition>
</div>
<div class="table_right">
- #{userController.emailAddress}
+ #{contactController.emailAddress}
</div>
<div class="clear"></div>
</div>
<div class="table_right">
- <h:inputText class="input" id="emailAddress" size="20" maxlength="255" value="#{emailChangeController.emailAddress}" required="true" />
+ <h:inputText styleClass="input" id="emailAddress" size="20" maxlength="255" value="#{emailChangeController.emailAddress}" required="true" />
</div>
<div class="clear"></div>
</div>
<div class="table_right">
- <h:inputText class="input" id="emailAddressRepeat" size="20" maxlength="255" value="#{emailChangeController.emailAddressRepeat}" required="true" />
+ <h:inputText styleClass="input" id="emailAddressRepeat" size="20" maxlength="255" value="#{emailChangeController.emailAddressRepeat}" required="true" />
</div>
<div class="clear"></div>
<ui:include src="/WEB-INF/templates/login/login_enter_current_password.tpl" />
<div class="table_footer">
- <h:commandButton class="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
- <h:commandButton class="submit" type="submit" id="change_email" value="#{msg.BUTTON_CHANGE_EMAIL_ADDRESS}" action="#{emailChangeController.doChangeEmailAddress()}" />
+ <h:commandButton styleClass="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
+ <h:commandButton styleClass="submit" type="submit" id="change_email" value="#{msg.BUTTON_CHANGE_EMAIL_ADDRESS}" action="#{emailChangeController.doChangeEmailAddress()}" />
</div>
</h:form>
</div>
</ui:fragment>
<ui:fragment rendered="#{not userLoginController.isUserLoggedIn()}">
- <ui:include src="/WEB-INF/templates/generic/user_not_logged_in.tpl" />
+ <ui:include src="/WEB-INF/templates/user/user_not_logged_in.tpl" />
</ui:fragment>
</ui:define>
</ui:composition>
</div>
<div class="table_right">
- <h:inputSecret class="input" id="password1" size="10" maxlength="255" value="#{userLoginController.userPassword}" required="true" />
+ <h:inputSecret styleClass="input" id="password1" size="10" maxlength="255" value="#{userLoginController.userPassword}" required="true" />
</div>
<div class="clear"></div>
</div>
<div class="table_right">
- <h:inputSecret class="input" id="password2" size="10" maxlength="255" value="#{userLoginController.userPasswordRepeat}" required="true" />
+ <h:inputSecret styleClass="input" id="password2" size="10" maxlength="255" value="#{userLoginController.userPasswordRepeat}" required="true" />
</div>
<div class="clear"></div>
<ui:include src="/WEB-INF/templates/login/login_enter_current_password.tpl" />
<div class="table_footer">
- <h:commandButton class="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
- <h:commandButton class="submit" type="submit" id="change_password" value="#{msg.BUTTON_CHANGE_PASSWORD}" action="#{userController.changePassword()}" />
+ <h:commandButton styleClass="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
+ <h:commandButton styleClass="submit" type="submit" id="change_password" value="#{msg.BUTTON_CHANGE_PASSWORD}" action="#{userController.changePassword()}" />
</div>
</h:form>
</div>
</ui:fragment>
<ui:fragment rendered="#{not userLoginController.isUserLoggedIn()}">
- <ui:include src="/WEB-INF/templates/generic/user_not_logged_in.tpl" />
+ <ui:include src="/WEB-INF/templates/user/user_not_logged_in.tpl" />
</ui:fragment>
</ui:define>
</ui:composition>
<ui:include src="/WEB-INF/templates/guest/guest_privacy_terms.tpl" />
<div class="table_footer">
- <h:commandButton class="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
- <h:commandButton class="submit" type="submit" id="change_personal_data" value="#{msg.BUTTON_CHANGE_PERSONAL_DATA}" action="#{userController.doChangePersonalData()}" />
+ <h:commandButton styleClass="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
+ <h:commandButton styleClass="submit" type="submit" id="change_personal_data" value="#{msg.BUTTON_CHANGE_PERSONAL_DATA}" action="#{userController.doChangePersonalData()}" />
</div>
</h:form>
</div>
</ui:fragment>
<ui:fragment rendered="#{not userLoginController.isUserLoggedIn()}">
- <ui:include src="/WEB-INF/templates/generic/user_not_logged_in.tpl" />
+ <ui:include src="/WEB-INF/templates/user/user_not_logged_in.tpl" />
</ui:fragment>
</ui:define>
</ui:composition>
<ui:define name="content">
<ui:fragment rendered="#{userLoginController.isUserLoggedIn()}">
- <ui:include id="message_box" src="/WEB-INF/templates/generic/message_box.tpl">
+ <ui:include src="/WEB-INF/templates/generic/message_box.tpl">
<ui:param name="message" value="#{msg.LOGIN_MESSAGE_DATA_SAVED}" />
</ui:include>
</ui:fragment>
<ui:fragment rendered="#{not userLoginController.isUserLoggedIn()}">
- <ui:include src="/WEB-INF/templates/generic/user_not_logged_in.tpl" />
+ <ui:include src="/WEB-INF/templates/user/user_not_logged_in.tpl" />
</ui:fragment>
</ui:define>
</ui:composition>
<ui:define name="content">
<ui:fragment rendered="#{userLoginController.isUserLoggedIn()}">
- <ui:include id="message_box" src="/WEB-INF/templates/generic/message_box.tpl">
+ <ui:include src="/WEB-INF/templates/generic/message_box.tpl">
<ui:param name="message" value="#{msg.LOGIN_MESSAGE_DATA_SAVED}" />
</ui:include>
</ui:fragment>
<ui:fragment rendered="#{not userLoginController.isUserLoggedIn()}">
- <ui:include src="/WEB-INF/templates/generic/user_not_logged_in.tpl" />
+ <ui:include src="/WEB-INF/templates/user/user_not_logged_in.tpl" />
</ui:fragment>
</ui:define>
</ui:composition>
</ui:fragment>
<ui:fragment rendered="#{not userLoginController.isUserLoggedIn()}">
- <ui:include src="/WEB-INF/templates/generic/user_not_logged_in.tpl" />
+ <ui:include src="/WEB-INF/templates/user/user_not_logged_in.tpl" />
</ui:fragment>
</ui:define>
</ui:composition>
</ui:fragment>
<ui:fragment rendered="#{not userLoginController.isUserLoggedIn()}">
- <ui:include src="/WEB-INF/templates/generic/user_not_logged_in.tpl" />
+ <ui:include src="/WEB-INF/templates/user/user_not_logged_in.tpl" />
</ui:fragment>
</ui:define>
</ui:composition>
</h:outputText>
<h:outputText rendered="#{not userLoginController.isUserLoggedIn()}">
- <ui:include src="/WEB-INF/templates/generic/user_not_logged_in.tpl" />
+ <ui:include src="/WEB-INF/templates/user/user_not_logged_in.tpl" />
</h:outputText>
</ui:define>
</ui:composition>
<ui:define name="content">
<ui:fragment rendered="#{userLoginController.isUserLoggedIn()}">
- <ui:include id="message_box" src="/WEB-INF/templates/generic/message_box.tpl">
+ <ui:include src="/WEB-INF/templates/generic/message_box.tpl">
<ui:param name="message" value="#{msg.LOGIN_MESSAGE_DATA_SAVED}" />
</ui:include>
</ui:fragment>
<ui:fragment rendered="#{not userLoginController.isUserLoggedIn()}">
- <ui:include src="/WEB-INF/templates/generic/user_not_logged_in.tpl" />
+ <ui:include src="/WEB-INF/templates/user/user_not_logged_in.tpl" />
</ui:fragment>
</ui:define>
</ui:composition>