]> git.mxchange.org Git - jjobs-war.git/commitdiff
Please cherry-pick:
authorRoland Häder <roland@mxchange.org>
Wed, 19 Apr 2017 14:07:36 +0000 (16:07 +0200)
committerRoland Häder <roland@mxchange.org>
Wed, 19 Apr 2017 14:23:15 +0000 (16:23 +0200)
- used h:outputText to wrap text ... this is a WUI (like a GUI) and text
  elements should be wrapped into JSF tags

Signed-off-by: Roland Häder <roland@mxchange.org>
26 files changed:
src/java/org/mxchange/jjobs/converter/mobile/JobsMobileNumberConverter.java
src/java/org/mxchange/localization/bundle_de_DE.properties
src/java/org/mxchange/localization/bundle_en_US.properties
web/WEB-INF/templates.dist/login_page.xhtml
web/admin/mobile/admin_cellphone_delete.xhtml [new file with mode: 0644]
web/admin/mobile/admin_cellphone_show.xhtml [new file with mode: 0644]
web/admin/mobile/admin_contact_cellphone_list.xhtml [new file with mode: 0644]
web/admin/mobile/admin_contact_cellphone_unlink.xhtml [new file with mode: 0644]
web/admin/user/admin_user_lock.xhtml
web/guest/user/login.xhtml [new file with mode: 0644]
web/guest/user/show_addressbook.xhtml [deleted file]
web/guest/user/show_addressbook_entries.xhtml [deleted file]
web/logout.xhtml [deleted file]
web/user/login_add_addressbook.xhtml
web/user/login_data_saved.xhtml
web/user/login_edit_user_data.xhtml
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
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_change_email_address.xhtml
web/user/login_user_change_password.xhtml
web/user/login_user_change_personal_data.xhtml
web/user/login_user_contact_data_saved.xhtml
web/user/login_user_data_saved.xhtml

index dc3785b6832a77f0cd5cde9c28bad08f8a0c1a29..2f31e6b005e77e0ad1db827406c9d9e5c243b0d5 100644 (file)
@@ -103,7 +103,7 @@ public class JobsMobileNumberConverter implements Converter {
                }
 
                // Trace message
-               // NOISY-DEBUG: this.loggerBeanLocal.logTrace(MessageFormat.format("getAsObject: cellphone={0} - EXIT!", cellphone)); //NOI18N
+               // NOISY-DEBUG: this.loggerBeanLocal.logTrace(MessageFormat.format("getAsObject: mobileNumber={0} - EXIT!", mobileNumber)); //NOI18N
 
                // Return it
                return mobileNumber;
index e7e19ac0c394353dbdfd891323ed6b73aac0430e..7f043630b8aa662c601092f15ffa57d1a989e6a6 100644 (file)
@@ -123,8 +123,8 @@ MENU_LOGOUT_TITLE=Ausloggen
 CLICK_HERE=hier
 GUEST_ALREADY_USER_CONTINUE_LOGIN_1=Sie sind bereits angemeldet? Dann
 GUEST_ALREADY_USER_CONTINUE_LOGIN_2=einloggen.
-PAGE_TITLE_LOGIN_HOME=Willkommen zum Benutzerbereich
-CONTENT_TITLE_LOGIN_HOME=\u00dcbersicht Ihrer Bewerbungen:
+PAGE_TITLE_USER_LOGIN_HOME=Willkommen zum Benutzerbereich
+CONTENT_TITLE_USER_LOGIN_HOME=\u00dcbersicht Ihrer Bewerbungen:
 LINK_LOGIN_LOGOUT=Ausloggen
 COUNTRY_GERMANY=Deutschland
 COUNTRY_PHILIPPINES=Philippinen
@@ -223,7 +223,6 @@ PAGE_TITLE_LOGIN_USER_CHANGE_PERSONAL_DATA=Ihre persoenlichen Daten aendern
 CONTENT_TITLE_LOGIN_USER_CHANGE_PERSONAL_DATA=Aendern Ihrer Adresse, Telefonnummer usw.:
 LOGIN_MESSAGE_DATA_SAVED=Daten wurden gespeichert.
 PAGE_TITLE_LOGIN_DATA_SAVED=Ihre Daten wurden gespeichert
