]> git.mxchange.org Git - jfinancials-war.git/commitdiff
re-organized pages:
authorRoland Haeder <roland@mxchange.org>
Thu, 5 May 2016 14:06:36 +0000 (16:06 +0200)
committerRoland Haeder <roland@mxchange.org>
Thu, 5 May 2016 14:07:01 +0000 (16:07 +0200)
- moved /user/ -> /guest/user/ as these are pages for current guest but later users
- moved /login/ -> /user/ as these are pages for current (logged-in) users

52 files changed:
nbproject/faces-config.NavData
web/WEB-INF/faces-config.xml
web/guest/user/login.xhtml [new file with mode: 0644]
web/guest/user/login_error.xhtml [new file with mode: 0644]
web/guest/user/lost_passwd.xhtml [new file with mode: 0644]
web/guest/user/register.xhtml [new file with mode: 0644]
web/guest/user/register_done.xhtml [new file with mode: 0644]
web/guest/user/resend_link.xhtml [new file with mode: 0644]
web/guest/user/show_addressbook.xhtml [new file with mode: 0644]
web/guest/user/show_addressbook_entries.xhtml [new file with mode: 0644]
web/guest/user/user_list.xhtml [new file with mode: 0644]
web/guest/user/user_profile.xhtml [new file with mode: 0644]
web/login/index.xhtml [deleted file]
web/login/login_add_addressbook.xhtml [deleted file]
web/login/login_change_email_address.xhtml [deleted file]
web/login/login_change_password.xhtml [deleted file]
web/login/login_change_personal_data.xhtml [deleted file]
web/login/login_contact_data_saved.xhtml [deleted file]
web/login/login_data_saved.xhtml [deleted file]
web/login/login_edit_user_data.xhtml [deleted file]
web/login/login_index.xhtml [deleted file]
web/login/login_list_sharing_addressbooks.xhtml [deleted file]
web/login/login_other_addressbooks.xhtml [deleted file]
web/login/login_own_addressbooks.xhtml [deleted file]
web/login/login_shared_addressbooks.xhtml [deleted file]
web/login/login_start_sharing_addressbook.xhtml [deleted file]
web/login/login_user_data_saved.xhtml [deleted file]
web/user/index.xhtml [new file with mode: 0644]
web/user/login.xhtml [deleted file]
web/user/login_add_addressbook.xhtml [new file with mode: 0644]
web/user/login_change_email_address.xhtml [new file with mode: 0644]
web/user/login_change_password.xhtml [new file with mode: 0644]
web/user/login_change_personal_data.xhtml [new file with mode: 0644]
web/user/login_contact_data_saved.xhtml [new file with mode: 0644]
web/user/login_data_saved.xhtml [new file with mode: 0644]
web/user/login_edit_user_data.xhtml [new file with mode: 0644]
web/user/login_error.xhtml [deleted file]
web/user/login_index.xhtml [new file with mode: 0644]
web/user/login_list_sharing_addressbooks.xhtml [new file with mode: 0644]
web/user/login_other_addressbooks.xhtml [new file with mode: 0644]
web/user/login_own_addressbooks.xhtml [new file with mode: 0644]
web/user/login_shared_addressbooks.xhtml [new file with mode: 0644]
web/user/login_start_sharing_addressbook.xhtml [new file with mode: 0644]
web/user/login_user_data_saved.xhtml [new file with mode: 0644]
web/user/lost_passwd.xhtml [deleted file]
web/user/register.xhtml [deleted file]
web/user/register_done.xhtml [deleted file]
web/user/resend_link.xhtml [deleted file]
web/user/show_addressbook.xhtml [deleted file]
web/user/show_addressbook_entries.xhtml [deleted file]
web/user/user_list.xhtml [deleted file]
web/user/user_profile.xhtml [deleted file]

index 50c026e6ae4ddeb197b63c1ca0c94f133375a6cc..60dd8052251e5971bd8d26b79eeb65ae512dfbbb 100644 (file)
         <Node id="user/register_done.xhtml" x="400" y="600" zoom="true"/>
         <Node id="*" x="1900" y="300" zoom="true"/>
         <Node id="admin/admin_category_delete.xhtml" x="900" y="1050" zoom="true"/>
-        <Node id="user/login_error.xhtml" x="1150" y="600" zoom="true"/>
         <Node id="admin/cellphone/admin_contact_cellphone_edit.xhtml" x="650" y="600" zoom="true"/>
         <Node id="user/show_addressbook_entries.xhtml" x="1900" y="450" zoom="true"/>
         <Node id="user/lost_passwd.xhtml" x="150" y="1500" zoom="true"/>
         <Node id="user/login.xhtml" x="400" y="1050" zoom="true"/>
         <Node id="login/login_list_sharing_addressbooks.xhtml" x="150" y="1200" zoom="true"/>
-        <Node id="login/login_edit_user_data.xhtml" x="900" y="300" zoom="true"/>
         <Node id="admin/cellphone/admin_contact_cellphone_unlink.xhtml" x="1400" y="450" zoom="true"/>
         <Node id="login/login_contact_data_saved.xhtml" x="400" y="1200" zoom="true"/>
         <Node id="admin/country/admin_country_list.xhtml" x="2400" y="150" zoom="true"/>
+        <Node id="login/login_edit_user_data.xhtml" x="900" y="300" zoom="true"/>
         <Node id="login/login_shared_addressbooks.xhtml" x="400" y="750" zoom="true"/>
         <Node id="admin/mobile_provider/admin_mobile_provider_delete.xhtml" x="1400" y="300" zoom="true"/>
         <Node id="admin/mobile_provider/admin_mobile_provider_list.xhtml" x="1150" y="750" zoom="true"/>
         <Node id="basket.xhtml" x="150" y="900" zoom="true"/>
         <Node id="admin/cellphone/admin_contact_cellphone_delete.xhtml" x="1150" y="150" zoom="true"/>
-        <Node id="exception.xhtml" x="900" y="600" zoom="true"/>
         <Node id="login/login_data_saved.xhtml" x="400" y="900" zoom="true"/>
+        <Node id="exception.xhtml" x="900" y="600" zoom="true"/>
         <Node id="admin/user/admin_user_delete.xhtml" x="2150" y="150" zoom="true"/>
         <Node id="user/register.xhtml" x="1650" y="150" zoom="true"/>
         <Node id="login/login_index.xhtml" x="150" y="1350" zoom="true"/>
         <Node id="login/login_own_addressbooks.xhtml" x="900" y="750" zoom="true"/>
         <Node id="admin/user/admin_user_edit.xhtml" x="1900" y="150" zoom="true"/>
         <Node id="terms.xhtml" x="150" y="150" zoom="true"/>
-        <Node id="admin/contact/admin_contact_edit.xhtml" x="900" y="150" zoom="true"/>
         <Node id="admin/contact/admin_contact_list.xhtml" x="650" y="900" zoom="true"/>
+        <Node id="admin/contact/admin_contact_edit.xhtml" x="900" y="150" zoom="true"/>
         <Node id="admin/user/admin_user_list.xhtml" x="1650" y="600" zoom="true"/>
         <Node id="admin/country/admin_country_delete.xhtml" x="1150" y="450" zoom="true"/>
         <Node id="user/user_list.xhtml" x="400" y="300" zoom="true"/>
-        <Node id="login/login_user_data_saved.xhtml" x="2150" y="300" zoom="true"/>
-        <Node id="admin/country/admin_country_edit.xhtml" x="650" y="150" zoom="true"/>
         <Node id="logout.xhtml" x="1400" y="750" zoom="true"/>
-        <Node id="user/user_profile.xhtml" x="650" y="450" zoom="true"/>
-        <Node id="login/login_change_personal_data.xhtml" x="1650" y="300" zoom="true"/>
+        <Node id="admin/country/admin_country_edit.xhtml" x="650" y="150" zoom="true"/>
         <Node id="admin/contact/admin_contact_delete.xhtml" x="650" y="1050" zoom="true"/>
-        <Node id="imprint.xhtml" x="400" y="450" zoom="true"/>
+        <Node id="login/login_change_personal_data.xhtml" x="1650" y="300" zoom="true"/>
         <Node id="user/show_addressbook.xhtml" x="650" y="1200" zoom="true"/>
+        <Node id="imprint.xhtml" x="400" y="450" zoom="true"/>
         <Node id="admin/mobile_provider/admin_mobile_provider_edit.xhtml" x="1150" y="900" zoom="true"/>
-        <Node id="login/login_other_addressbooks.xhtml" x="150" y="450" zoom="true"/>
         <Node id="admin/cellphone/admin_contact_cellphone_show.xhtml" x="1400" y="150" zoom="true"/>
         <Node id="admin/admin_product_delete.xhtml" x="1400" y="600" zoom="true"/>
         <Node id="login/login_change_email_address.xhtml" x="150" y="1050" zoom="true"/>
index a8d5b23bc1c600b532e34f125fc915d84e3a9d28..2da1c597a8fb7ac40d36c0a01cf388b888142b94 100644 (file)
                </navigation-case>
                <navigation-case>
                        <from-outcome>user_register</from-outcome>
-                       <to-view-id>/user/register.xhtml</to-view-id>
+                       <to-view-id>/guest/user/register.xhtml</to-view-id>
                </navigation-case>
                <navigation-case>
                        <from-outcome>user_login</from-outcome>
-                       <to-view-id>/user/login.xhtml</to-view-id>
+                       <to-view-id>/guest/user/login.xhtml</to-view-id>
                </navigation-case>
                <navigation-case>
                        <from-outcome>user_lost_passwd</from-outcome>
-                       <to-view-id>/user/lost_passwd.xhtml</to-view-id>
+                       <to-view-id>/guest/user/lost_passwd.xhtml</to-view-id>
                </navigation-case>
                <navigation-case>
                        <from-outcome>terms</from-outcome>
                </navigation-case>
                <navigation-case>
                        <from-outcome>login_index</from-outcome>
-                       <to-view-id>/login/login_index.xhtml</to-view-id>
+                       <to-view-id>/user/login_index.xhtml</to-view-id>
                </navigation-case>
                <navigation-case>
                        <from-outcome>user_resend_link</from-outcome>
-                       <to-view-id>/user/resend_link.xhtml</to-view-id>
+                       <to-view-id>/guest/user/resend_link.xhtml</to-view-id>
                </navigation-case>
                <navigation-case>
                        <from-outcome>login_own_addressbooks</from-outcome>
-                       <to-view-id>/login/login_own_addressbooks.xhtml</to-view-id>
+                       <to-view-id>/user/login_own_addressbooks.xhtml</to-view-id>
                </navigation-case>
                <navigation-case>
                        <from-outcome>admin_logout</from-outcome>
                </navigation-case>
        </navigation-rule>
        <navigation-rule>
-               <from-view-id>/user/login.xhtml</from-view-id>
+               <from-view-id>/guest/user/login.xhtml</from-view-id>
                <navigation-case>
                        <from-outcome>login</from-outcome>
-                       <to-view-id>/login/login_index.xhtml</to-view-id>
+                       <to-view-id>/user/login_index.xhtml</to-view-id>
                </navigation-case>
                <navigation-case>
                        <from-outcome>login_index</from-outcome>
-                       <to-view-id>/login/index.xhtml</to-view-id>
+                       <to-view-id>/user/index.xhtml</to-view-id>
                </navigation-case>
        </navigation-rule>
        <navigation-rule>
-               <from-view-id>/user/register.xhtml</from-view-id>
+               <from-view-id>/guest/user/register.xhtml</from-view-id>
                <navigation-case>
                        <from-outcome>register_done</from-outcome>
-                       <to-view-id>/user/register_done.xhtml</to-view-id>
+                       <to-view-id>/guest/user/register_done.xhtml</to-view-id>
                </navigation-case>
        </navigation-rule>
        <navigation-rule>
                </navigation-case>
        </navigation-rule>
        <navigation-rule>
-               <from-view-id>/login/login_own_addressbooks.xhtml</from-view-id>
+               <from-view-id>/user/login_own_addressbooks.xhtml</from-view-id>
                <navigation-case>
                        <from-outcome>login_add_addressbook</from-outcome>
-                       <to-view-id>/login/login_add_addressbook.xhtml</to-view-id>
+                       <to-view-id>/user/login_add_addressbook.xhtml</to-view-id>
                </navigation-case>
                <navigation-case>
                        <from-outcome>user_show_addressbook</from-outcome>
-                       <to-view-id>/user/show_addressbook.xhtml</to-view-id>
+                       <to-view-id>/guest/user/show_addressbook.xhtml</to-view-id>
                </navigation-case>
                <navigation-case>
                        <from-outcome>show_addressbook_entries</from-outcome>
-                       <to-view-id>/user/show_addressbook_entries.xhtml</to-view-id>
+                       <to-view-id>/guest/user/show_addressbook_entries.xhtml</to-view-id>
                </navigation-case>
        </navigation-rule>
        <navigation-rule>
-               <from-view-id>/user/user_list.xhtml</from-view-id>
+               <from-view-id>/guest/user/user_list.xhtml</from-view-id>
                <navigation-case>
                        <from-outcome>login_list_sharing_addressbooks</from-outcome>
-                       <to-view-id>/login/login_list_sharing_addressbooks.xhtml</to-view-id>
+                       <to-view-id>/user/login_list_sharing_addressbooks.xhtml</to-view-id>
                </navigation-case>
        </navigation-rule>
        <navigation-rule>
