<Node id="admin/product.xhtml" x="900" y="300" zoom="true"/>
</Scope>
<Scope Scope="Project">
- <Node id="admin/admin_logout.xhtml" x="400" y="600" zoom="true"/>
+ <Node id="login/login_show_addressbook.xhtml" x="1650" y="150" zoom="true"/>
<Node id="user/login.xhtml" x="900" y="150" zoom="true"/>
+ <Node id="login/login_other_addressbooks.xhtml" x="650" y="450" zoom="true"/>
+ <Node id="user/login_error.xhtml" x="1400" y="150" zoom="true"/>
+ <Node id="privacy.xhtml" x="400" y="750" zoom="true"/>
+ <Node id="admin/admin_index.xhtml" x="400" y="450" zoom="true"/>
+ <Node id="login/login_user_list.xhtml" x="150" y="150" zoom="true"/>
+ <Node id="user/user_profile.xhtml" x="1400" y="300" zoom="true"/>
+ <Node id="login/login_list_sharing_addressbooks.xhtml" x="900" y="600" zoom="true"/>
+ <Node id="admin/admin_logout.xhtml" x="400" y="600" zoom="true"/>
+ <Node id="login/login_add_addressbook.xhtml" x="150" y="900" zoom="true"/>
<Node id="login/login_edit_address.xhtml" x="150" y="300" zoom="true"/>
<Node id="login/login_edit_user_data.xhtml" x="1150" y="150" zoom="true"/>
- <Node id="login/login_other_addressbooks.xhtml" x="650" y="450" zoom="true"/>
<Node id="user/lost_passwd.xhtml" x="900" y="300" zoom="true"/>
<Node id="*" x="650" y="150" zoom="true"/>
- <Node id="login/login_own_addressbooks.xhtml" x="400" y="150" zoom="true"/>
<Node id="terms.xhtml" x="150" y="600" zoom="true"/>
+ <Node id="login/login_own_addressbooks.xhtml" x="400" y="150" zoom="true"/>
<Node id="user/register_done.xhtml" x="1150" y="300" zoom="true"/>
<Node id="bye.xhtml" x="650" y="300" zoom="true"/>
- <Node id="user/login_error.xhtml" x="1400" y="150" zoom="true"/>
- <Node id="privacy.xhtml" x="400" y="750" zoom="true"/>
- <Node id="admin/admin_index.xhtml" x="400" y="450" zoom="true"/>
- <Node id="login/login_user_list.xhtml" x="150" y="150" zoom="true"/>
+ <Node id="login/login_shared_addressbooks.xhtml" x="1150" y="450" zoom="true"/>
+ <Node id="login/login_show_addressbook_entries.xhtml" x="650" y="750" zoom="true"/>
<Node id="index.xhtml" x="650" y="600" zoom="true"/>
<Node id="imprint.xhtml" x="900" y="450" zoom="true"/>
<Node id="login/login_index.xhtml" x="150" y="750" zoom="true"/>
*/
private Boolean isUserSharing = null;
+ /**
+ * User id of sharee
+ */
+ private Long shareeUserId;
+
/**
* Default constructor
*/
}
}
+ @Override
+ public Long getShareeUserId () {
+ return this.shareeUserId;
+ }
+
+ @Override
+ public void setShareeUserId (final Long shareeUserId) {
+ this.shareeUserId = shareeUserId;
+ }
+
@Override
public boolean isSharingAddressbooks () {
// Only to be called for logged-in users
* @return Whether the current user is sharing address books
*/
public boolean isSharingAddressbooks ();
+
+ /**
+ * Getter for sharee's user id
+ * <p>
+ * @return Sharee's user id
+ */
+ public Long getShareeUserId ();
+
+ /**
+ * Setter for sharee's user id
+ * <p>
+ * @param shareeUserId Sharee's user id
+ */
+ public void setShareeUserId (final Long shareeUserId);
}
CONTENT_TITLE_INDEX_USER_PROFILE=\u00d6ffentliches Profil des Benutzers:
PAGE_TITLE_LOGIN_LIST_SHARING_ADDRESSBOOKS=Mit einem Benutzer geteilte Adressb\u00fccher
CONTENT_TITLE_LOGIN_LIST_SHARING_ADDRESSBOOKS=Mit einem Benutzer geteilte Adressb\u00fccher auflisten:
+PARAMETER_USER_ID_MISSING=Benutzernummer nicht angegeben.
+PARAMETER_USER_ID_INVALID=Der angeklickte Link ist nicht mehr g\u00fcltig: Den Benutzer mit der Id-Nummer existiert nicht (mehr).
+PARAMETER_USER_ID_NOT_FOUND=Benutzeraccount mit der Id-Nummer nicht gefunden.
CONTENT_TITLE_INDEX_USER_PROFILE=Public profile of the user:
PAGE_TITLE_LOGIN_LIST_SHARING_ADDRESSBOOKS=With a user shared address books
CONTENT_TITLE_LOGIN_LIST_SHARING_ADDRESSBOOKS=List with a user shared address books:
+PARAMETER_USER_ID_MISSING=No user id number provided
+PARAMETER_USER_ID_INVALID=The clicked link is no longer valid: The user with provided id number does not exist (anymore).
+PARAMETER_USER_ID_NOT_FOUND=User account with given id number not found.
<validator-id>UserProfileVisibilityValidator</validator-id>
<validator-class>org.mxchange.addressbook.validator.booleans.UserProfileVisibilityValidator</validator-class>
</validator>
+ <validator>
+ <validator-id>UserIdValidator</validator-id>
+ <validator-class>org.mxchange.jusercore.model.user.UserIdValidator</validator-class>
+ </validator>
<navigation-rule>
<from-view-id>*</from-view-id>
<navigation-case>
xmlns:f="http://xmlns.jcp.org/jsf/core"
>
+ <f:metadata>
+ <f:viewParam id="userId" name="profile" 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>
xmlns:f="http://xmlns.jcp.org/jsf/core"
>
+ <f:metadata>
+ <f:viewParam id="userId" name="profile" 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/#{loginController.templateType}/#{loginController.templateType}_base.tpl">
<ui:define name="guest_title">#{msg.PAGE_TITLE_INDEX_USER_PROFILE}</ui:define>