-CONTENT_TITLE_LOGIN_DATA_SAVED=Daten wurden gespeichert:
 LOGIN_USER_CHANGE_EMAIL_ADDRESS_TITLE=\u00c4ndern Sie Ihre Email-Adresse:
 LOGIN_USER_CHANGE_EMAIL_LEGEND=Email-Adresse \u00e4ndern:
 LOGIN_USER_CHANGE_EMAIL_LEGEND_TITLE=Hier k\u00f6nnen Sie Ihre Email-Adresse \u00e4ndern. Dazu m\u00fcssen Sie diese zweimal eingeben und die neue Adresse best\u00e4tigen.
index cb70030bb7b539bad2ef56dc50ed06a52d3a5256..c143bc9a982d42c7d16948f06f8a2fcb1907aed5 100644 (file)
@@ -123,8 +123,8 @@ MENU_LOGOUT_TITLE=Logout
 CLICK_HERE=here
 GUEST_ALREADY_USER_CONTINUE_LOGIN_1=Already registered? Then click
 GUEST_ALREADY_USER_CONTINUE_LOGIN_2=to login.
-PAGE_TITLE_LOGIN_HOME=Welcome to user area
-CONTENT_TITLE_LOGIN_HOME=Overview of your applications:
+PAGE_TITLE_USER_LOGIN_HOME=Welcome to user area
+CONTENT_TITLE_USER_LOGIN_HOME=Overview of your applications:
 LINK_LOGIN_LOGOUT=Logout
 PAGE_TITLE_LOGIN_AREA=User area
 COUNTRY_GERMANY=Germany
index f9126cf0044b8c191f35b09dc6c1ecd6214eb490..a47f1bf5d386c9c453b78ad3ddd0b736f2e11b0c 100644 (file)
@@ -7,13 +7,9 @@
        >
 
        <ui:composition template="/WEB-INF/templates/login/user/user_base.tpl">
-<<<<<<< HEAD
                <ui:define name="login_title">
                        <h:outputText value="#{msg.PAGE_TITLE_USER_LOGIN_FOO}" />
                </ui:define>
-=======
-               <ui:define name="login_title">#{msg.PAGE_TITLE_LOGIN_FOO}</ui:define>
->>>>>>> 1b276cd... Cleanups:
 
                <ui:define name="content_header">
                        <h:outputText value="#{msg.SUB_TITLE_USER_LOGIN_FOO}" />