-               <from-view-id>/user/show_addressbook.xhtml</from-view-id>
+               <from-view-id>/guest/user/show_addressbook.xhtml</from-view-id>
                <navigation-case>
                        <from-outcome>login_start_sharing_addressbook</from-outcome>
-                       <to-view-id>/login/login_start_sharing_addressbook.xhtml</to-view-id>
+                       <to-view-id>/user/login_start_sharing_addressbook.xhtml</to-view-id>
                </navigation-case>
        </navigation-rule>
        <navigation-rule>
-               <from-view-id>/login/login_shared_addressbooks.xhtml</from-view-id>
+               <from-view-id>/user/login_shared_addressbooks.xhtml</from-view-id>
                <navigation-case>
                        <from-outcome>user_show_addressbook</from-outcome>
-                       <to-view-id>/user/show_addressbook.xhtml</to-view-id>
+                       <to-view-id>/guest/user/show_addressbook.xhtml</to-view-id>
                </navigation-case>
        </navigation-rule>
        <navigation-rule>
-               <from-view-id>/login/login_edit_user_data.xhtml</from-view-id>
+               <from-view-id>/user/login_edit_user_data.xhtml</from-view-id>
                <navigation-case>
                        <from-outcome>login_change_email_address</from-outcome>
-                       <to-view-id>/login/login_change_email_address.xhtml</to-view-id>
+                       <to-view-id>/user/login_change_email_address.xhtml</to-view-id>
                </navigation-case>
                <navigation-case>
                        <from-outcome>login_change_password</from-outcome>
-                       <to-view-id>/login/login_change_password.xhtml</to-view-id>
+                       <to-view-id>/user/login_change_password.xhtml</to-view-id>
                </navigation-case>
                <navigation-case>
                        <from-outcome>login_change_personal_data</from-outcome>
-                       <to-view-id>/login/login_change_personal_data.xhtml</to-view-id>
+                       <to-view-id>/user/login_change_personal_data.xhtml</to-view-id>
                </navigation-case>
        </navigation-rule>
        <navigation-rule>
-               <from-view-id>/login/login_change_password.xhtml</from-view-id>
+               <from-view-id>/user/login_change_password.xhtml</from-view-id>
                <navigation-case>
                        <from-outcome>login_data_saved</from-outcome>
-                       <to-view-id>/login/login_data_saved.xhtml</to-view-id>
+                       <to-view-id>/user/login_data_saved.xhtml</to-view-id>
                </navigation-case>
        </navigation-rule>
        <navigation-rule>
-               <from-view-id>/login/login_change_email_address.xhtml</from-view-id>
+               <from-view-id>/user/login_change_email_address.xhtml</from-view-id>
                <navigation-case>
                        <from-outcome>contact_data_saved</from-outcome>
-                       <to-view-id>/login/login_contact_data_saved.xhtml</to-view-id>
+                       <to-view-id>/user/login_contact_data_saved.xhtml</to-view-id>
                </navigation-case>
                <navigation-case>
                        <from-outcome>admin_delete_product</from-outcome>
                </navigation-case>
        </navigation-rule>
        <navigation-rule>
-               <from-view-id>/login/login_change_personal_data.xhtml</from-view-id>
+               <from-view-id>/user/login_change_personal_data.xhtml</from-view-id>
                <navigation-case>
                        <from-outcome>login_data_saved</from-outcome>
-                       <to-view-id>/login/login_data_saved.xhtml</to-view-id>
+                       <to-view-id>/user/login_data_saved.xhtml</to-view-id>
                </navigation-case>
                <navigation-case>
                        <from-outcome>admin_delete_category</from-outcome>
