--- /dev/null
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html
+ lang="#{localizationController.language}" xml:lang="#{localizationController.language}"
+ xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
+ xmlns:h="http://xmlns.jcp.org/jsf/html"
+ xmlns:f="http://xmlns.jcp.org/jsf/core"
+ >
+
+ <ui:composition template="/WEB-INF/templates/login/user/user_base.tpl">
+ <ui:define name="login_title">
+ <h:outputText value="#{msg.PAGE_TITLE_LOGIN_ADD_ADDRESSBOOK}" />
+ </ui:define>
+
+ <ui:define name="content_header">
+ <h:outputText value="#{msg.CONTENT_TITLE_LOGIN_ADD_ADDRESSBOOK}" />
+ </ui:define>
+
+ <ui:define name="content">
+ <ui:fragment rendered="#{userLoginController.isUserLoggedIn()}">
+ <h:form id="form_add_addressbook" acceptcharset="utf-8">
+ <div class="table">
+ <div class="table_header">
+ <h:outputText value="#{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 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="NameValidator" />
+ </h:inputText>
+ </div>
+ </div>
+
+ <div class="table_footer">
+ <h:commandButton styleClass="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
+ <h:commandButton styleClass="submit" type="submit" id="add_addressbook" value="#{msg.BUTTON_LOGIN_ADD_ADDRESSBOOK}" action="#{addressbookController.addAddressbook()}" />
+ </div>
+ </div>
+ </h:form>
+ </ui:fragment>
+
+ <ui:fragment rendered="#{not userLoginController.isUserLoggedIn()}">
+ <ui:include src="/WEB-INF/templates/user/user_not_logged_in.tpl" />
+ </ui:fragment>
+ </ui:define>
+ </ui:composition>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html
+ lang="#{localizationController.language}" xml:lang="#{localizationController.language}"
+ xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
+ xmlns:h="http://xmlns.jcp.org/jsf/html"
+ xmlns:f="http://xmlns.jcp.org/jsf/core"
+ >
+
+ <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">
+ <h:outputText value="#{msg.PAGE_TITLE_LOGIN_LIST_SHARING_ADDRESSBOOKS}" />
+ </ui:define>
+
+ <ui:define name="content_header">
+ <h:outputText value="#{msg.CONTENT_TITLE_LOGIN_LIST_SHARING_ADDRESSBOOKS}" />
+ </ui:define>
+
+ <ui:define name="content">
+ <ui:fragment rendered="#{userLoginController.isUserLoggedIn()}">
+ <ui:fragment rendered="#{shareController.isShareeUserIdSet()}">
+ <!-- @TODO 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 userLoginController.isUserLoggedIn()}">
+ <ui:include src="/WEB-INF/templates/generic/user_not_logged_in.tpl" />
+ </ui:fragment>
+ </ui:define>
+ </ui:composition>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html
+ lang="#{localizationController.language}" xml:lang="#{localizationController.language}"
+ xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
+ xmlns:h="http://xmlns.jcp.org/jsf/html"
+ xmlns:f="http://xmlns.jcp.org/jsf/core"
+ >
+
+ <ui:composition template="/WEB-INF/templates/login/login_base.tpl">
+ <ui:define name="login_title">
+ <h:outputText value="#{msg.PAGE_TITLE_LOGIN_OTHER_ADDRESSBOOKS}" />
+ </ui:define>
+
+ <ui:define name="content_header">
+ <h:outputText value="#{msg.CONTENT_TITLE_LOGIN_OTHER_ADDRESSBOOKS}" />
+ </ui:define>
+
+ <ui:define name="content">
+ <ui:fragment rendered="#{userLoginController.isUserLoggedIn()}">
+ <!-- @TODO Here goes your content. //-->
+ </ui:fragment>
+
+ <ui:fragment rendered="#{not userLoginController.isUserLoggedIn()}">
+ <ui:include src="/WEB-INF/templates/generic/user_not_logged_in.tpl" />
+ </ui:fragment>
+ </ui:define>
+ </ui:composition>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html
+ lang="#{localizationController.language}" xml:lang="#{localizationController.language}"
+ xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
+ xmlns:h="http://xmlns.jcp.org/jsf/html"
+ xmlns:f="http://xmlns.jcp.org/jsf/core"
+ >
+
+ <ui:composition template="/WEB-INF/templates/login/user/user_base.tpl">
+ <ui:define name="login_title">
+ <h:outputText value="#{msg.PAGE_TITLE_LOGIN_OWN_ADDRESSBOOKS}" />
+ </ui:define>
+
+ <ui:define name="content_header">
+ <h:outputText value="#{msg.CONTENT_TITLE_LOGIN_OWN_ADDRESSBOOKS}" />
+ </ui:define>
+
+ <ui:define name="content">
+ <ui:fragment rendered="#{userLoginController.isUserLoggedIn()}">
+ <div class="table">
+ <div class="table_header">
+ <h:outputText value="#{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">
+ <h:outputText value="#{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">
+ <h:outputText value="#{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">
+ <h:outputText value="#{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>
+
+ <h:outputText rendered="#{not userLoginController.isUserLoggedIn()}">
+ <ui:include src="/WEB-INF/templates/user/user_not_logged_in.tpl" />
+ </h:outputText>
+ </ui:define>
+ </ui:composition>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html
+ lang="#{localizationController.language}" xml:lang="#{localizationController.language}"
+ xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
+ xmlns:h="http://xmlns.jcp.org/jsf/html"
+ xmlns:f="http://xmlns.jcp.org/jsf/core">
+
+ <ui:composition template="/WEB-INF/templates/login/login_base.tpl">
+ <ui:define name="login_title">
+ <h:outputText value="#{msg.PAGE_TITLE_LOGIN_SHARED_ADDRESSBOOKS}" />
+ </ui:define>
+
+ <ui:define name="content_header">
+ <h:outputText value="#{msg.CONTENT_TITLE_LOGIN_SHARED_ADDRESSBOOKS}" />
+ </ui:define>
+
+ <ui:define name="content">
+ <ui:fragment rendered="#{userLoginController.isUserLoggedIn()}">
+ <div class="table">
+ <div class="table_header">
+ <h:outputText value="#{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">
+ <h:outputText value="#{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">
+ <h:outputText value="#{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">
+ <h:outputText value="#{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 userLoginController.isUserLoggedIn()}">
+ <ui:include src="/WEB-INF/templates/generic/user_not_logged_in.tpl" />
+ </ui:fragment>
+ </ui:define>
+ </ui:composition>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html
+ lang="#{localizationController.language}" xml:lang="#{localizationController.language}"
+ xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
+ xmlns:h="http://xmlns.jcp.org/jsf/html"
+ xmlns:f="http://xmlns.jcp.org/jsf/core"
+ xmlns:c="http://xmlns.jcp.org/jsp/jstl/core">
+
+ <ui:composition template="/WEB-INF/templates/#{userLoginController.baseTemplatePathName}/#{userLoginController.baseTemplatePathName}_base.tpl">
+ <ui:define name="login_title">
+ <h:outputText value="#{msg.PAGE_TITLE_LOGIN_START_SHARING_ADDRESSBOOK}" />
+ </ui:define>
+
+ <ui:define name="content_header">
+ <h:outputText value="#{msg.CONTENT_TITLE_LOGIN_START_SHARING_ADDRESSBOOK}" />
+ </ui:define>
+
+ <ui:define name="content">
+ <ui:fragment rendered="#{userLoginController.isUserLoggedIn()}">
+ <div class="table_big">
+
+ <div class="table_header">
+ <h:outputText value="#{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 userLoginController.isUserLoggedIn()}" />
+
+ <h:dataTable id="userList" headerClass="table_header_column" var="user" value="#{addressbookController.allUsersNotSharing()}" rendered="#{userLoginController.isUserLoggedIn() and not empty addressbookController.addressbook and not userLoginController.isInvisible()}">
+
+ <h:column>
+ <f:facet name="header">
+ <h:outputText value="#{msg.USER_ID}" />
+ </f:facet>
+
+ <h:outputText value="#{user.userId}" />
+ </h:column>
+
+ <h:column>
+ <f:facet name="header">
+ <h:outputText value="#{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">
+ <h:outputText value="#{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="#{userLoginController.isUserLoggedIn() and not empty addressbookController.addressbook and not userLoginController.isInvisible()}" />
+ </div>
+
+ <div class="table_footer">
+ <ul>
+ <li><h:outputText value="#{msg.LOGIN_START_SHARING_NOTICE1}" /></li>
+ <li><h:outputText value="#{msg.LOGIN_START_SHARING_NOTICE2}" /></li>
+ </ul>
+ </div>
+ </div>
+ </ui:fragment>
+
+ <ui:fragment rendered="#{not userLoginController.isUserLoggedIn()}">
+ <ui:include src="/WEB-INF/templates/generic/user_not_logged_in.tpl" />
+ </ui:fragment>
+ </ui:define>
+ </ui:composition>
+</html>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html
- lang="#{localizationController.language}" xml:lang="#{localizationController.language}"
- xmlns="http://www.w3.org/1999/xhtml"
- xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
- xmlns:h="http://xmlns.jcp.org/jsf/html"
- xmlns:f="http://xmlns.jcp.org/jsf/core"
- >
-
- <ui:composition template="/WEB-INF/templates/login/user/user_base.tpl">
- <ui:define name="login_title">
- <h:outputText value="#{msg.PAGE_TITLE_LOGIN_ADD_ADDRESSBOOK}" />
- </ui:define>
-
- <ui:define name="content_header">
- <h:outputText value="#{msg.CONTENT_TITLE_LOGIN_ADD_ADDRESSBOOK}" />
- </ui:define>
-
- <ui:define name="content">
- <ui:fragment rendered="#{userLoginController.isUserLoggedIn()}">
- <h:form id="form_add_addressbook" acceptcharset="utf-8">
- <div class="table">
- <div class="table_header">
- <h:outputText value="#{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 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="NameValidator" />
- </h:inputText>
- </div>
- </div>
-
- <div class="table_footer">
- <h:commandButton styleClass="reset" type="reset" value="#{msg.BUTTON_RESET_FORM}" />
- <h:commandButton styleClass="submit" type="submit" id="add_addressbook" value="#{msg.BUTTON_LOGIN_ADD_ADDRESSBOOK}" action="#{addressbookController.addAddressbook()}" />
- </div>
- </div>
- </h:form>
- </ui:fragment>
-
- <ui:fragment rendered="#{not userLoginController.isUserLoggedIn()}">
- <ui:include src="/WEB-INF/templates/user/user_not_logged_in.tpl" />
- </ui:fragment>
- </ui:define>
- </ui:composition>
-</html>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html
- lang="#{localizationController.language}" xml:lang="#{localizationController.language}"
- xmlns="http://www.w3.org/1999/xhtml"
- xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
- xmlns:h="http://xmlns.jcp.org/jsf/html"
- xmlns:f="http://xmlns.jcp.org/jsf/core"
- >
-
- <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">
- <h:outputText value="#{msg.PAGE_TITLE_LOGIN_LIST_SHARING_ADDRESSBOOKS}" />
- </ui:define>
-
- <ui:define name="content_header">
- <h:outputText value="#{msg.CONTENT_TITLE_LOGIN_LIST_SHARING_ADDRESSBOOKS}" />
- </ui:define>
-
- <ui:define name="content">
- <ui:fragment rendered="#{userLoginController.isUserLoggedIn()}">
- <ui:fragment rendered="#{shareController.isShareeUserIdSet()}">
- <!-- @TODO 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 userLoginController.isUserLoggedIn()}">
- <ui:include src="/WEB-INF/templates/generic/user_not_logged_in.tpl" />
- </ui:fragment>
- </ui:define>
- </ui:composition>
-</html>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html
- lang="#{localizationController.language}" xml:lang="#{localizationController.language}"
- xmlns="http://www.w3.org/1999/xhtml"
- xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
- xmlns:h="http://xmlns.jcp.org/jsf/html"
- xmlns:f="http://xmlns.jcp.org/jsf/core"
- >
-
- <ui:composition template="/WEB-INF/templates/login/login_base.tpl">
- <ui:define name="login_title">
- <h:outputText value="#{msg.PAGE_TITLE_LOGIN_OTHER_ADDRESSBOOKS}" />
- </ui:define>
-
- <ui:define name="content_header">
- <h:outputText value="#{msg.CONTENT_TITLE_LOGIN_OTHER_ADDRESSBOOKS}" />
- </ui:define>
-
- <ui:define name="content">
- <ui:fragment rendered="#{userLoginController.isUserLoggedIn()}">
- <!-- @TODO Here goes your content. //-->
- </ui:fragment>
-
- <ui:fragment rendered="#{not userLoginController.isUserLoggedIn()}">
- <ui:include src="/WEB-INF/templates/generic/user_not_logged_in.tpl" />
- </ui:fragment>
- </ui:define>
- </ui:composition>
-</html>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html
- lang="#{localizationController.language}" xml:lang="#{localizationController.language}"
- xmlns="http://www.w3.org/1999/xhtml"
- xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
- xmlns:h="http://xmlns.jcp.org/jsf/html"
- xmlns:f="http://xmlns.jcp.org/jsf/core"
- >
-
- <ui:composition template="/WEB-INF/templates/login/user/user_base.tpl">
- <ui:define name="login_title">
- <h:outputText value="#{msg.PAGE_TITLE_LOGIN_OWN_ADDRESSBOOKS}" />
- </ui:define>
-
- <ui:define name="content_header">
- <h:outputText value="#{msg.CONTENT_TITLE_LOGIN_OWN_ADDRESSBOOKS}" />
- </ui:define>
-
- <ui:define name="content">
- <ui:fragment rendered="#{userLoginController.isUserLoggedIn()}">
- <div class="table">
- <div class="table_header">
- <h:outputText value="#{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">
- <h:outputText value="#{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">
- <h:outputText value="#{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">
- <h:outputText value="#{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>
-
- <h:outputText rendered="#{not userLoginController.isUserLoggedIn()}">
- <ui:include src="/WEB-INF/templates/user/user_not_logged_in.tpl" />
- </h:outputText>
- </ui:define>
- </ui:composition>
-</html>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html
- lang="#{localizationController.language}" xml:lang="#{localizationController.language}"
- xmlns="http://www.w3.org/1999/xhtml"
- xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
- xmlns:h="http://xmlns.jcp.org/jsf/html"
- xmlns:f="http://xmlns.jcp.org/jsf/core">
-
- <ui:composition template="/WEB-INF/templates/login/login_base.tpl">
- <ui:define name="login_title">
- <h:outputText value="#{msg.PAGE_TITLE_LOGIN_SHARED_ADDRESSBOOKS}" />
- </ui:define>
-
- <ui:define name="content_header">
- <h:outputText value="#{msg.CONTENT_TITLE_LOGIN_SHARED_ADDRESSBOOKS}" />
- </ui:define>
-
- <ui:define name="content">
- <ui:fragment rendered="#{userLoginController.isUserLoggedIn()}">
- <div class="table">
- <div class="table_header">
- <h:outputText value="#{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">
- <h:outputText value="#{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">
- <h:outputText value="#{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">
- <h:outputText value="#{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 userLoginController.isUserLoggedIn()}">
- <ui:include src="/WEB-INF/templates/generic/user_not_logged_in.tpl" />
- </ui:fragment>
- </ui:define>
- </ui:composition>
-</html>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html
- lang="#{localizationController.language}" xml:lang="#{localizationController.language}"
- xmlns="http://www.w3.org/1999/xhtml"
- xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
- xmlns:h="http://xmlns.jcp.org/jsf/html"
- xmlns:f="http://xmlns.jcp.org/jsf/core"
- xmlns:c="http://xmlns.jcp.org/jsp/jstl/core">
-
- <ui:composition template="/WEB-INF/templates/#{userLoginController.baseTemplatePathName}/#{userLoginController.baseTemplatePathName}_base.tpl">
- <ui:define name="login_title">
- <h:outputText value="#{msg.PAGE_TITLE_LOGIN_START_SHARING_ADDRESSBOOK}" />
- </ui:define>
-
- <ui:define name="content_header">
- <h:outputText value="#{msg.CONTENT_TITLE_LOGIN_START_SHARING_ADDRESSBOOK}" />
- </ui:define>
-
- <ui:define name="content">
- <ui:fragment rendered="#{userLoginController.isUserLoggedIn()}">
- <div class="table_big">
-
- <div class="table_header">
- <h:outputText value="#{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 userLoginController.isUserLoggedIn()}" />
-
- <h:dataTable id="userList" headerClass="table_header_column" var="user" value="#{addressbookController.allUsersNotSharing()}" rendered="#{userLoginController.isUserLoggedIn() and not empty addressbookController.addressbook and not userLoginController.isInvisible()}">
-
- <h:column>
- <f:facet name="header">
- <h:outputText value="#{msg.USER_ID}" />
- </f:facet>
-
- <h:outputText value="#{user.userId}" />
- </h:column>
-
- <h:column>
- <f:facet name="header">
- <h:outputText value="#{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">
- <h:outputText value="#{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="#{userLoginController.isUserLoggedIn() and not empty addressbookController.addressbook and not userLoginController.isInvisible()}" />
- </div>
-
- <div class="table_footer">
- <ul>
- <li><h:outputText value="#{msg.LOGIN_START_SHARING_NOTICE1}" /></li>
- <li><h:outputText value="#{msg.LOGIN_START_SHARING_NOTICE2}" /></li>
- </ul>
- </div>
- </div>
- </ui:fragment>
-
- <ui:fragment rendered="#{not userLoginController.isUserLoggedIn()}">
- <ui:include src="/WEB-INF/templates/generic/user_not_logged_in.tpl" />
- </ui:fragment>
- </ui:define>
- </ui:composition>
-</html>