diff --git a/web/admin/mobile/admin_cellphone_delete.xhtml b/web/admin/mobile/admin_cellphone_delete.xhtml
new file mode 100644 (file)
index 0000000..072aae1
--- /dev/null
@@ -0,0 +1,25 @@
+<!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 name="phoneId" value="#{adminPhoneController.cellPhone}" converter="CellphoneConverter" required="true" requiredMessage="#{msg.ERROR_PARAMETER_PHONE_ID_NOT_SET}" />
+       </f:metadata>
+
+       <ui:composition template="/WEB-INF/templates/admin/admin_base.tpl">
+               <ui:define name="admin_title">#{msg.PAGE_TITLE_ADMIN_DELETE_CELLPHONE}</ui:define>
+
+               <ui:define name="content_header">
+                       <h:outputText value="#{msg.CONTENT_TITLE_ADMIN_DELETE_CELLPHONE}" />
+               </ui:define>
+
+               <ui:define name="content">
+                       Here goes your content.
+               </ui:define>
+       </ui:composition>
+</html>
diff --git a/web/admin/mobile/admin_cellphone_show.xhtml b/web/admin/mobile/admin_cellphone_show.xhtml
new file mode 100644 (file)
index 0000000..71fb833
--- /dev/null
@@ -0,0 +1,92 @@
+<!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 name="phoneId" value="#{adminPhoneController.cellPhone}" converter="CellphoneConverter" required="true" requiredMessage="#{msg.ERROR_PARAMETER_PHONE_ID_NOT_SET}" />
+       </f:metadata>
+
+       <ui:composition template="/WEB-INF/templates/admin/admin_base.tpl">
+               <ui:define name="admin_title">#{msg.PAGE_TITLE_ADMIN_SHOW_CELLPHONE}</ui:define>
+
+               <ui:define name="content_header">
+                       <h:outputText value="#{msg.CONTENT_TITLE_ADMIN_SHOW_CELLPHONE}" />
+               </ui:define>
+
+               <ui:define name="content">
+                       <ui:include src="/WEB-INF/templates/admin/mobile/admin_mobile_data.tpl">
+                               <ui:param name="isShowPage" value="#{true}" />
+                       </ui:include>
+
+                       <h:dataTable id="contact_mobile_link" var="contact" value="#{contactPhoneController.allMobileContacts()}" summary="#{msg.TABLE_SUMMARY_ADMIN_SHOW_CELLPHONE_LINKS}" headerClass="table_header_column" styleClass="table_medium">
+                               <f:facet name="header">
+                                       <h:outputFormat value="#{msg.ADMIN_HEADER_SHOW_CELLPHONE_LINKS}">
+                                               <f:param value="#{adminPhoneController.cellPhone.phoneId}" />
+                                       </h:outputFormat>
+                               </f:facet>
+
+                               <h:column>
+                                       <h:outputLabel for="contactId" styleClass="data_label" value="#{msg.ADMIN_CONTACT_ID}" />
+
+                                       <h:link id="contactId" styleClass="data_field" outcome="admin_show_contact">
+                                               <h:outputText value="#{contact.contactId}" />
+                                               <f:param name="contactId" value="#{contact.contactId}" />
+                                       </h:link>
+                               </h:column>
+
+                               <h:column>
+                                       <h:outputLabel for="contactGender" styleClass="data_label" value="#{msg.ADMIN_CONTACT_GENDER}" />
+
+                                       <h:outputText id="contactGender" styleClass="data_field" value="#{msg[contact.contactGender.messageKey]}" />
+                               </h:column>
+
+                               <h:column>
+                                       <h:outputLabel for="contactTitle" styleClass="data_label" value="#{msg.ADMIN_CONTACT_TITLE}" />
+
+                                       <h:outputText id="contactTitle" styleClass="data_field" value="#{contact.contactTitle}" />
+                               </h:column>
+
+                               <h:column>
+                                       <h:outputLabel for="contactFirstName" styleClass="data_label" value="#{msg.ADMIN_CONTACT_FIRST_NAME}" />
+
+                                       <h:outputText id="contactFirstName" styleClass="data_field" value="#{contact.contactFirstName}" />
+                               </h:column>
+
+                               <h:column>
+                                       <h:outputLabel for="contactFamilyName" styleClass="data_label" value="#{msg.ADMIN_CONTACT_FAMILY_NAME}" />
+
+                                       <h:outputText id="contactFamilyName" styleClass="data_field" value="#{contact.contactFamilyName}" />
+                               </h:column>
+
+                               <h:column>
+                                       <h:outputLabel for="contactEmailAddress" styleClass="data_label" value="#{msg.ADMIN_CONTACT_EMAIL_ADDRESS}" />
+
+                                       <h:outputLink id="contactEmailAddress" styleClass="data_field" value="mailto:#{contact.contactEmailAddress}">
+                                               <h:outputText value="#{contact.contactEmailAddress}" />
+                                       </h:outputLink>
+                               </h:column>
+
+                               <h:column>
+                                       <h:outputLabel styleClass="data_label" value="#{msg.ADMIN_SHOW_CELLPHONE_UNLINK}" />
+
+                                       <div class="data_field">
+                                               <ul class="mini_nav">
+                                                       <li class="mini_link">
+                                                               <h:link outcome="admin_unlink_contact_mobile">
+                                                                       <h:outputText styleClass="unlink_link" value="#{msg.ADMIN_LINK_UNLINK_SHORT}" title="#{msg.ADMIN_LINK_UNLINK_SHORT_TITLE}" />
+                                                                       <f:param name="phoneId" value="#{adminPhoneController.cellPhone.phoneId}" />
+                                                                       <f:param name="contactId" value="#{contact.contactId}" />
+                                                               </h:link>
+                                                       </li>
+                                               </ul>
+                                       </div>
+                               </h:column>
+                       </h:dataTable>
+               </ui:define>
+       </ui:composition>
+</html>
diff --git a/web/admin/mobile/admin_contact_cellphone_list.xhtml b/web/admin/mobile/admin_contact_cellphone_list.xhtml
new file mode 100644 (file)
index 0000000..b8c0d07
--- /dev/null
@@ -0,0 +1,27 @@
+<!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/admin/admin_base.tpl">
+               <ui:define name="admin_title">#{msg.PAGE_TITLE_ADMIN_LIST_CONTACT_CELLPHONE}</ui:define>
+
+               <ui:define name="content_header">
+                       <h:outputText value="#{msg.CONTENT_TITLE_ADMIN_LIST_CONTACT_CELLPHONE}" />
+               </ui:define>
+
+               <ui:define name="content">
+                       <h:dataTable id="table_list_mobiles" var="mobile" value="#{phoneController.allCellphones()}" styleClass="table_big" headerClass="table_header_column" summary="#{msg.TABLE_SUMMARY_ADMIN_LIST_CELLPHONES}" rendered="#{not phoneController.allCellphones().isEmpty()}">
+                               <h:column>
+                                       <f:facet name="header">
+                                               <h:outputText value="#{msg.ADMIN_SHOW_CELLPHONE_ID}" />
+                                       </f:facet>
+                               </h:column>
+                       </h:dataTable>
+               </ui:define>
+       </ui:composition>
+</html>
diff --git a/web/admin/mobile/admin_contact_cellphone_unlink.xhtml b/web/admin/mobile/admin_contact_cellphone_unlink.xhtml
new file mode 100644 (file)
index 0000000..fadc8b5
--- /dev/null
@@ -0,0 +1,26 @@
+<!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 name="phoneId" value="#{adminPhoneController.cellPhone}" converter="CellphoneConverter" required="true" requiredMessage="#{msg.ERROR_PARAMETER_PHONE_ID_NOT_SET}" />
+               <f:viewParam name="contactId" value="#{beanHelper.contact}" converter="ContactConverter" required="true" requiredMessage="#{msg.ERROR_PARAMETER_CONTACT_ID_NOT_SET}" />
+       </f:metadata>
+
+       <ui:composition template="/WEB-INF/templates/admin/admin_base.tpl">
+               <ui:define name="admin_title">#{msg.PAGE_TITLE_ADMIN_UNLINK_CONTACT_CELLPHONE}</ui:define>
+
+               <ui:define name="content_header">
+                       <h:outputText value="#{msg.CONTENT_TITLE_ADMIN_UNLINK_CONTACT_CELLPHONE}" />
+               </ui:define>
+
+               <ui:define name="content">
+                       Here goes your content.
+               </ui:define>
+       </ui:composition>
+</html>
index 548f8898038e9d3d50d2662da9ee24b40c83cbc3..74860144bb996c9caa178a38f03b668f53593ec2 100644 (file)
@@ -21,7 +21,7 @@
                </ui:define>
 
                <ui:define name="content_header">