diff --git a/web/guest/user/login.xhtml b/web/guest/user/login.xhtml
new file mode 100644 (file)
index 0000000..0b0efb6
--- /dev/null
@@ -0,0 +1,33 @@
+<?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" id="user_login">
+               <ui:define name="guest_title">#{msg.PAGE_TITLE_USER_LOGIN}</ui:define>
+
+               <ui:define name="content_header">
+                       #{msg.CONTENT_TITLE_USER_LOGIN}
+               </ui:define>
+
+               <ui:define name="content">
+                       <div class="para">
+                               <!-- TODO Internatialize this somehow //-->
+                               Noch kein Benutzerkonto? Einfach <h:link id="user_register" outcome="user_register" title="Als Benutzer anmelden">hier</h:link> anmelden.
+                       </div>
+
+                       <div class="para">
+                               <ui:include id="login_form" class="login_form" src="/WEB-INF/templates/guest/guest_login_form.tpl" />
+                       </div>
+
+                       <div class="para">
+                               <h:link id="user_lost_password" outcome="user_lost_passwd" title="#{msg.LINK_TITLE_GUEST_LOGIN_LOST_PASSWORD}" value="#{msg.LINK_GUEST_LOGIN_LOST_PASSWORD}" />
+                       </div>
+               </ui:define>
+       </ui:composition>
+</html>
diff --git a/web/guest/user/login_error.xhtml b/web/guest/user/login_error.xhtml
new file mode 100644 (file)
index 0000000..85361e7
--- /dev/null
@@ -0,0 +1,23 @@
+<?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:c="http://xmlns.jcp.org/jsp/jstl/core"
+         xmlns:f="http://xmlns.jcp.org/jsf/core"
+         >
+
+       <ui:composition template="/WEB-INF/templates/guest/guest_base.tpl" id="login_error">
+               <ui:define name="guest_title">#{msg.PAGE_TITLE_USER_LOGIN_ERROR}</ui:define>
+
+               <ui:define name="content_header">
+                       #{msg.CONTENT_TITLE_USER_LOGIN_ERROR}
+               </ui:define>
+
+               <ui:define name="content">
+                       Hier kommt die Fehlermeldung hin.
+               </ui:define>
+       </ui:composition>
+</html>
diff --git a/web/guest/user/lost_passwd.xhtml b/web/guest/user/lost_passwd.xhtml
new file mode 100644 (file)
index 0000000..c6c0848
--- /dev/null
@@ -0,0 +1,68 @@
+<?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_LOST_PASSWORD}</ui:define>
+
+               <ui:define name="content_header">
+                       #{msg.CONTENT_TITLE_USER_LOST_PASSWORD}
+               </ui:define>
+
+               <ui:define name="content">
+                       <div class="para" id="user_lost_password_content">
+                               <h:form id="lost_password_form">
+                                       <div class="table">
+                                               <div class="table_header">
+                                                       #{msg.GUEST_LOST_PASSWORD_TITLE}
+                                               </div>
+
+                                               <fieldset id="login_data">
+                                                       <legend title="#{msg.GUEST_LOST_PASSWORD_LEGEND_TITLE}">#{msg.GUEST_LOST_PASSWORD_LEGEND}</legend>
+
+                                                       <div class="table_row">
+                                                               <div class="table_left">
+                                                                       <h:outputLabel for="id" value="#{msg.ENTER_USER_NAME}" />
+                                                               </div>
+
+                                                               <div class="table_right">
+                                                                       <h:inputText class="input" id="id" size="10" maxlength="20" value="#{passwordRecoveryController.userId}" />
+                                                               </div>
+
+                                                               <div class="clear"></div>
+                                                       </div>
+
+                                                       <div class="table_header">
+                                                               #{msg.GUEST_LOST_PASSWORD_NUMBER_OR_EMAIL}
+                                                       </div>
+
+                                                       <div class="table_row">
+                                                               <div class="table_left">
+                                                                       <h:outputLabel for="email" value="#{msg.ENTER_EMAIL_ADDRESS}" />
+                                                               </div>
+
+                                                               <div class="table_right">
+                                                                       <h:inputText class="input" id="email" size="20" maxlength="255" value="#{passwordRecoveryController.emailAddress}" />
+                                                               </div>
+
+                                                               <div class="clear"></div>
+                                                       </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()}" />
+                                               </div>
+                                       </div>
+                               </h:form>
+                       </div>
+               </ui:define>
+       </ui:composition>
+</html>
diff --git a/web/guest/user/register.xhtml b/web/guest/user/register.xhtml
new file mode 100644 (file)
index 0000000..b03c31e
--- /dev/null
@@ -0,0 +1,30 @@
+<?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}</ui:define>
+
+               <ui:define name="content_header">
+                       #{msg.CONTENT_TITLE_USER_REGISTER}
+               </ui:define>
+
+               <ui:define name="content">
+                       <div class="para">
+                               #{msg.GUEST_ALREADY_USER_CONTINUE_LOGIN_1}
+                               <h:link outcome="user_login" value="#{msg.CLICK_HERE}" />
+                               #{msg.GUEST_ALREADY_USER_CONTINUE_LOGIN_2}
+                       </div>
+
+                       <div class="registration_form">
+                               <ui:include src="/WEB-INF/templates/guest/guest_registration_form.tpl" />
+                       </div>
+               </ui:define>
+       </ui:composition>
+</html>
diff --git a/web/guest/user/register_done.xhtml b/web/guest/user/register_done.xhtml
new file mode 100644 (file)
index 0000000..bbec38e
--- /dev/null
@@ -0,0 +1,30 @@
+<?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" class="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>
diff --git a/web/guest/user/resend_link.xhtml b/web/guest/user/resend_link.xhtml
new file mode 100644 (file)
index 0000000..89da750
--- /dev/null
@@ -0,0 +1,22 @@
+<?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_INDEX_RESEND_LINK}</ui:define>
+
+               <ui:define name="content_header">
+                       #{msg.CONTENT_TITLE_INDEX_RESEND_LINK}
+               </ui:define>
+
+               <ui:define name="content">
+                       Here goes your content.
+               </ui:define>
+       </ui:composition>
+</html>
diff --git a/web/guest/user/show_addressbook.xhtml b/web/guest/user/show_addressbook.xhtml
new file mode 100644 (file)
index 0000000..1a1193f
--- /dev/null
@@ -0,0 +1,58 @@
+<?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">
+
+       <f:metadata>
+               <f:viewParam id="addressbookId" name="addressbookId" value="#{addressbookController.addressbookId}" required="true" requiredMessage="#{msg.PARAMETER_ADDRESSBOOK_ID_MISSING}" converterMessage="#{msg.PARAMETER_ADDRESSBOOK_ID_INVALID}" validatorMessage="#{msg.PARAMETER_ADDRESSBOOK_ID_NOT_FOUND}">
+                       <f:convertNumber for="addressbookId" type="number" minIntegerDigits="1" maxIntegerDigits="20" />
+                       <f:validator for="addressbookId" validatorId="AddressbookIdValidator" />
+               </f:viewParam>
+       </f:metadata>
+
+       <ui:composition template="/WEB-INF/templates/#{loginController.templateType}/#{loginController.templateType}_base.tpl">
+               <ui:define name="login_title">#{msg.PAGE_TITLE_USER_SHOW_ADDRESSBOOK}</ui:define>
+               <ui:define name="guest_title">#{msg.PAGE_TITLE_INDEX_SHOW_ADDRESSBOOK}</ui:define>
+
+               <ui:define name="content_header">
+                       #{msg.CONTENT_TITLE_USER_SHOW_ADDRESSBOOK}
+               </ui:define>
+
+               <ui:define name="content">
+                       <h:panelGrid headerClass="table_header" styleClass="table" columns="2" rendered="#{addressbookController.loadAddressbook()}">
+                               <f:facet name="header">#{msg.TABLE_HEADER_SHOW_ADDRESSBOOK}</f:facet>
+
+                               <h:outputLabel for="addressbookName" class="table_label">#{msg.ADDRESSBOOK_NAME}</h:outputLabel>
+                               <h:outputText id="addressbookName" value="#{addressbookController.addressbookName}" />
+
+                               <h:outputLabel for="userProfileLink" class="table_label">#{msg.ADDRESSBOOK_OWNER}</h:outputLabel>
+                               <ui:include src="/WEB-INF/templates/generic/user_profile_link.tpl">
+                                       <ui:param name="user" value="#{addressbookController.addressbookUser}" />
+                               </ui:include>
+
+                               <h:outputLabel for="addressbookCreated" class="table_label">#{msg.ADDRESSBOOK_CREATED}</h:outputLabel>
+                               <h:outputFormat id="addressbookCreated" value="#{addressbookController.addressbook.addressbookCreated.time}" title="#{msg.ADDRESSBOOK_CREATED_TITLE}">
+                                       <f:convertDateTime for="addressbookCreated" type="both" timeStyle="short" dateStyle="medium" />
+                               </h:outputFormat>
+
+                               <h:outputLabel for="addressbookStatus" class="table_label">#{msg.ADDRESSBOOK_STATUS}</h:outputLabel>
+                               <h:outputText id="addressbookStatus" value="#{msg[addressbookController.addressbook.addressbookStatus.messageKey]}" title="#{msg.ADDRESSBOOK_STATUS_TITLE}" />
+
+                               <f:facet name="footer">
+                                       <h:outputText id="ownProfileInvible" class="notice" value="#{msg.USER_NOT_LOGGED_IN}" rendered="#{not loginController.isUserLoggedIn()}" />
+                                       <h:outputText id="ownProfileInvible" class="notice" value="#{msg.LOGIN_OWN_PROFILE_INVISIBLE}" rendered="#{loginController.isUserLoggedIn() and loginController.isInvisible()}" />
+
+                                       <ui:fragment rendered="#{loginController.isUserLoggedIn() and not loginController.isInvisible()}">
+                                               <h:link id="startSharing" outcome="login_start_sharing_addressbook" value="#{msg.LINK_LOGIN_START_SHARING_ADDRESSBOOK}" title="#{msg.LINK_LOGIN_START_SHARING_ADDRESSBOOK_TITLE}" rendered="#{addressbookController.isOwnAddressbook()}" />
+
+                                               <h:outputText value="Bla bla" rendered="#{addressbookController.isOtherAddressbook()}" />
+                                       </ui:fragment>
+                               </f:facet>
+                       </h:panelGrid>
+               </ui:define>
+       </ui:composition>
+</html>
diff --git a/web/guest/user/show_addressbook_entries.xhtml b/web/guest/user/show_addressbook_entries.xhtml
new file mode 100644 (file)
index 0000000..0164c1a
--- /dev/null
@@ -0,0 +1,22 @@
+<?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/login/login_base.tpl">
+               <ui:define name="login_title">#{msg.PAGE_TITLE_USER_SHOW_ADDRESSBOOK_ENTRIES}</ui:define>
+
+               <ui:define name="content_header">
+                       #{msg.CONTENT_TITLE_USER_SHOW_ADDRESSBOOK_ENTRIES}
+               </ui:define>
+
+               <ui:define name="content">
+                       Here goes your content.
+               </ui:define>
+       </ui:composition>
+</html>
diff --git a/web/guest/user/user_list.xhtml b/web/guest/user/user_list.xhtml
new file mode 100644 (file)
index 0000000..60b60b7
--- /dev/null
@@ -0,0 +1,51 @@
+<?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/#{loginController.templateType}/#{loginController.templateType}_base.tpl">
+               <ui:define name="login_title">#{msg.PAGE_TITLE_USER_LIST}</ui:define>
+
+               <ui:define name="content_header">
+                       #{msg.CONTENT_TITLE_USER_LIST}
+               </ui:define>
+
+               <ui:define name="content">
+                       <div class="table_big">
+                               <div class="table_header">
+                                       #{msg.TABLE_HEADER_USER_LIST}
+                               </div>
+
+                               <h:dataTable id="userList" var="user" value="#{userController.allVisibleUsers()}" headerClass="table_header_column25" summary="#{msg.TABLE_SUMMARY_USER_LIST}" rendered="#{userController.isVisibleUserFound()}">
+                                       <h:column>
+                                               <f:facet name="header">#{msg.USER_NAME}</f:facet>
+                                               <ui:include src="/WEB-INF/templates/generic/user_profile_link.tpl">
+                                                       <ui:param name="user" value="#{user}" />
+                                               </ui:include>
+                                       </h:column>
+
+                                       <h:column>
+                                               <f:facet name="header">#{msg.USER_CREATED}</f:facet>
+                                               <h:outputFormat id="userCreated" value="#{user.userCreated.time}" title="#{msg.USER_CREATED_TITLE}" />
+                                       </h:column>
+
+                                       <h:column>
+                                               <f:facet name="header">#{msg.USER_LIST_SHARING_ADDRESSBOOKS}</f:facet>
+                                               <ui:fragment rendered="#{loginController.isUserLoggedIn()}">
+                                                       <h:link outcome="login_list_sharing_addressbooks" value="#{msg.LINK_LOGIN_LIST_SHARING_ADDRESSBOOKS}" title="#{msg.LINK_LOGIN_LIST_SHARING_ADDRESSBOOKS_TITLE}">
+                                                               <f:param name="userId" value="#{user.userId}" />
+                                                       </h:link>
+                                               </ui:fragment>
+                                               <ui:fragment rendered="#{loginController.isGuest()}">
+                                                       <h:outputText id="userShared" value="#{addressbookController.countAllUserSharedAddressbooks(user)}" />
+                                               </ui:fragment>
+                                       </h:column>
+                               </h:dataTable>
+                       </div>
+               </ui:define>
+       </ui:composition>
+</html>
diff --git a/web/guest/user/user_profile.xhtml b/web/guest/user/user_profile.xhtml
new file mode 100644 (file)
index 0000000..0e58740
--- /dev/null
@@ -0,0 +1,48 @@
+<?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"
+         xmlns:c="http://xmlns.jcp.org/jsp/jstl/core">
+
+       <f:metadata>
+               <f:viewParam id="userId" name="userId" value="#{userController.userId}" required="true" requiredMessage="#{msg.PARAMETER_USER_ID_MISSING}" converterMessage="#{msg.PARAMETER_USER_ID_INVALID}" validatorMessage="#{msg.PARAMETER_USER_ID_NOT_FOUND}">
+                       <f:convertNumber for="userId" type="number" minIntegerDigits="1" maxIntegerDigits="20" />
+                       <f:validator for="userId" validatorId="UserIdValidator" />
+               </f:viewParam>
+       </f:metadata>
+
+       <ui:composition template="/WEB-INF/templates/#{loginController.templateType}/#{loginController.templateType}_base.tpl">
+               <ui:define name="login_title">#{msg.PAGE_TITLE_LOGIN_USER_PROFILE}</ui:define>
+               <ui:define name="guest_title">#{msg.PAGE_TITLE_INDEX_USER_PROFILE}</ui:define>
+
+               <ui:define name="content_header">
+                       #{msg.CONTENT_TITLE_INDEX_USER_PROFILE}
+               </ui:define>
+
+               <ui:define name="content">
+                       <c:choose>
+                               <c:when test="#{userController.isUserIdEmpty()}">
+                                       <ui:include src="/WEB-INF/templates/generic/userid_error.tpl" />
+                               </c:when>
+
+                               <c:when test="#{profileController.isProfileLinkVisibleById(userController.userId)}">
+                                       <div align="center">
+                                               <h:panelGrid styleClass="table" headerClass="table_header" footerClass="table_footer">
+                                                       <f:facet name="header">
+                                                               #{msg.PUBLIC_USER_PROFILE}
+                                                       </f:facet>
+                                               </h:panelGrid>
+                                       </div>
+                               </c:when>
+
+                               <c:otherwise>
+                                       #{msg.ERROR_PROFILE_NOT_VISIBLE}
+                               </c:otherwise>
+                       </c:choose>
+               </ui:define>
+       </ui:composition>
+</html>
diff --git a/web/login/index.xhtml b/web/login/index.xhtml
deleted file mode 100644 (file)
index dafff40..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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"
-         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="guest_title">#{msg.PAGE_TITLE_LOGIN_FOO}</ui:define>
-
-               <ui:define name="menu">
-                       <ui:include id="menu" class="login_menu" src="/WEB-INF/templates/login/login_menu.tpl" />
-               </ui:define>
-
-               <ui:define name="content_header">
-                       #{msg.SUB_TITLE_LOGIN_FOO}
-               </ui:define>
-
-               <ui:define name="content">
-                       Here goes your content.
-               </ui:define>
-
-               <ui:define name="footer">
-                       <ui:include id="footer" class="login_footer" src="/WEB-INF/templates/login/login_footer.tpl" />
-               </ui:define>
-       </ui:composition>
-</html>
diff --git a/web/login/login_add_addressbook.xhtml b/web/login/login_add_addressbook.xhtml
deleted file mode 100644 (file)
index 7f1c857..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-<?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/login/login_base.tpl">
-               <ui:define name="login_title">#{msg.PAGE_TITLE_LOGIN_ADD_ADDRESSBOOK}</ui:define>
-
-               <ui:define name="content_header">
-                       #{msg.CONTENT_TITLE_LOGIN_ADD_ADDRESSBOOK}
-               </ui:define>
-
-               <ui:define name="content">
-                       <ui:fragment rendered="#{loginController.isUserLoggedIn()}">
-                               <h:form id="add_addressbook" acceptcharset="utf-8">
-                                       <div class="table">
-                                               <div class="table_header">
-                                                       #{msg.FORM_LOGIN_ADD_ADDRESSBOOK_TITLE}
-                                               </div>
-
-                                               <div class="table_row">
-                                                       <div class="table_left">
-                                                               <h:outputLabel for="addressbookName" value="#{msg.LOGIN_ENTER_ADDRESSBOOK_NAME}"/>
-                                                       </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}">
-                                                                       <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()}" />
-                                               </div>
-                                       </div>
-                               </h:form>
-                       </ui:fragment>
-
-                       <ui:fragment rendered="#{not loginController.isUserLoggedIn()}">
-                               <ui:include id="login_only" src="/WEB-INF/templates/generic/user_not_logged_in.tpl" />
-                       </ui:fragment>
-               </ui:define>
-       </ui:composition>
-</html>
diff --git a/web/login/login_change_email_address.xhtml b/web/login/login_change_email_address.xhtml
deleted file mode 100644 (file)
index 702312d..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-<?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/login/login_base.tpl">
-               <ui:define name="login_title">#{msg.PAGE_TITLE_LOGIN_CHANGE_EMAIL_ADDRESS}</ui:define>
-
-               <ui:define name="content_header">
-                       #{msg.CONTENT_TITLE_LOGIN_CHANGE_EMAIL_ADDRESS}
-               </ui:define>
-
-               <ui:define name="content">
-                       <ui:fragment rendered="#{loginController.isUserLoggedIn()}">
-                               <div class="table">
-                                       <div class="table_header">
-                                               #{msg.LOGIN_CHANGE_EMAIL_ADDRESS_TITLE}
-                                       </div>
-
-                                       <h:form id="login_form">
-                                               <div class="para">
-                                                       <fieldset id="change_email">
-                                                               <legend title="#{msg.LOGIN_CHANGE_EMAIL_LEGEND_TITLE}">#{msg.LOGIN_CHANGE_EMAIL_LEGEND}</legend>
-
-                                                               <div class="table_row">
-                                                                       <div class="table_left">
-                                                                               #{msg.LOGIN_CHANGE_EMAIL_OLD_ADDRESS}
-                                                                       </div>
-
-                                                                       <div class="table_right">
-                                                                               #{userController.emailAddress}
-                                                                       </div>
-
-                                                                       <div class="clear"></div>
-                                                               </div>
-
-                                                               <div class="table_row">
-                                                                       <div class="table_left">
-                                                                               <h:outputLabel for="emailAddress1" value="#{msg.LOGIN_CHANGE_EMAIL_ENTER_EMAIL1}" />
-                                                                       </div>
-
-                                                                       <div class="table_right">
-                                                                               <h:inputText class="input" id="emailAddress1" size="20" maxlength="255" value="#{emailChangeController.emailAddress1}" required="true" />
-                                                                       </div>
-
-                                                                       <div class="clear"></div>
-                                                               </div>
-
-                                                               <div class="table_row">
-                                                                       <div class="table_left">
-                                                                               <h:outputLabel for="emailAddress2" value="#{msg.LOGIN_CHANGE_EMAIL_ENTER_EMAIL2}" />
-                                                                       </div>
-
-                                                                       <div class="table_right">
-                                                                               <h:inputText class="input" id="emailAddress2" size="20" maxlength="255" value="#{emailChangeController.emailAddress2}" required="true" />
-                                                                       </div>
-
-                                                                       <div class="clear"></div>
-                                                               </div>
-                                                       </fieldset>
-                                               </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()}" />
-                                               </div>
-                                       </h:form>
-                               </div>
-                       </ui:fragment>
-
-                       <ui:fragment rendered="#{not loginController.isUserLoggedIn()}">
-                               <ui:include id="login_only" src="/WEB-INF/templates/generic/user_not_logged_in.tpl" />
-                       </ui:fragment>
-               </ui:define>
-       </ui:composition>
-</html>
diff --git a/web/login/login_change_password.xhtml b/web/login/login_change_password.xhtml
deleted file mode 100644 (file)
index bfd384d..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-<?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/login/login_base.tpl">
-               <ui:define name="login_title">#{msg.PAGE_TITLE_LOGIN_CHANGE_PASSWORD}</ui:define>
-
-               <ui:define name="content_header">
-                       #{msg.CONTENT_TITLE_LOGIN_CHANGE_PASSWORD}
-               </ui:define>
-
-               <ui:define name="content">
-                       <ui:fragment rendered="#{loginController.isUserLoggedIn()}">
-                               <div class="table">
-                                       <div class="table_header">
-                                               #{msg.LOGIN_CHANGE_PASSWORD_TITLE}
-                                       </div>
-
-                                       <h:form id="login_form">
-                                               <div class="para">
-                                                       <fieldset id="change_password">
-                                                               <legend title="#{msg.LOGIN_CHANGE_PASSWORD_LEGEND_TITLE}">#{msg.LOGIN_CHANGE_PASSWORD_LEGEND}</legend>
-
-                                                               <div class="table_row">
-                                                                       <div class="table_left">
-                                                                               <h:outputLabel for="password1" value="#{msg.GUEST_REGISTRATION_ENTER_PASSWORD1}" />
-                                                                       </div>
-
-                                                                       <div class="table_right">
-                                                                               <h:inputSecret class="input" id="password1" size="10" maxlength="255" value="#{loginController.userPassword}" required="true" />
-                                                                       </div>
-
-                                                                       <div class="clear"></div>
-                                                               </div>
-
-                                                               <div class="table_row">
-                                                                       <div class="table_left">
-                                                                               <h:outputLabel for="password2" value="#{msg.GUEST_REGISTRATION_ENTER_PASSWORD2}" />
-                                                                       </div>
-
-                                                                       <div class="table_right">
-                                                                               <h:inputSecret class="input" id="password2" size="10" maxlength="255" value="#{loginController.userPasswordRepeat}" required="true" />
-                                                                       </div>
-
-                                                                       <div class="clear"></div>
-                                                               </div>
-                                                       </fieldset>
-                                               </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()}" />
-                                               </div>
-                                       </h:form>
-                               </div>
-                       </ui:fragment>
-
-                       <ui:fragment rendered="#{not loginController.isUserLoggedIn()}">
-                               <ui:include id="login_only" src="/WEB-INF/templates/generic/user_not_logged_in.tpl" />
-                       </ui:fragment>
-               </ui:define>
-       </ui:composition>
-</html>
diff --git a/web/login/login_change_personal_data.xhtml b/web/login/login_change_personal_data.xhtml
deleted file mode 100644 (file)
index e4c482c..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-<?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/login/login_base.tpl">
-               <ui:define name="login_title">#{msg.PAGE_TITLE_LOGIN_CHANGE_PERSONAL_DATA}</ui:define>
-
-               <ui:define name="content_header">
-                       #{msg.CONTENT_TITLE_LOGIN_CHANGE_PERSONAL_DATA}
-               </ui:define>
-
-               <ui:define name="content">
-                       <ui:fragment rendered="#{loginController.isUserLoggedIn()}">
-                               <div class="table">
-                                       <div class="table_header">
-                                               #{msg.LOGIN_CHANGE_PERSONAL_DATA_TITLE}
-                                       </div>
-
-                                       <h:form id="login_change_personal_form">
-                                               <ui:include src="/WEB-INF/templates/generic/form_personal_data.tpl" />
-
-                                               <ui:include src="/WEB-INF/templates/login/login_enter_current_password.tpl" />
-
-                                               <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()}" />
-                                               </div>
-                                       </h:form>
-                               </div>
-                       </ui:fragment>
-
-                       <ui:fragment rendered="#{not loginController.isUserLoggedIn()}">
-                               <ui:include id="login_only" src="/WEB-INF/templates/generic/user_not_logged_in.tpl" />
-                       </ui:fragment>
-               </ui:define>
-       </ui:composition>
-</html>
diff --git a/web/login/login_contact_data_saved.xhtml b/web/login/login_contact_data_saved.xhtml
deleted file mode 100644 (file)
index 25b6967..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-<?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/login/login_base.tpl">
-               <ui:define name="login_title">#{msg.PAGE_TITLE_LOGIN_CONTACT_DATA_SAVED}</ui:define>
-
-               <ui:define name="content_header">
-                       #{msg.CONTENT_TITLE_LOGIN_CONTACT_DATA_SAVED}
-               </ui:define>
-
-               <ui:define name="content">
-                       <ui:fragment rendered="#{loginController.isUserLoggedIn()}">
-                               <ui:include id="message_box" 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 loginController.isUserLoggedIn()}">
-                               <ui:include id="login_only" src="/WEB-INF/templates/generic/user_not_logged_in.tpl" />
-                       </ui:fragment>
-               </ui:define>
-       </ui:composition>
-</html>
diff --git a/web/login/login_data_saved.xhtml b/web/login/login_data_saved.xhtml
deleted file mode 100644 (file)
index 0fd6316..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-<?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/login/login_base.tpl">
-               <ui:define name="login_title">#{msg.PAGE_TITLE_LOGIN_DATA_SAVED}</ui:define>
-
-               <ui:define name="content_header">
-                       #{msg.CONTENT_TITLE_LOGIN_DATA_SAVED}
-               </ui:define>
-
-               <ui:define name="content">
-                       <ui:fragment rendered="#{loginController.isUserLoggedIn()}">
-                               <ui:include id="message_box" 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 loginController.isUserLoggedIn()}">
-                               <ui:include id="login_only" src="/WEB-INF/templates/generic/user_not_logged_in.tpl" />
-                       </ui:fragment>
-               </ui:define>
-       </ui:composition>
-</html>
diff --git a/web/login/login_edit_user_data.xhtml b/web/login/login_edit_user_data.xhtml
deleted file mode 100644 (file)
index 8cd727c..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-<?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/login/login_base.tpl">
-               <ui:define name="login_title">#{msg.PAGE_TITLE_LOGIN_EDIT_USER_DATA}</ui:define>
-
-               <ui:define name="content_header">
-                       #{msg.CONTENT_TITLE_LOGIN_EDIT_USER_DATA}
-               </ui:define>
-
-               <ui:define name="content">
-                       <ui:fragment rendered="#{loginController.isUserLoggedIn()}">
-                               <div class="table">
-                                       <div class="table_header">
-                                               #{msg.LOGIN_EDIT_USER_DATA_TITLE}
-                                       </div>
-
-                                       <div class="para notice">
-                                               <h:outputText value="#{msg.LOGIN_CHOOSE_PERSONAL_DATA_EMAIL_PASSWORD_NOTICE}" />
-                                       </div>
-
-                                       <div class="para">
-                                               <ul>
-                                                       <li>
-                                                               <h:link title="#{msg.LINK_LOGIN_CHANGE_PERSONAL_DATA_TITLE}" outcome="login_change_personal_data" value="#{msg.LINK_LOGIN_CHANGE_PERSONAL_DATA}" />
-                                                       </li>
-                                                       <li>
-                                                               <h:link title="#{msg.LINK_LOGIN_CHANGE_EMAIL_ADDRESS_TITLE}" outcome="login_change_email_address" value="#{msg.LINK_LOGIN_CHANGE_EMAIL_ADDRESS}" />
-                                                       </li>
-                                                       <li>
-                                                               <h:link title="#{msg.LINK_LOGIN_CHANGE_PASSWORD_TITLE}" outcome="login_change_password" value="#{msg.LINK_LOGIN_CHANGE_PASSWORD}" />
-                                                       </li>
-                                               </ul>
-                                       </div>
-                               </div>
-                       </ui:fragment>
-
-                       <ui:fragment rendered="#{not loginController.isUserLoggedIn()}">
-                               <ui:include id="login_only" src="/WEB-INF/templates/generic/user_not_logged_in.tpl" />
-                       </ui:fragment>
-               </ui:define>
-       </ui:composition>
-</html>
diff --git a/web/login/login_index.xhtml b/web/login/login_index.xhtml
deleted file mode 100644 (file)
index ef4281d..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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/login/login_base.tpl">
-               <ui:define name="login_title">#{msg.PAGE_TITLE_LOGIN_HOME}</ui:define>
-
-               <ui:define name="content_header">
-                       #{msg.CONTENT_TITLE_LOGIN_HOME}
-               </ui:define>
-
-               <ui:define name="content">
-                       <ui:fragment rendered="#{loginController.isUserLoggedIn()}">
-                               Here goes your content.
-                       </ui:fragment>
-
-                       <ui:fragment rendered="#{not loginController.isUserLoggedIn()}">
-                               <ui:include id="login_only" src="/WEB-INF/templates/generic/user_not_logged_in.tpl" />
-                       </ui:fragment>
-               </ui:define>
-       </ui:composition>
-</html>
diff --git a/web/login/login_list_sharing_addressbooks.xhtml b/web/login/login_list_sharing_addressbooks.xhtml
deleted file mode 100644 (file)
index 1698cb3..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-<?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"
-         >
-
-       <f:metadata>
-               <f:viewParam id="userId" name="userId" value="#{shareController.shareeUserId}" required="true" requiredMessage="#{msg.PARAMETER_USER_ID_MISSING}" converterMessage="#{msg.PARAMETER_USER_ID_INVALID}" validatorMessage="#{msg.PARAMETER_USER_ID_NOT_FOUND}">
-                       <f:convertNumber for="userId" type="number" minIntegerDigits="1" maxIntegerDigits="20" />
-                       <f:validator for="userId" validatorId="UserIdValidator" />
-               </f:viewParam>
-       </f:metadata>
-
-       <ui:composition template="/WEB-INF/templates/login/login_base.tpl">
-               <ui:define name="login_title">#{msg.PAGE_TITLE_LOGIN_LIST_SHARING_ADDRESSBOOKS}</ui:define>
-
-               <ui:define name="content_header">
-                       #{msg.CONTENT_TITLE_LOGIN_LIST_SHARING_ADDRESSBOOKS}
-               </ui:define>
-
-               <ui:define name="content">
-                       <ui:fragment rendered="#{loginController.isUserLoggedIn()}">
-                               <ui:fragment rendered="#{shareController.isShareeUserIdSet()}">
-                                       Here goes your content.
-                               </ui:fragment>
-
-                               <ui:fragment rendered="#{shareController.isShareeUserIdEmpty()}">
-                                       <ui:include src="/WEB-INF/templates/generic/userid_error.tpl" />
-                               </ui:fragment>
-                       </ui:fragment>
-
-                       <ui:fragment rendered="#{not loginController.isUserLoggedIn()}">
-                               <ui:include id="login_only" src="/WEB-INF/templates/generic/user_not_logged_in.tpl" />
-                       </ui:fragment>
-               </ui:define>
-       </ui:composition>
-</html>
diff --git a/web/login/login_other_addressbooks.xhtml b/web/login/login_other_addressbooks.xhtml
deleted file mode 100644 (file)
index eef9d0b..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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/login/login_base.tpl">
-               <ui:define name="login_title">#{msg.PAGE_TITLE_LOGIN_OTHER_ADDRESSBOOKS}</ui:define>
-
-               <ui:define name="content_header">
-                       #{msg.CONTENT_TITLE_LOGIN_OTHER_ADDRESSBOOKS}
-               </ui:define>
-
-               <ui:define name="content">
-                       <ui:fragment rendered="#{loginController.isUserLoggedIn()}">
-                               Here goes your content.
-                       </ui:fragment>
-
-                       <ui:fragment rendered="#{not loginController.isUserLoggedIn()}">
-                               <ui:include id="login_only" src="/WEB-INF/templates/generic/user_not_logged_in.tpl" />
-                       </ui:fragment>
-               </ui:define>
-       </ui:composition>
-</html>
diff --git a/web/login/login_own_addressbooks.xhtml b/web/login/login_own_addressbooks.xhtml
deleted file mode 100644 (file)
index 48c0897..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-<?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/login/login_base.tpl">
-               <ui:define name="login_title">#{msg.PAGE_TITLE_LOGIN_OWN_ADDRESSBOOKS}</ui:define>
-
-               <ui:define name="content_header">
-                       #{msg.CONTENT_TITLE_LOGIN_OWN_ADDRESSBOOKS}
-               </ui:define>
-
-               <ui:define name="content">
-                       <ui:fragment rendered="#{loginController.isUserLoggedIn()}">
-                               <div class="table">
-                                       <div class="table_header">
-                                               #{msg.TABLE_HEADER_LIST_OWN_ADDRESSBOOKS}
-                                       </div>
-
-                                       <div class="para">
-                                               <h:dataTable id="table_own_addressbooks" var="addressbook" value="#{addressbookController.allAddressbooks()}" styleClass="table" headerClass="table_data_column" summary="#{msg.TABLE_SUMMARY_LOGIN_LIST_OWN_ADDRESSBOOKS}" rendered="#{addressbookController.hasCreatedAddressbooks()}">
-                                                       <h:column>
-                                                               <f:facet name="header">#{msg.ADDRESSBOOK_NAME}</f:facet>
-
-                                                               <h:link outcome="user_show_addressbook" title="#{msg.LINK_SHOW_ADDRESSBOOK_TITLE}">
-                                                                       <f:param name="addressbookId" value="#{addressbook.addressbookId}" />
-                                                                       <h:outputText id="addressbookName" value="#{addressbook.addressbookName}" title="#{msg.ADDRESSBOOK_NAME_TITLE}" />
-                                                               </h:link>
-                                                       </h:column>
-
-                                                       <h:column>
-                                                               <f:facet name="header">#{msg.ADDRESSBOOK_TOTAL_ENTRIES}</f:facet>
-
-                                                               <h:link outcome="show_addressbook_entries" title="#{msg.LINK_SHOW_ADDRESSBOOK_ENTRIES_TITLE}">
-                                                                       <f:param name="addressbookId" value="#{addressbook.addressbookId}" />
-                                                                       <h:outputText id="addressbookEntries" value="#{addressbookController.allEntriesSize(addressbook)}" title="#{msg.ADDRESSBOOK_TOTAL_ENTRIES_TITLE}" />
-                                                               </h:link>
-                                                       </h:column>
-
-                                                       <h:column>
-                                                               <f:facet name="header">#{msg.ADDRESSBOOK_CREATED}</f:facet>
-
-                                                               <h:outputFormat id="addressbookCreated" value="#{addressbook.addressbookCreated.time}" title="#{msg.ADDRESSBOOK_CREATED_TITLE}">
-                                                                       <f:convertDateTime for="addressbookCreated" type="both" timeStyle="short" dateStyle="medium" />
-                                                               </h:outputFormat>
-                                                       </h:column>
-                                               </h:dataTable>
-                                       </div>
-
-                                       <div class="table_footer">
-                                               <h:link id="add_first_addressbook" outcome="login_add_addressbook" value="#{msg.LINK_LOGIN_ADD_FIRST_ADDRESSBOOK}" title="#{msg.LINK_LOGIN_ADD_FIRST_ADDRESSBOOK_TITLE}" rendered="#{addressbookController.hasCreatedAddressbooks() == false}" />
-                                               <h:link id="add_additional_addressbook" outcome="login_add_addressbook" value="#{msg.LINK_LOGIN_ADD_ADDITIONAL_ADDRESSBOOK}" title="#{msg.LINK_LOGIN_ADD_ADDITIONAL_ADDRESSBOOK_TITLE}" rendered="#{addressbookController.hasCreatedAddressbooks()}" />
-                                       </div>
-                               </div>
-                       </ui:fragment>
-
-                       <ui:fragment rendered="#{not loginController.isUserLoggedIn()}">
-                               <ui:include id="login_only" src="/WEB-INF/templates/generic/user_not_logged_in.tpl" />
-                       </ui:fragment>
-               </ui:define>
-       </ui:composition>
-</html>
diff --git a/web/login/login_shared_addressbooks.xhtml b/web/login/login_shared_addressbooks.xhtml
deleted file mode 100644 (file)
index 2c52fab..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-<?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/login/login_base.tpl">
-               <ui:define name="login_title">#{msg.PAGE_TITLE_LOGIN_SHARED_ADDRESSBOOKS}</ui:define>
-
-               <ui:define name="content_header">
-                       #{msg.CONTENT_TITLE_LOGIN_SHARED_ADDRESSBOOKS}
-               </ui:define>
-
-               <ui:define name="content">
-                       <ui:fragment rendered="#{loginController.isUserLoggedIn()}">
-                               <div class="table">
-                                       <div class="table_header">
-                                               #{msg.LOGIN_TABLE_HEADER_SHARED_ADDRESSBOOKS}
-                                       </div>
-
-                                       <div class="para">
-                                               <h:dataTable id="sharedAddressbooks" var="share" value="#{shareController.allShares()}" headerClass="table_data_column" summary="#{msg.TABLE_SUMMARY_LOGIN_SHARED_ADDRESSBOOKS}" rendered="#{shareController.isSharingAddressbooks()}">
-                                                       <h:column>
-                                                               <f:facet name="header">#{msg.SHARED_ADDRESSBOOK}</f:facet>
-
-                                                               <h:link outcome="user_show_addressbook" title="#{msg.LINK_SHOW_ADDRESSBOOK_TITLE}">
-                                                                       <f:param name="addressbookId" value="#{share.shareAddressbook.addressbookId}" />
-                                                                       <h:outputText id="addressbookName" value="#{share.shareAddressbook.addressbookName}" title="#{msg.SHARED_ADDRESSBOOK_TITLE}" />
-                                                               </h:link>
-                                                       </h:column>
-
-                                                       <h:column>
-                                                               <f:facet name="header">#{msg.SHAREE_USER_NAME}</f:facet>
-                                                               <ui:include src="/WEB-INF/templates/generic/user_profile_link.tpl">
-                                                                       <ui:param name="user" value="#{share.setShareUserSharee(shareUserSharer)}" />
-                                                               </ui:include>
-                                                       </h:column>
-
-                                                       <h:column>
-                                                               <f:facet name="header">#{msg.SHARE_CREATED}</f:facet>
-                                                               <h:outputText id="shareCreated" value="#{share.shareCreated.time}" title="#{msg.SHARE_CREATED_TITLE}">
-                                                                       <f:convertDateTime for="shareCreated" type="both" timeStyle="short" dateStyle="medium" />
-                                                               </h:outputText>
-                                                       </h:column>
-                                               </h:dataTable>
-                                       </div>
-
-                                       <div class="para">
-                                               <h:outputText class="notice" value="#{msg.LOGIN_USER_HAS_NOT_SHARED_ADDRESSBOOKS}" rendered="#{not shareController.isSharingAddressbooks()}" />
-                                       </div>
-
-                                       <div class="table_footer">
-                                               <h:link id="shareAddressbook" outcome="user_list" title="#{msg.LINK_LOGIN_START_SHARING_ADDRESSBOOKS_TITLE}" value="#{msg.LINK_LOGIN_START_SHARING_ADDRESSBOOKS}" />
-                                       </div>
-                               </div>
-                       </ui:fragment>
-
-                       <ui:fragment rendered="#{not loginController.isUserLoggedIn()}">
-                               <ui:include id="login_only" src="/WEB-INF/templates/generic/user_not_logged_in.tpl" />
-                       </ui:fragment>
-               </ui:define>
-       </ui:composition>
-</html>
diff --git a/web/login/login_start_sharing_addressbook.xhtml b/web/login/login_start_sharing_addressbook.xhtml
deleted file mode 100644 (file)
index 442610a..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-<?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"
-         xmlns:c="http://xmlns.jcp.org/jsp/jstl/core">
-
-       <ui:composition template="/WEB-INF/templates/#{loginController.templateType}/#{loginController.templateType}_base.tpl">
-               <ui:define name="login_title">#{msg.PAGE_TITLE_LOGIN_START_SHARING_ADDRESSBOOK}</ui:define>
-
-               <ui:define name="content_header">
-                       #{msg.CONTENT_TITLE_LOGIN_START_SHARING_ADDRESSBOOK}
-               </ui:define>
-
-               <ui:define name="content">
-                       <ui:fragment rendered="#{loginController.isUserLoggedIn()}">
-                               <div class="table_big">
-
-                                       <div class="table_header">
-                                               #{msg.TABLE_HEADER_CHOOSE_USER_FOR_SHARING}
-                                       </div>
-
-                                       <div class="para">
-                                               <h:outputText id="userNotLoggedIn" class="notice" value="#{msg.USER_NOT_LOGGED_IN}" rendered="#{not loginController.isUserLoggedIn()}" />
-
-                                               <h:dataTable id="userList" headerClass="table_header_column" var="user" value="#{addressbookController.allUsersNotSharing()}" rendered="#{loginController.isUserLoggedIn() and not empty addressbookController.addressbook and not loginController.isInvisible()}">
-
-                                                       <h:column>
-                                                               <f:facet name="header">#{msg.USER_ID}</f:facet>
-                                                               <h:outputText value="#{user.userId}" />
-                                                       </h:column>
-
-                                                       <h:column>
-                                                               <f:facet name="header">#{msg.USER_NAME}</f:facet>
-                                                               <ui:include src="/WEB-INF/templates/generic/user_profile_link.tpl">
-                                                                       <ui:param name="user" value="#{user}" />
-                                                               </ui:include>
-                                                       </h:column>
-
-                                                       <h:column>
-                                                               <f:facet name="header">#{msg.LOGIN_START_SHARING_TITLE}</f:facet>
-                                                               <h:form acceptcharset="utf-8" id="startSharing" rendered="#{profileController.isProfileLinkVisibleByUser(user)}">
-                                                                       <h:commandButton class="submit" id="submit" value="#{msg.LOGIN_START_SHARING_BUTTON}" action="#{shareController.startSharing(user, addressbookController.addressbook)}" title="#{msg.LOGIN_START_SHARING_BUTTON_TITLE}" />
-                                                               </h:form>
-                                                       </h:column>
-                                               </h:dataTable>
-
-                                               <h:outputText id="addressbokUnset" class="notice" value="#{msg.LOGIN_ADDRESSBOOK_NOT_SET}" rendered="#{empty addressbookController.addressbook}" />
-
-                                               <h:outputText id="ownProfileInvisible" class="notice" value="#{msg.LOGIN_OWN_PROFILE_INVISIBLE}" rendered="#{loginController.isUserLoggedIn() and not empty addressbookController.addressbook and not loginController.isInvisible()}" />
-                                       </div>
-
-                                       <div class="table_footer">
-                                               <ul>
-                                                       <li>#{msg.LOGIN_START_SHARING_NOTICE1}</li>
-                                                       <li>#{msg.LOGIN_START_SHARING_NOTICE2}</li>
-                                               </ul>
-                                       </div>
-                               </div>
-                       </ui:fragment>
-
-                       <ui:fragment rendered="#{not loginController.isUserLoggedIn()}">
-                               <ui:include id="login_only" src="/WEB-INF/templates/generic/user_not_logged_in.tpl" />
-                       </ui:fragment>
-               </ui:define>
-       </ui:composition>
-</html>
diff --git a/web/login/login_user_data_saved.xhtml b/web/login/login_user_data_saved.xhtml
deleted file mode 100644 (file)
index e42c555..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-<?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/login/login_base.tpl">
-               <ui:define name="login_title">#{msg.PAGE_TITLE_LOGIN_USER_DATA_SAVED}</ui:define>
-
-               <ui:define name="content_header">
-                       #{msg.CONTENT_TITLE_LOGIN_USER_DATA_SAVED}
-               </ui:define>
-
-               <ui:define name="content">
-                       <ui:fragment rendered="#{loginController.isUserLoggedIn()}">
-                               <ui:include id="message_box" 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 loginController.isUserLoggedIn()}">
-                               <ui:include id="login_only" src="/WEB-INF/templates/generic/user_not_logged_in.tpl" />
-                       </ui:fragment>
-               </ui:define>
-       </ui:composition>
-</html>
diff --git a/web/user/index.xhtml b/web/user/index.xhtml
new file mode 100644 (file)
index 0000000..dafff40
--- /dev/null
@@ -0,0 +1,28 @@
+<?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"
+         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="guest_title">#{msg.PAGE_TITLE_LOGIN_FOO}</ui:define>
+
+               <ui:define name="menu">
+                       <ui:include id="menu" class="login_menu" src="/WEB-INF/templates/login/login_menu.tpl" />
+               </ui:define>
+
+               <ui:define name="content_header">
+                       #{msg.SUB_TITLE_LOGIN_FOO}
+               </ui:define>
+
+               <ui:define name="content">
+                       Here goes your content.
+               </ui:define>
+
+               <ui:define name="footer">
+                       <ui:include id="footer" class="login_footer" src="/WEB-INF/templates/login/login_footer.tpl" />
+               </ui:define>
+       </ui:composition>
+</html>
diff --git a/web/user/login.xhtml b/web/user/login.xhtml
deleted file mode 100644 (file)
index 0b0efb6..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-<?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" id="user_login">
-               <ui:define name="guest_title">#{msg.PAGE_TITLE_USER_LOGIN}</ui:define>
-
-               <ui:define name="content_header">
-                       #{msg.CONTENT_TITLE_USER_LOGIN}
-               </ui:define>
-
-               <ui:define name="content">
-                       <div class="para">
-                               <!-- TODO Internatialize this somehow //-->
-                               Noch kein Benutzerkonto? Einfach <h:link id="user_register" outcome="user_register" title="Als Benutzer anmelden">hier</h:link> anmelden.
-                       </div>
-
-                       <div class="para">
-                               <ui:include id="login_form" class="login_form" src="/WEB-INF/templates/guest/guest_login_form.tpl" />
-                       </div>
-
-                       <div class="para">
-                               <h:link id="user_lost_password" outcome="user_lost_passwd" title="#{msg.LINK_TITLE_GUEST_LOGIN_LOST_PASSWORD}" value="#{msg.LINK_GUEST_LOGIN_LOST_PASSWORD}" />
-                       </div>
-               </ui:define>
-       </ui:composition>
-</html>
diff --git a/web/user/login_add_addressbook.xhtml b/web/user/login_add_addressbook.xhtml
new file mode 100644 (file)
index 0000000..7f1c857
--- /dev/null
@@ -0,0 +1,51 @@
+<?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/login/login_base.tpl">
+               <ui:define name="login_title">#{msg.PAGE_TITLE_LOGIN_ADD_ADDRESSBOOK}</ui:define>
+
+               <ui:define name="content_header">
+                       #{msg.CONTENT_TITLE_LOGIN_ADD_ADDRESSBOOK}
+               </ui:define>
+
+               <ui:define name="content">
+                       <ui:fragment rendered="#{loginController.isUserLoggedIn()}">
+                               <h:form id="add_addressbook" acceptcharset="utf-8">
+                                       <div class="table">
+                                               <div class="table_header">
+                                                       #{msg.FORM_LOGIN_ADD_ADDRESSBOOK_TITLE}
+                                               </div>
+
+                                               <div class="table_row">
+                                                       <div class="table_left">
+                                                               <h:outputLabel for="addressbookName" value="#{msg.LOGIN_ENTER_ADDRESSBOOK_NAME}"/>
+                                                       </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}">
+                                                                       <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()}" />
+                                               </div>
+                                       </div>
+                               </h:form>
+                       </ui:fragment>
+
+                       <ui:fragment rendered="#{not loginController.isUserLoggedIn()}">
+                               <ui:include id="login_only" src="/WEB-INF/templates/generic/user_not_logged_in.tpl" />
+                       </ui:fragment>
+               </ui:define>
+       </ui:composition>
+</html>
diff --git a/web/user/login_change_email_address.xhtml b/web/user/login_change_email_address.xhtml
new file mode 100644 (file)
index 0000000..702312d
--- /dev/null
@@ -0,0 +1,83 @@
+<?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/login/login_base.tpl">
+               <ui:define name="login_title">#{msg.PAGE_TITLE_LOGIN_CHANGE_EMAIL_ADDRESS}</ui:define>
+
+               <ui:define name="content_header">
+                       #{msg.CONTENT_TITLE_LOGIN_CHANGE_EMAIL_ADDRESS}
+               </ui:define>
+
+               <ui:define name="content">
+                       <ui:fragment rendered="#{loginController.isUserLoggedIn()}">
+                               <div class="table">
+                                       <div class="table_header">
+                                               #{msg.LOGIN_CHANGE_EMAIL_ADDRESS_TITLE}
+                                       </div>
+
+                                       <h:form id="login_form">
+                                               <div class="para">
+                                                       <fieldset id="change_email">
+                                                               <legend title="#{msg.LOGIN_CHANGE_EMAIL_LEGEND_TITLE}">#{msg.LOGIN_CHANGE_EMAIL_LEGEND}</legend>
+
+                                                               <div class="table_row">
+                                                                       <div class="table_left">
+                                                                               #{msg.LOGIN_CHANGE_EMAIL_OLD_ADDRESS}
+                                                                       </div>
+
+                                                                       <div class="table_right">
+                                                                               #{userController.emailAddress}
+                                                                       </div>
+
+                                                                       <div class="clear"></div>
+                                                               </div>
+
+                                                               <div class="table_row">
+                                                                       <div class="table_left">
+                                                                               <h:outputLabel for="emailAddress1" value="#{msg.LOGIN_CHANGE_EMAIL_ENTER_EMAIL1}" />
+                                                                       </div>
+
+                                                                       <div class="table_right">
+                                                                               <h:inputText class="input" id="emailAddress1" size="20" maxlength="255" value="#{emailChangeController.emailAddress1}" required="true" />
+                                                                       </div>
+
+                                                                       <div class="clear"></div>
+                                                               </div>
+
+                                                               <div class="table_row">
+                                                                       <div class="table_left">
+                                                                               <h:outputLabel for="emailAddress2" value="#{msg.LOGIN_CHANGE_EMAIL_ENTER_EMAIL2}" />
+                                                                       </div>
+
+                                                                       <div class="table_right">
+                                                                               <h:inputText class="input" id="emailAddress2" size="20" maxlength="255" value="#{emailChangeController.emailAddress2}" required="true" />
+                                                                       </div>
+
+                                                                       <div class="clear"></div>
+                                                               </div>
+                                                       </fieldset>
+                                               </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()}" />
+                                               </div>
+                                       </h:form>
+                               </div>
+                       </ui:fragment>
+
+                       <ui:fragment rendered="#{not loginController.isUserLoggedIn()}">
+                               <ui:include id="login_only" src="/WEB-INF/templates/generic/user_not_logged_in.tpl" />
+                       </ui:fragment>
+               </ui:define>
+       </ui:composition>
+</html>
diff --git a/web/user/login_change_password.xhtml b/web/user/login_change_password.xhtml
new file mode 100644 (file)
index 0000000..bfd384d
--- /dev/null
@@ -0,0 +1,71 @@
+<?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/login/login_base.tpl">
+               <ui:define name="login_title">#{msg.PAGE_TITLE_LOGIN_CHANGE_PASSWORD}</ui:define>
+
+               <ui:define name="content_header">
+                       #{msg.CONTENT_TITLE_LOGIN_CHANGE_PASSWORD}
+               </ui:define>
+
+               <ui:define name="content">
+                       <ui:fragment rendered="#{loginController.isUserLoggedIn()}">
+                               <div class="table">
+                                       <div class="table_header">
+                                               #{msg.LOGIN_CHANGE_PASSWORD_TITLE}
+                                       </div>
+
+                                       <h:form id="login_form">
+                                               <div class="para">
+                                                       <fieldset id="change_password">
+                                                               <legend title="#{msg.LOGIN_CHANGE_PASSWORD_LEGEND_TITLE}">#{msg.LOGIN_CHANGE_PASSWORD_LEGEND}</legend>
+
+                                                               <div class="table_row">
+                                                                       <div class="table_left">
+                                                                               <h:outputLabel for="password1" value="#{msg.GUEST_REGISTRATION_ENTER_PASSWORD1}" />
+                                                                       </div>
+
+                                                                       <div class="table_right">
+                                                                               <h:inputSecret class="input" id="password1" size="10" maxlength="255" value="#{loginController.userPassword}" required="true" />
+                                                                       </div>
+
+                                                                       <div class="clear"></div>
+                                                               </div>
+
+                                                               <div class="table_row">
+                                                                       <div class="table_left">
+                                                                               <h:outputLabel for="password2" value="#{msg.GUEST_REGISTRATION_ENTER_PASSWORD2}" />
+                                                                       </div>
+
+                                                                       <div class="table_right">
+                                                                               <h:inputSecret class="input" id="password2" size="10" maxlength="255" value="#{loginController.userPasswordRepeat}" required="true" />
+                                                                       </div>
+
+                                                                       <div class="clear"></div>
+                                                               </div>
+                                                       </fieldset>
+                                               </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()}" />
+                                               </div>
+                                       </h:form>
+                               </div>
+                       </ui:fragment>
+
+                       <ui:fragment rendered="#{not loginController.isUserLoggedIn()}">
+                               <ui:include id="login_only" src="/WEB-INF/templates/generic/user_not_logged_in.tpl" />
+                       </ui:fragment>
+               </ui:define>
+       </ui:composition>
+</html>
diff --git a/web/user/login_change_personal_data.xhtml b/web/user/login_change_personal_data.xhtml
new file mode 100644 (file)
index 0000000..e4c482c
--- /dev/null
@@ -0,0 +1,45 @@
+<?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/login/login_base.tpl">
+               <ui:define name="login_title">#{msg.PAGE_TITLE_LOGIN_CHANGE_PERSONAL_DATA}</ui:define>
+
+               <ui:define name="content_header">
+                       #{msg.CONTENT_TITLE_LOGIN_CHANGE_PERSONAL_DATA}
+               </ui:define>
+
+               <ui:define name="content">
+                       <ui:fragment rendered="#{loginController.isUserLoggedIn()}">
+                               <div class="table">
+                                       <div class="table_header">
+                                               #{msg.LOGIN_CHANGE_PERSONAL_DATA_TITLE}
+                                       </div>
+
+                                       <h:form id="login_change_personal_form">
+                                               <ui:include src="/WEB-INF/templates/generic/form_personal_data.tpl" />
+
+                                               <ui:include src="/WEB-INF/templates/login/login_enter_current_password.tpl" />
+
+                                               <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()}" />
+                                               </div>
+                                       </h:form>
+                               </div>
+                       </ui:fragment>
+
+                       <ui:fragment rendered="#{not loginController.isUserLoggedIn()}">
+                               <ui:include id="login_only" src="/WEB-INF/templates/generic/user_not_logged_in.tpl" />
+                       </ui:fragment>
+               </ui:define>
+       </ui:composition>
+</html>
diff --git a/web/user/login_contact_data_saved.xhtml b/web/user/login_contact_data_saved.xhtml
new file mode 100644 (file)
index 0000000..25b6967
--- /dev/null
@@ -0,0 +1,30 @@
+<?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/login/login_base.tpl">
+               <ui:define name="login_title">#{msg.PAGE_TITLE_LOGIN_CONTACT_DATA_SAVED}</ui:define>
+
+               <ui:define name="content_header">
+                       #{msg.CONTENT_TITLE_LOGIN_CONTACT_DATA_SAVED}
+               </ui:define>
+
+               <ui:define name="content">
+                       <ui:fragment rendered="#{loginController.isUserLoggedIn()}">
+                               <ui:include id="message_box" 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 loginController.isUserLoggedIn()}">
+                               <ui:include id="login_only" src="/WEB-INF/templates/generic/user_not_logged_in.tpl" />
+                       </ui:fragment>
+               </ui:define>
+       </ui:composition>
+</html>
diff --git a/web/user/login_data_saved.xhtml b/web/user/login_data_saved.xhtml
new file mode 100644 (file)
index 0000000..0fd6316
--- /dev/null
@@ -0,0 +1,30 @@
+<?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/login/login_base.tpl">
+               <ui:define name="login_title">#{msg.PAGE_TITLE_LOGIN_DATA_SAVED}</ui:define>
+
+               <ui:define name="content_header">
+                       #{msg.CONTENT_TITLE_LOGIN_DATA_SAVED}
+               </ui:define>
+
+               <ui:define name="content">
+                       <ui:fragment rendered="#{loginController.isUserLoggedIn()}">
+                               <ui:include id="message_box" 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 loginController.isUserLoggedIn()}">
+                               <ui:include id="login_only" src="/WEB-INF/templates/generic/user_not_logged_in.tpl" />
+                       </ui:fragment>
+               </ui:define>
+       </ui:composition>
+</html>
diff --git a/web/user/login_edit_user_data.xhtml b/web/user/login_edit_user_data.xhtml
new file mode 100644 (file)
index 0000000..8cd727c
--- /dev/null
@@ -0,0 +1,50 @@
+<?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/login/login_base.tpl">
+               <ui:define name="login_title">#{msg.PAGE_TITLE_LOGIN_EDIT_USER_DATA}</ui:define>
+
+               <ui:define name="content_header">
+                       #{msg.CONTENT_TITLE_LOGIN_EDIT_USER_DATA}
+               </ui:define>
+
+               <ui:define name="content">
+                       <ui:fragment rendered="#{loginController.isUserLoggedIn()}">
+                               <div class="table">
+                                       <div class="table_header">
+                                               #{msg.LOGIN_EDIT_USER_DATA_TITLE}
+                                       </div>
+
+                                       <div class="para notice">
+                                               <h:outputText value="#{msg.LOGIN_CHOOSE_PERSONAL_DATA_EMAIL_PASSWORD_NOTICE}" />
+                                       </div>
+
+                                       <div class="para">
+                                               <ul>
+                                                       <li>
+                                                               <h:link title="#{msg.LINK_LOGIN_CHANGE_PERSONAL_DATA_TITLE}" outcome="login_change_personal_data" value="#{msg.LINK_LOGIN_CHANGE_PERSONAL_DATA}" />
+                                                       </li>
+                                                       <li>
+                                                               <h:link title="#{msg.LINK_LOGIN_CHANGE_EMAIL_ADDRESS_TITLE}" outcome="login_change_email_address" value="#{msg.LINK_LOGIN_CHANGE_EMAIL_ADDRESS}" />
+                                                       </li>
+                                                       <li>
+                                                               <h:link title="#{msg.LINK_LOGIN_CHANGE_PASSWORD_TITLE}" outcome="login_change_password" value="#{msg.LINK_LOGIN_CHANGE_PASSWORD}" />
+                                                       </li>
+                                               </ul>
+                                       </div>
+                               </div>
+                       </ui:fragment>
+
+                       <ui:fragment rendered="#{not loginController.isUserLoggedIn()}">
+                               <ui:include id="login_only" src="/WEB-INF/templates/generic/user_not_logged_in.tpl" />
+                       </ui:fragment>
+               </ui:define>
+       </ui:composition>
+</html>
diff --git a/web/user/login_error.xhtml b/web/user/login_error.xhtml
deleted file mode 100644 (file)
index 85361e7..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-<?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:c="http://xmlns.jcp.org/jsp/jstl/core"
-         xmlns:f="http://xmlns.jcp.org/jsf/core"
-         >
-
-       <ui:composition template="/WEB-INF/templates/guest/guest_base.tpl" id="login_error">
-               <ui:define name="guest_title">#{msg.PAGE_TITLE_USER_LOGIN_ERROR}</ui:define>
-
-               <ui:define name="content_header">
-                       #{msg.CONTENT_TITLE_USER_LOGIN_ERROR}
-               </ui:define>
-
-               <ui:define name="content">
-                       Hier kommt die Fehlermeldung hin.
-               </ui:define>
-       </ui:composition>
-</html>
diff --git a/web/user/login_index.xhtml b/web/user/login_index.xhtml
new file mode 100644 (file)
index 0000000..ef4281d
--- /dev/null
@@ -0,0 +1,28 @@
+<?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/login/login_base.tpl">
+               <ui:define name="login_title">#{msg.PAGE_TITLE_LOGIN_HOME}</ui:define>
+
+               <ui:define name="content_header">
+                       #{msg.CONTENT_TITLE_LOGIN_HOME}
+               </ui:define>
+
+               <ui:define name="content">
+                       <ui:fragment rendered="#{loginController.isUserLoggedIn()}">
+                               Here goes your content.
+                       </ui:fragment>
+
+                       <ui:fragment rendered="#{not loginController.isUserLoggedIn()}">
+                               <ui:include id="login_only" src="/WEB-INF/templates/generic/user_not_logged_in.tpl" />
+                       </ui:fragment>
+               </ui:define>
+       </ui:composition>
+</html>
diff --git a/web/user/login_list_sharing_addressbooks.xhtml b/web/user/login_list_sharing_addressbooks.xhtml
new file mode 100644 (file)
index 0000000..1698cb3
--- /dev/null
@@ -0,0 +1,41 @@
+<?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"
+         >
+
+       <f:metadata>
+               <f:viewParam id="userId" name="userId" value="#{shareController.shareeUserId}" required="true" requiredMessage="#{msg.PARAMETER_USER_ID_MISSING}" converterMessage="#{msg.PARAMETER_USER_ID_INVALID}" validatorMessage="#{msg.PARAMETER_USER_ID_NOT_FOUND}">
+                       <f:convertNumber for="userId" type="number" minIntegerDigits="1" maxIntegerDigits="20" />
+                       <f:validator for="userId" validatorId="UserIdValidator" />
+               </f:viewParam>
+       </f:metadata>
+
+       <ui:composition template="/WEB-INF/templates/login/login_base.tpl">
+               <ui:define name="login_title">#{msg.PAGE_TITLE_LOGIN_LIST_SHARING_ADDRESSBOOKS}</ui:define>
+
+               <ui:define name="content_header">
+                       #{msg.CONTENT_TITLE_LOGIN_LIST_SHARING_ADDRESSBOOKS}
+               </ui:define>
+
+               <ui:define name="content">
+                       <ui:fragment rendered="#{loginController.isUserLoggedIn()}">
+                               <ui:fragment rendered="#{shareController.isShareeUserIdSet()}">
+                                       Here goes your content.
+                               </ui:fragment>
+
+                               <ui:fragment rendered="#{shareController.isShareeUserIdEmpty()}">
+                                       <ui:include src="/WEB-INF/templates/generic/userid_error.tpl" />
+                               </ui:fragment>
+                       </ui:fragment>
+
+                       <ui:fragment rendered="#{not loginController.isUserLoggedIn()}">
+                               <ui:include id="login_only" src="/WEB-INF/templates/generic/user_not_logged_in.tpl" />
+                       </ui:fragment>
+               </ui:define>
+       </ui:composition>
+</html>
diff --git a/web/user/login_other_addressbooks.xhtml b/web/user/login_other_addressbooks.xhtml
new file mode 100644 (file)
index 0000000..eef9d0b
--- /dev/null
@@ -0,0 +1,28 @@
+<?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/login/login_base.tpl">
+               <ui:define name="login_title">#{msg.PAGE_TITLE_LOGIN_OTHER_ADDRESSBOOKS}</ui:define>
+
+               <ui:define name="content_header">
+                       #{msg.CONTENT_TITLE_LOGIN_OTHER_ADDRESSBOOKS}
+               </ui:define>
+
+               <ui:define name="content">
+                       <ui:fragment rendered="#{loginController.isUserLoggedIn()}">
+                               Here goes your content.
+                       </ui:fragment>
+
+                       <ui:fragment rendered="#{not loginController.isUserLoggedIn()}">
+                               <ui:include id="login_only" src="/WEB-INF/templates/generic/user_not_logged_in.tpl" />
+                       </ui:fragment>
+               </ui:define>
+       </ui:composition>
+</html>
diff --git a/web/user/login_own_addressbooks.xhtml b/web/user/login_own_addressbooks.xhtml
new file mode 100644 (file)
index 0000000..48c0897
--- /dev/null
@@ -0,0 +1,67 @@
+<?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/login/login_base.tpl">
+               <ui:define name="login_title">#{msg.PAGE_TITLE_LOGIN_OWN_ADDRESSBOOKS}</ui:define>
+
+               <ui:define name="content_header">
+                       #{msg.CONTENT_TITLE_LOGIN_OWN_ADDRESSBOOKS}
+               </ui:define>
+
+               <ui:define name="content">
+                       <ui:fragment rendered="#{loginController.isUserLoggedIn()}">
+                               <div class="table">
+                                       <div class="table_header">
+                                               #{msg.TABLE_HEADER_LIST_OWN_ADDRESSBOOKS}
+                                       </div>
+
+                                       <div class="para">
+                                               <h:dataTable id="table_own_addressbooks" var="addressbook" value="#{addressbookController.allAddressbooks()}" styleClass="table" headerClass="table_data_column" summary="#{msg.TABLE_SUMMARY_LOGIN_LIST_OWN_ADDRESSBOOKS}" rendered="#{addressbookController.hasCreatedAddressbooks()}">
+                                                       <h:column>
+                                                               <f:facet name="header">#{msg.ADDRESSBOOK_NAME}</f:facet>
+
+                                                               <h:link outcome="user_show_addressbook" title="#{msg.LINK_SHOW_ADDRESSBOOK_TITLE}">
+                                                                       <f:param name="addressbookId" value="#{addressbook.addressbookId}" />
+                                                                       <h:outputText id="addressbookName" value="#{addressbook.addressbookName}" title="#{msg.ADDRESSBOOK_NAME_TITLE}" />
+                                                               </h:link>
+                                                       </h:column>
+
+                                                       <h:column>
+                                                               <f:facet name="header">#{msg.ADDRESSBOOK_TOTAL_ENTRIES}</f:facet>
+
+                                                               <h:link outcome="show_addressbook_entries" title="#{msg.LINK_SHOW_ADDRESSBOOK_ENTRIES_TITLE}">
+                                                                       <f:param name="addressbookId" value="#{addressbook.addressbookId}" />
+                                                                       <h:outputText id="addressbookEntries" value="#{addressbookController.allEntriesSize(addressbook)}" title="#{msg.ADDRESSBOOK_TOTAL_ENTRIES_TITLE}" />
+                                                               </h:link>
+                                                       </h:column>
+
+                                                       <h:column>
+                                                               <f:facet name="header">#{msg.ADDRESSBOOK_CREATED}</f:facet>
+
+                                                               <h:outputFormat id="addressbookCreated" value="#{addressbook.addressbookCreated.time}" title="#{msg.ADDRESSBOOK_CREATED_TITLE}">
+                                                                       <f:convertDateTime for="addressbookCreated" type="both" timeStyle="short" dateStyle="medium" />
+                                                               </h:outputFormat>
+                                                       </h:column>
+                                               </h:dataTable>
+                                       </div>
+
+                                       <div class="table_footer">
+                                               <h:link id="add_first_addressbook" outcome="login_add_addressbook" value="#{msg.LINK_LOGIN_ADD_FIRST_ADDRESSBOOK}" title="#{msg.LINK_LOGIN_ADD_FIRST_ADDRESSBOOK_TITLE}" rendered="#{addressbookController.hasCreatedAddressbooks() == false}" />
+                                               <h:link id="add_additional_addressbook" outcome="login_add_addressbook" value="#{msg.LINK_LOGIN_ADD_ADDITIONAL_ADDRESSBOOK}" title="#{msg.LINK_LOGIN_ADD_ADDITIONAL_ADDRESSBOOK_TITLE}" rendered="#{addressbookController.hasCreatedAddressbooks()}" />
+                                       </div>
+                               </div>
+                       </ui:fragment>
+
+                       <ui:fragment rendered="#{not loginController.isUserLoggedIn()}">
+                               <ui:include id="login_only" src="/WEB-INF/templates/generic/user_not_logged_in.tpl" />
+                       </ui:fragment>
+               </ui:define>
+       </ui:composition>
+</html>
diff --git a/web/user/login_shared_addressbooks.xhtml b/web/user/login_shared_addressbooks.xhtml
new file mode 100644 (file)
index 0000000..2c52fab
--- /dev/null
@@ -0,0 +1,66 @@
+<?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/login/login_base.tpl">
+               <ui:define name="login_title">#{msg.PAGE_TITLE_LOGIN_SHARED_ADDRESSBOOKS}</ui:define>
+
+               <ui:define name="content_header">
+                       #{msg.CONTENT_TITLE_LOGIN_SHARED_ADDRESSBOOKS}
+               </ui:define>
+
+               <ui:define name="content">
+                       <ui:fragment rendered="#{loginController.isUserLoggedIn()}">
+                               <div class="table">
+                                       <div class="table_header">
+                                               #{msg.LOGIN_TABLE_HEADER_SHARED_ADDRESSBOOKS}
+                                       </div>
+
+                                       <div class="para">
+                                               <h:dataTable id="sharedAddressbooks" var="share" value="#{shareController.allShares()}" headerClass="table_data_column" summary="#{msg.TABLE_SUMMARY_LOGIN_SHARED_ADDRESSBOOKS}" rendered="#{shareController.isSharingAddressbooks()}">
+                                                       <h:column>
+                                                               <f:facet name="header">#{msg.SHARED_ADDRESSBOOK}</f:facet>
+
+                                                               <h:link outcome="user_show_addressbook" title="#{msg.LINK_SHOW_ADDRESSBOOK_TITLE}">
+                                                                       <f:param name="addressbookId" value="#{share.shareAddressbook.addressbookId}" />
+                                                                       <h:outputText id="addressbookName" value="#{share.shareAddressbook.addressbookName}" title="#{msg.SHARED_ADDRESSBOOK_TITLE}" />
+                                                               </h:link>
+                                                       </h:column>
+
+                                                       <h:column>
+                                                               <f:facet name="header">#{msg.SHAREE_USER_NAME}</f:facet>
+                                                               <ui:include src="/WEB-INF/templates/generic/user_profile_link.tpl">
+                                                                       <ui:param name="user" value="#{share.setShareUserSharee(shareUserSharer)}" />
+                                                               </ui:include>
+                                                       </h:column>
+
+                                                       <h:column>
+                                                               <f:facet name="header">#{msg.SHARE_CREATED}</f:facet>
+                                                               <h:outputText id="shareCreated" value="#{share.shareCreated.time}" title="#{msg.SHARE_CREATED_TITLE}">
+                                                                       <f:convertDateTime for="shareCreated" type="both" timeStyle="short" dateStyle="medium" />
+                                                               </h:outputText>
+                                                       </h:column>
+                                               </h:dataTable>
+                                       </div>
+
+                                       <div class="para">
+                                               <h:outputText class="notice" value="#{msg.LOGIN_USER_HAS_NOT_SHARED_ADDRESSBOOKS}" rendered="#{not shareController.isSharingAddressbooks()}" />
+                                       </div>
+
+                                       <div class="table_footer">
+                                               <h:link id="shareAddressbook" outcome="user_list" title="#{msg.LINK_LOGIN_START_SHARING_ADDRESSBOOKS_TITLE}" value="#{msg.LINK_LOGIN_START_SHARING_ADDRESSBOOKS}" />
+                                       </div>
+                               </div>
+                       </ui:fragment>
+
+                       <ui:fragment rendered="#{not loginController.isUserLoggedIn()}">
+                               <ui:include id="login_only" src="/WEB-INF/templates/generic/user_not_logged_in.tpl" />
+                       </ui:fragment>
+               </ui:define>
+       </ui:composition>
+</html>
diff --git a/web/user/login_start_sharing_addressbook.xhtml b/web/user/login_start_sharing_addressbook.xhtml
new file mode 100644 (file)
index 0000000..442610a
--- /dev/null
@@ -0,0 +1,70 @@
+<?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"
+         xmlns:c="http://xmlns.jcp.org/jsp/jstl/core">
+
+       <ui:composition template="/WEB-INF/templates/#{loginController.templateType}/#{loginController.templateType}_base.tpl">
+               <ui:define name="login_title">#{msg.PAGE_TITLE_LOGIN_START_SHARING_ADDRESSBOOK}</ui:define>
+
+               <ui:define name="content_header">
+                       #{msg.CONTENT_TITLE_LOGIN_START_SHARING_ADDRESSBOOK}
+               </ui:define>
+
+               <ui:define name="content">
+                       <ui:fragment rendered="#{loginController.isUserLoggedIn()}">
+                               <div class="table_big">
+
+                                       <div class="table_header">
+                                               #{msg.TABLE_HEADER_CHOOSE_USER_FOR_SHARING}
+                                       </div>
+
+                                       <div class="para">
+                                               <h:outputText id="userNotLoggedIn" class="notice" value="#{msg.USER_NOT_LOGGED_IN}" rendered="#{not loginController.isUserLoggedIn()}" />
+
+                                               <h:dataTable id="userList" headerClass="table_header_column" var="user" value="#{addressbookController.allUsersNotSharing()}" rendered="#{loginController.isUserLoggedIn() and not empty addressbookController.addressbook and not loginController.isInvisible()}">
+
+                                                       <h:column>
+                                                               <f:facet name="header">#{msg.USER_ID}</f:facet>
+                                                               <h:outputText value="#{user.userId}" />
+                                                       </h:column>
+
+                                                       <h:column>
+                                                               <f:facet name="header">#{msg.USER_NAME}</f:facet>
+                                                               <ui:include src="/WEB-INF/templates/generic/user_profile_link.tpl">
+                                                                       <ui:param name="user" value="#{user}" />
+                                                               </ui:include>
+                                                       </h:column>
+
+                                                       <h:column>
+                                                               <f:facet name="header">#{msg.LOGIN_START_SHARING_TITLE}</f:facet>
+                                                               <h:form acceptcharset="utf-8" id="startSharing" rendered="#{profileController.isProfileLinkVisibleByUser(user)}">
+                                                                       <h:commandButton class="submit" id="submit" value="#{msg.LOGIN_START_SHARING_BUTTON}" action="#{shareController.startSharing(user, addressbookController.addressbook)}" title="#{msg.LOGIN_START_SHARING_BUTTON_TITLE}" />
+                                                               </h:form>
+                                                       </h:column>
+                                               </h:dataTable>
+
+                                               <h:outputText id="addressbokUnset" class="notice" value="#{msg.LOGIN_ADDRESSBOOK_NOT_SET}" rendered="#{empty addressbookController.addressbook}" />
+
+                                               <h:outputText id="ownProfileInvisible" class="notice" value="#{msg.LOGIN_OWN_PROFILE_INVISIBLE}" rendered="#{loginController.isUserLoggedIn() and not empty addressbookController.addressbook and not loginController.isInvisible()}" />
+                                       </div>
+
+                                       <div class="table_footer">
+                                               <ul>
+                                                       <li>#{msg.LOGIN_START_SHARING_NOTICE1}</li>
+                                                       <li>#{msg.LOGIN_START_SHARING_NOTICE2}</li>
+                                               </ul>
+                                       </div>
+                               </div>
+                       </ui:fragment>
+
+                       <ui:fragment rendered="#{not loginController.isUserLoggedIn()}">
+                               <ui:include id="login_only" src="/WEB-INF/templates/generic/user_not_logged_in.tpl" />
+                       </ui:fragment>
+               </ui:define>
+       </ui:composition>
+</html>
diff --git a/web/user/login_user_data_saved.xhtml b/web/user/login_user_data_saved.xhtml
new file mode 100644 (file)
index 0000000..e42c555
--- /dev/null
@@ -0,0 +1,30 @@
+<?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/login/login_base.tpl">
+               <ui:define name="login_title">#{msg.PAGE_TITLE_LOGIN_USER_DATA_SAVED}</ui:define>
+
+               <ui:define name="content_header">
+                       #{msg.CONTENT_TITLE_LOGIN_USER_DATA_SAVED}
+               </ui:define>
+
+               <ui:define name="content">
+                       <ui:fragment rendered="#{loginController.isUserLoggedIn()}">
+                               <ui:include id="message_box" 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 loginController.isUserLoggedIn()}">
+                               <ui:include id="login_only" src="/WEB-INF/templates/generic/user_not_logged_in.tpl" />
+                       </ui:fragment>
+               </ui:define>
+       </ui:composition>
+</html>
diff --git a/web/user/lost_passwd.xhtml b/web/user/lost_passwd.xhtml
deleted file mode 100644 (file)
index c6c0848..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-<?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_LOST_PASSWORD}</ui:define>
-
-               <ui:define name="content_header">
-                       #{msg.CONTENT_TITLE_USER_LOST_PASSWORD}
-               </ui:define>
-
-               <ui:define name="content">
-                       <div class="para" id="user_lost_password_content">
-                               <h:form id="lost_password_form">
-                                       <div class="table">
-                                               <div class="table_header">
-                                                       #{msg.GUEST_LOST_PASSWORD_TITLE}
-                                               </div>
-
-                                               <fieldset id="login_data">
-                                                       <legend title="#{msg.GUEST_LOST_PASSWORD_LEGEND_TITLE}">#{msg.GUEST_LOST_PASSWORD_LEGEND}</legend>
-
-                                                       <div class="table_row">
-                                                               <div class="table_left">
-                                                                       <h:outputLabel for="id" value="#{msg.ENTER_USER_NAME}" />
-                                                               </div>
-
-                                                               <div class="table_right">
-                                                                       <h:inputText class="input" id="id" size="10" maxlength="20" value="#{passwordRecoveryController.userId}" />
-                                                               </div>
-
-                                                               <div class="clear"></div>
-                                                       </div>
-
-                                                       <div class="table_header">
-                                                               #{msg.GUEST_LOST_PASSWORD_NUMBER_OR_EMAIL}
-                                                       </div>
-
-                                                       <div class="table_row">
-                                                               <div class="table_left">
-                                                                       <h:outputLabel for="email" value="#{msg.ENTER_EMAIL_ADDRESS}" />
-                                                               </div>
-
-                                                               <div class="table_right">
-                                                                       <h:inputText class="input" id="email" size="20" maxlength="255" value="#{passwordRecoveryController.emailAddress}" />
-                                                               </div>
-
-                                                               <div class="clear"></div>
-                                                       </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()}" />
-                                               </div>
-                                       </div>
-                               </h:form>
-                       </div>
-               </ui:define>
-       </ui:composition>
-</html>
diff --git a/web/user/register.xhtml b/web/user/register.xhtml
deleted file mode 100644 (file)
index b03c31e..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-<?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}</ui:define>
-
-               <ui:define name="content_header">
-                       #{msg.CONTENT_TITLE_USER_REGISTER}
-               </ui:define>
-
-               <ui:define name="content">
-                       <div class="para">
-                               #{msg.GUEST_ALREADY_USER_CONTINUE_LOGIN_1}
-                               <h:link outcome="user_login" value="#{msg.CLICK_HERE}" />
-                               #{msg.GUEST_ALREADY_USER_CONTINUE_LOGIN_2}
-                       </div>
-
-                       <div class="registration_form">
-                               <ui:include src="/WEB-INF/templates/guest/guest_registration_form.tpl" />
-                       </div>
-               </ui:define>
-       </ui:composition>
-</html>
diff --git a/web/user/register_done.xhtml b/web/user/register_done.xhtml
deleted file mode 100644 (file)
index bbec38e..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-<?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" class="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>
diff --git a/web/user/resend_link.xhtml b/web/user/resend_link.xhtml
deleted file mode 100644 (file)
index 89da750..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-<?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_INDEX_RESEND_LINK}</ui:define>
-
-               <ui:define name="content_header">
-                       #{msg.CONTENT_TITLE_INDEX_RESEND_LINK}
-               </ui:define>
-
-               <ui:define name="content">
-                       Here goes your content.
-               </ui:define>
-       </ui:composition>
-</html>
diff --git a/web/user/show_addressbook.xhtml b/web/user/show_addressbook.xhtml
deleted file mode 100644 (file)
index 1a1193f..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-<?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">
-
-       <f:metadata>
-               <f:viewParam id="addressbookId" name="addressbookId" value="#{addressbookController.addressbookId}" required="true" requiredMessage="#{msg.PARAMETER_ADDRESSBOOK_ID_MISSING}" converterMessage="#{msg.PARAMETER_ADDRESSBOOK_ID_INVALID}" validatorMessage="#{msg.PARAMETER_ADDRESSBOOK_ID_NOT_FOUND}">
-                       <f:convertNumber for="addressbookId" type="number" minIntegerDigits="1" maxIntegerDigits="20" />
-                       <f:validator for="addressbookId" validatorId="AddressbookIdValidator" />
-               </f:viewParam>
-       </f:metadata>
-
-       <ui:composition template="/WEB-INF/templates/#{loginController.templateType}/#{loginController.templateType}_base.tpl">
-               <ui:define name="login_title">#{msg.PAGE_TITLE_USER_SHOW_ADDRESSBOOK}</ui:define>
-               <ui:define name="guest_title">#{msg.PAGE_TITLE_INDEX_SHOW_ADDRESSBOOK}</ui:define>
-
-               <ui:define name="content_header">
-                       #{msg.CONTENT_TITLE_USER_SHOW_ADDRESSBOOK}
-               </ui:define>
-
-               <ui:define name="content">
-                       <h:panelGrid headerClass="table_header" styleClass="table" columns="2" rendered="#{addressbookController.loadAddressbook()}">
-                               <f:facet name="header">#{msg.TABLE_HEADER_SHOW_ADDRESSBOOK}</f:facet>
-
-                               <h:outputLabel for="addressbookName" class="table_label">#{msg.ADDRESSBOOK_NAME}</h:outputLabel>
-                               <h:outputText id="addressbookName" value="#{addressbookController.addressbookName}" />
-
-                               <h:outputLabel for="userProfileLink" class="table_label">#{msg.ADDRESSBOOK_OWNER}</h:outputLabel>
-                               <ui:include src="/WEB-INF/templates/generic/user_profile_link.tpl">
-                                       <ui:param name="user" value="#{addressbookController.addressbookUser}" />
-                               </ui:include>
-
-                               <h:outputLabel for="addressbookCreated" class="table_label">#{msg.ADDRESSBOOK_CREATED}</h:outputLabel>
-                               <h:outputFormat id="addressbookCreated" value="#{addressbookController.addressbook.addressbookCreated.time}" title="#{msg.ADDRESSBOOK_CREATED_TITLE}">
-                                       <f:convertDateTime for="addressbookCreated" type="both" timeStyle="short" dateStyle="medium" />
-                               </h:outputFormat>
-
-                               <h:outputLabel for="addressbookStatus" class="table_label">#{msg.ADDRESSBOOK_STATUS}</h:outputLabel>
-                               <h:outputText id="addressbookStatus" value="#{msg[addressbookController.addressbook.addressbookStatus.messageKey]}" title="#{msg.ADDRESSBOOK_STATUS_TITLE}" />
-
-                               <f:facet name="footer">
-                                       <h:outputText id="ownProfileInvible" class="notice" value="#{msg.USER_NOT_LOGGED_IN}" rendered="#{not loginController.isUserLoggedIn()}" />
-                                       <h:outputText id="ownProfileInvible" class="notice" value="#{msg.LOGIN_OWN_PROFILE_INVISIBLE}" rendered="#{loginController.isUserLoggedIn() and loginController.isInvisible()}" />
-
-                                       <ui:fragment rendered="#{loginController.isUserLoggedIn() and not loginController.isInvisible()}">
-                                               <h:link id="startSharing" outcome="login_start_sharing_addressbook" value="#{msg.LINK_LOGIN_START_SHARING_ADDRESSBOOK}" title="#{msg.LINK_LOGIN_START_SHARING_ADDRESSBOOK_TITLE}" rendered="#{addressbookController.isOwnAddressbook()}" />
-
-                                               <h:outputText value="Bla bla" rendered="#{addressbookController.isOtherAddressbook()}" />
-                                       </ui:fragment>
-                               </f:facet>
-                       </h:panelGrid>
-               </ui:define>
-       </ui:composition>
-</html>
diff --git a/web/user/show_addressbook_entries.xhtml b/web/user/show_addressbook_entries.xhtml
deleted file mode 100644 (file)
index 0164c1a..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-<?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/login/login_base.tpl">
-               <ui:define name="login_title">#{msg.PAGE_TITLE_USER_SHOW_ADDRESSBOOK_ENTRIES}</ui:define>
-
-               <ui:define name="content_header">
-                       #{msg.CONTENT_TITLE_USER_SHOW_ADDRESSBOOK_ENTRIES}
-               </ui:define>
-
-               <ui:define name="content">
-                       Here goes your content.
-               </ui:define>
-       </ui:composition>
-</html>
diff --git a/web/user/user_list.xhtml b/web/user/user_list.xhtml
deleted file mode 100644 (file)
index 60b60b7..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-<?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/#{loginController.templateType}/#{loginController.templateType}_base.tpl">
-               <ui:define name="login_title">#{msg.PAGE_TITLE_USER_LIST}</ui:define>
-
-               <ui:define name="content_header">
-                       #{msg.CONTENT_TITLE_USER_LIST}
-               </ui:define>
-
-               <ui:define name="content">
-                       <div class="table_big">
-                               <div class="table_header">
-                                       #{msg.TABLE_HEADER_USER_LIST}
-                               </div>
-
-                               <h:dataTable id="userList" var="user" value="#{userController.allVisibleUsers()}" headerClass="table_header_column25" summary="#{msg.TABLE_SUMMARY_USER_LIST}" rendered="#{userController.isVisibleUserFound()}">
-                                       <h:column>
-                                               <f:facet name="header">#{msg.USER_NAME}</f:facet>
-                                               <ui:include src="/WEB-INF/templates/generic/user_profile_link.tpl">
-                                                       <ui:param name="user" value="#{user}" />
-                                               </ui:include>
-                                       </h:column>
-
-                                       <h:column>
-                                               <f:facet name="header">#{msg.USER_CREATED}</f:facet>
-                                               <h:outputFormat id="userCreated" value="#{user.userCreated.time}" title="#{msg.USER_CREATED_TITLE}" />
-                                       </h:column>
-
-                                       <h:column>
-                                               <f:facet name="header">#{msg.USER_LIST_SHARING_ADDRESSBOOKS}</f:facet>
-                                               <ui:fragment rendered="#{loginController.isUserLoggedIn()}">
-                                                       <h:link outcome="login_list_sharing_addressbooks" value="#{msg.LINK_LOGIN_LIST_SHARING_ADDRESSBOOKS}" title="#{msg.LINK_LOGIN_LIST_SHARING_ADDRESSBOOKS_TITLE}">
-                                                               <f:param name="userId" value="#{user.userId}" />
-                                                       </h:link>
-                                               </ui:fragment>
-                                               <ui:fragment rendered="#{loginController.isGuest()}">
-                                                       <h:outputText id="userShared" value="#{addressbookController.countAllUserSharedAddressbooks(user)}" />
-                                               </ui:fragment>
-                                       </h:column>
-                               </h:dataTable>
-                       </div>
-               </ui:define>
-       </ui:composition>
-</html>
diff --git a/web/user/user_profile.xhtml b/web/user/user_profile.xhtml
deleted file mode 100644 (file)
index 0e58740..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-<?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"
-         xmlns:c="http://xmlns.jcp.org/jsp/jstl/core">
-
-       <f:metadata>
-               <f:viewParam id="userId" name="userId" value="#{userController.userId}" required="true" requiredMessage="#{msg.PARAMETER_USER_ID_MISSING}" converterMessage="#{msg.PARAMETER_USER_ID_INVALID}" validatorMessage="#{msg.PARAMETER_USER_ID_NOT_FOUND}">
-                       <f:convertNumber for="userId" type="number" minIntegerDigits="1" maxIntegerDigits="20" />
-                       <f:validator for="userId" validatorId="UserIdValidator" />
-               </f:viewParam>
-       </f:metadata>
-
-       <ui:composition template="/WEB-INF/templates/#{loginController.templateType}/#{loginController.templateType}_base.tpl">
-               <ui:define name="login_title">#{msg.PAGE_TITLE_LOGIN_USER_PROFILE}</ui:define>
-               <ui:define name="guest_title">#{msg.PAGE_TITLE_INDEX_USER_PROFILE}</ui:define>
-
-               <ui:define name="content_header">
-                       #{msg.CONTENT_TITLE_INDEX_USER_PROFILE}
-               </ui:define>
-
-               <ui:define name="content">
-                       <c:choose>
-                               <c:when test="#{userController.isUserIdEmpty()}">
-                                       <ui:include src="/WEB-INF/templates/generic/userid_error.tpl" />
-                               </c:when>
-
-                               <c:when test="#{profileController.isProfileLinkVisibleById(userController.userId)}">
-                                       <div align="center">
-                                               <h:panelGrid styleClass="table" headerClass="table_header" footerClass="table_footer">
-                                                       <f:facet name="header">
-                                                               #{msg.PUBLIC_USER_PROFILE}
-                                                       </f:facet>
-                                               </h:panelGrid>
-                                       </div>
-                               </c:when>
-
-                               <c:otherwise>
-                                       #{msg.ERROR_PROFILE_NOT_VISIBLE}
-                               </c:otherwise>
-                       </c:choose>
-               </ui:define>
-       </ui:composition>
-</html>