-                       #{msg.CONTENT_TITLE_ADMIN_LOCK_USER}
+                       <h:outputText value="#{msg.CONTENT_TITLE_ADMIN_LOCK_USER}" />
                </ui:define>
 
                <ui:define name="content">
diff --git a/web/guest/user/login.xhtml b/web/guest/user/login.xhtml
new file mode 100644 (file)
index 0000000..5ee9814
--- /dev/null
@@ -0,0 +1,43 @@
+<!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">
+                       <h:outputText value="#{msg.CONTENT_TITLE_USER_LOGIN}" />
+               </ui:define>
+
+               <ui:define name="content">
+                       <ui:fragment rendered="#{featureController.isFeatureEnabled('user_name_required')}">
+                               <ui:fragment rendered="#{featureController.isFeatureEnabled('user_registration')}">
+                                       <div class="para">
+                                               <h:outputText value="#{msg.GUEST_USER_NO_ACCOUNT_YET_QUESTION}" />
+                                               <h:outputText value="&#160;" />
+                                               <h:link id="user_register" outcome="user_register" title="#{msg.LINK_GUEST_USER_NO_ACCOUNT_TITLE}" value="#{msg.LINK_GUEST_USER_NO_ACCOUNT_YET}" />
+                                       </div>
+                               </ui:fragment>
+
+                               <div class="para">
+                                       <ui:include src="/WEB-INF/templates/guest/user/guest_login_form.tpl" />
+                               </div>
+
+                               <ui:fragment rendered="#{featureController.isFeatureEnabled('user_name_required') and featureController.isFeatureEnabled('user_password_recovery')}">
+                                       <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:fragment>
+                       </ui:fragment>
+
+                       <ui:fragment rendered="#{not featureController.isFeatureEnabled('user_name_required')}">
+                               <h:outputText styleClass="errors" value="#{msg.ERROR_GUEST_USER_LOGIN_DEACTIVATED}" />
+                       </ui:fragment>
+               </ui:define>
+       </ui:composition>
+</html>
diff --git a/web/guest/user/show_addressbook.xhtml b/web/guest/user/show_addressbook.xhtml
deleted file mode 100644 (file)
index 6a1aa0b..0000000
+++ /dev/null
@@ -1,56 +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/#{userLoginController.templateType}/#{userLoginController.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" styleClass="table_label">#{msg.ADDRESSBOOK_NAME}</h:outputLabel>
-                               <h:outputText id="addressbookName" value="#{addressbookController.addressbookName}" />
-
-                               <h:outputLabel for="userProfileLink" styleClass="table_label">#{msg.ADDRESSBOOK_OWNER}</h:outputLabel>
-                               <ui:include src="/WEB-INF/templates/user/user_profile_link.tpl">
-                                       <ui:param name="user" value="#{addressbookController.addressbookUser}" />
-                               </ui:include>
-
-                               <h:outputLabel for="addressbookCreated" styleClass="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" styleClass="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" styleClass="notice" value="#{msg.USER_NOT_LOGGED_IN}" rendered="#{not userLoginController.isUserLoggedIn()}" />
-                                       <h:outputText id="ownProfileInvible" styleClass="notice" value="#{msg.LOGIN_OWN_PROFILE_INVISIBLE}" rendered="#{userLoginController.isUserLoggedIn() and userLoginController.isInvisible()}" />
-
-                                       <ui:fragment rendered="#{userLoginController.isUserLoggedIn() and not userLoginController.isInvisible()}">
-                                               <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
deleted file mode 100644 (file)
index 8847299..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/user/user_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/logout.xhtml b/web/logout.xhtml
deleted file mode 100644 (file)
index eeed516..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-<!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_LOGOUT}</ui:define>
-
-               <ui:define name="content_header">
-                       #{msg.CONTENT_TITLE_INDEX_LOGOUT}
-               </ui:define>
-
-               <ui:define name="content">
-                       Here goes your content.
-               </ui:define>
-       </ui:composition>
-</html>
index 0af70f0dd35398c4b8e38702286f48f522ebc113..ffb94fcb88267f3bbaf7d559c362cb818940421c 100644 (file)
@@ -30,7 +30,7 @@
 
                                                        <div class="table_right">
                                                                <h:inputText styleClass="input" id="addressbookName" value="#{addressbookController.addressbookName}" maxlength="50" size="20" title="#{msg.LOGIN_ENTER_ADDRESSBOOK_NAME_TITLE}" required="true" requiredMessage="#{msg.LOGIN_ADDRESSBOOK_NAME_REQUIRED_MESSAGE}">
-                                                                       <f:validator for="addressbookName" validatorId="JobsNameValidator" />
+                                                                       <f:validator for="addressbookName" validatorId="NameValidator" />
                                                                </h:inputText>
                                                        </div>
                                                </div>
index e92ea8fe912c275625c745967095b8d636961de3..2e95fcc8c613cc895effdf00cbb09880df53121f 100644 (file)
@@ -13,7 +13,7 @@
                </ui:define>
 
                <ui:define name="content_header">
-                       <h:outputText value="#{msg.CONTENT_TITLE_USER_LOGIN_DATA_SAVED}" />
+                       <h:outputText value="#{msg.CONTENT_TITLE_LOGIN_DATA_SAVED}" />
                </ui:define>
 
                <ui:define name="content">
index 3dde1ed82053d3e945082f23b0bb1ec94e15c1b7..96a0f0f1f155534c232a7b60ff859e603198b3b7 100644 (file)
@@ -11,7 +11,7 @@
                <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}
+                       <h:outputText value="#{msg.CONTENT_TITLE_LOGIN_EDIT_USER_DATA}" />
                </ui:define>
 
                <ui:define name="content">
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..5e3c94e
--- /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 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..8460284
--- /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 src="/WEB-INF/templates/generic/user_not_logged_in.tpl" />
+                       </ui:fragment>
+               </ui:define>
+       </ui:composition>
+</html>
index d8fb15f5e851375aa1b17bfdba372a86b6f5b2cb..126fa9f89634710dc53c90de1ca98bf557c93e95 100644 (file)
@@ -16,7 +16,7 @@
                </ui:define>
 
                <ui:define name="content">
-                       <h:outputText rendered="#{userLoginController.isUserLoggedIn()}">
+                       <ui:fragment rendered="#{loginController.isUserLoggedIn()}">
                                <div class="table">
                                        <div class="table_header">
                                                #{msg.TABLE_HEADER_LIST_OWN_ADDRESSBOOKS}
@@ -57,7 +57,7 @@
                                                <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>
-                       </h:outputText>
+                       </ui:fragment>
 
                        <h:outputText rendered="#{not userLoginController.isUserLoggedIn()}">
                                <ui:include src="/WEB-INF/templates/user/user_not_logged_in.tpl" />
diff --git a/web/user/login_shared_addressbooks.xhtml b/web/user/login_shared_addressbooks.xhtml
new file mode 100644 (file)
index 0000000..94b3db8
--- /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 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..aebbdd0
--- /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 src="/WEB-INF/templates/generic/user_not_logged_in.tpl" />
+                       </ui:fragment>
+               </ui:define>
+       </ui:composition>
+</html>
index ceb7b32c91de984fbf0dccc708156437c104e406..e8f52fda3cd505ef762097d50292bf208a02fd72 100644 (file)
@@ -14,7 +14,7 @@
                </ui:define>
 
                <ui:define name="content_header">
-                       <h:outputText value="#{msg.CONTENT_TITLE_USER_LOGIN_CHANGE_EMAIL_ADDRESS}" />
+                       <h:outputText value="#{msg.CONTENT_TITLE_LOGIN_USER_CHANGE_EMAIL_ADDRESS}" />
                </ui:define>
 
                <ui:define name="content">
index 1cd19d203f5e2c279f4e50ed5555e59a6afff83c..d55eb2be395803aef716b4968e9f8cb2768fcab5 100644 (file)
@@ -14,7 +14,7 @@
                </ui:define>
 
                <ui:define name="content_header">
-                       <h:outputText value="#{msg.CONTENT_TITLE_USER_LOGIN_CHANGE_PASSWORD}" />
+                       <h:outputText value="#{msg.CONTENT_TITLE_LOGIN_USER_CHANGE_PASSWORD}" />
                </ui:define>
 
                <ui:define name="content">
index a1fd6f19a930d5819f0d1b0abc9c15a5b3afd815..32286f303ff4d4c6fa614a5bf29b2d8e2e01d08e 100644 (file)
@@ -14,7 +14,7 @@
                </ui:define>
 
                <ui:define name="content_header">
-                       <h:outputText value="#{msg.CONTENT_TITLE_USER_LOGIN_CHANGE_PERSONAL_DATA}" />
+                       <h:outputText value="#{msg.CONTENT_TITLE_LOGIN_USER_CHANGE_PERSONAL_DATA}" />
                </ui:define>
 
                <ui:define name="content">
index 1eceebdea280c3281488c29e478a5cfaaba7fba5..4de72ddfd717c01c87a95c5f374404105bd511e2 100644 (file)
@@ -13,7 +13,7 @@
                </ui:define>
 
                <ui:define name="content_header">
-                       <h:outputText value="#{msg.CONTENT_TITLE_USER_LOGIN_CONTACT_DATA_SAVED}" />
+                       <h:outputText value="#{msg.CONTENT_TITLE_LOGIN_CONTACT_DATA_SAVED}" />
                </ui:define>
 
                <ui:define name="content">
index 91818480151eca2a0994ac5aa0e9df73f0bbbcde..ddb9e96b818f568d48df47d30b1feaf211873a71 100644 (file)
@@ -13,7 +13,7 @@
                </ui:define>
 
                <ui:define name="content_header">
-                       <h:outputText value="#{msg.CONTENT_TITLE_USER_LOGIN_USER_DATA_SAVED}" />
+                       <h:outputText value="#{msg.CONTENT_TITLE_LOGIN_USER_DATA_SAVED}" />
                </ui:define>
 
                <ui:define name="content">