From 1ade8bc9794396f61a679a990a180545b6e0f17a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Roland=20H=C3=A4der?= Date: Fri, 13 May 2016 16:16:28 +0200 Subject: [PATCH] Continued with resending confirmation links: - added form for resending confirmation link, surely the user only knows the registered email address - added controller (object and interface) for it - added missing i18n strings MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Roland Häder --- .../JobsResendLinkWebSessionBean.java | 91 +++++++++++++++++++ .../JobsResendLinkWebSessionController.java | 50 ++++++++++ .../localization/bundle_de_DE.properties | 6 ++ .../localization/bundle_en_US.properties | 6 ++ web/guest/user/resend_link.xhtml | 33 ++++++- 5 files changed, 185 insertions(+), 1 deletion(-) create mode 100644 src/java/org/mxchange/jjobs/beans/resendlink/JobsResendLinkWebSessionBean.java create mode 100644 src/java/org/mxchange/jjobs/beans/resendlink/JobsResendLinkWebSessionController.java diff --git a/src/java/org/mxchange/jjobs/beans/resendlink/JobsResendLinkWebSessionBean.java b/src/java/org/mxchange/jjobs/beans/resendlink/JobsResendLinkWebSessionBean.java new file mode 100644 index 00000000..56a04143 --- /dev/null +++ b/src/java/org/mxchange/jjobs/beans/resendlink/JobsResendLinkWebSessionBean.java @@ -0,0 +1,91 @@ +/* + * Copyright (C) 2016 Roland Haeder + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ +package org.mxchange.jjobs.beans.resendlink; + +import javax.enterprise.context.SessionScoped; +import javax.faces.view.facelets.FaceletException; +import javax.inject.Named; +import javax.naming.Context; +import javax.naming.InitialContext; +import javax.naming.NamingException; +import org.mxchange.jjobs.beans.BaseJobsController; + +/** + * A web session bean for resending confirmation link + *

+ * @author Roland Haeder + */ +@Named ("resendController") +@SessionScoped +public class JobsResendLinkWebSessionBean extends BaseJobsController implements JobsResendLinkWebSessionController { + + /** + * Serial number + */ + private static final long serialVersionUID = 186_078_724_659_153L; + + /** + * Email address 1 (changing) + */ + private String emailAddress; + + /** + * EJB for resending confirmation link + */ + private ResendLinkSessionBeanRemote emailBean; + + /** + * Default constructor + */ + public JobsResendLinkWebSessionBean () { + // Try it + try { + // Get initial context + Context context = new InitialContext(); + + // Try to lookup + this.emailBean = (ResendLinkSessionBeanRemote) context.lookup(""); //NOI18N + } catch (final NamingException e) { + // Throw again + throw new FaceletException(e); + } + } + + @Override + public String doResendLink () { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public String getEmailAddress () { + return this.emailAddress; + } + + @Override + public void setEmailAddress (final String emailAddress) { + this.emailAddress = emailAddress; + } + + /** + * Clears email address fields so the user has to re-enter them + */ + private void clear () { + // Clear fields + this.setEmailAddress(null); + } + +} diff --git a/src/java/org/mxchange/jjobs/beans/resendlink/JobsResendLinkWebSessionController.java b/src/java/org/mxchange/jjobs/beans/resendlink/JobsResendLinkWebSessionController.java new file mode 100644 index 00000000..1f659e05 --- /dev/null +++ b/src/java/org/mxchange/jjobs/beans/resendlink/JobsResendLinkWebSessionController.java @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2016 Roland Haeder + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ +package org.mxchange.jjobs.beans.resendlink; + +import java.io.Serializable; + +/** + * An interface for an email change controller + *

+ * @author Roland Haeder + */ +public interface JobsResendLinkWebSessionController extends Serializable { + + /** + * Getter for email address 1 (changing) + *

+ * @return Email address + */ + String getEmailAddress (); + + /** + * Setter for email address 1 (changing) + *

+ * @param emailAddress Email address 1 + */ + void setEmailAddress (final String emailAddress); + + /** + * Resends (new) confirmation link to given email address, if found. + * Otherwise an exception is thrown. On success a redirect takes place. + *

+ * @return Redirection target + */ + String doResendLink (); + +} diff --git a/src/java/org/mxchange/localization/bundle_de_DE.properties b/src/java/org/mxchange/localization/bundle_de_DE.properties index 42df51fc..7c8471be 100644 --- a/src/java/org/mxchange/localization/bundle_de_DE.properties +++ b/src/java/org/mxchange/localization/bundle_de_DE.properties @@ -495,3 +495,9 @@ ERROR_GUEST_USER_RESEND_CONFIRMATION_DEACTIVATED=Fehler: Erneutes Aussenden des ERROR_GUEST_USER_PROFILE_DEACTIVATED=Fehler: \u00d6ffentliche Benutzerprofile sind administrativ deaktiviert. EMAIL_ADDRESS_NOT_ENTERED=Bitte geben Sie Ihre Email-Adresse ein. EMAIL_ADDRESS_REPEAT_NOT_ENTERED=Bitte wiederholen Sie Ihre Email-Adresse. +BUTTON_RESEND_CONFIRMATION_LINK=Best\u00e4tigungslink erneut aussenden +GUEST_RESEND_LINK_TITLE=Best\u00e4tigungslink erneut aussenden +GUEST_RESEND_LINK_ENTER_EMAIL_ADDRESS=Bitte bei der Anmeldung verwendete Email-Adresse eingeben: +GUEST_RESEND_CONFIRMATION_LINK_NOTICE=Der alte Best\u00e4tigungslink wird hiernach verfallen, bitte dann den aus der neueren Mail verwenden. +RESEND_CONFIRMATION_LINK_LEGEND=Email-Adresse eingeben: +RESEND_CONFIRMATION_LINK_LEGEND_TITLE=Bitte geben Sie Ihre Email-Adresse ein, die Sie bei der Anmeldung verwendet haben. diff --git a/src/java/org/mxchange/localization/bundle_en_US.properties b/src/java/org/mxchange/localization/bundle_en_US.properties index 268ae40f..ef47ba04 100644 --- a/src/java/org/mxchange/localization/bundle_en_US.properties +++ b/src/java/org/mxchange/localization/bundle_en_US.properties @@ -472,3 +472,9 @@ ERROR_GUEST_USER_RESEND_CONFIRMATION_DEACTIVATED=Error: Resending confirmation l ERROR_GUEST_USER_PROFILE_DEACTIVATED=Error: Public user profiles are deactivated by administrators. EMAIL_ADDRESS_NOT_ENTERED=Please enter your email address. EMAIL_ADDRESS_REPEAT_NOT_ENTERED=Please repeat your email address. +BUTTON_RESEND_CONFIRMATION_LINK=Resend confirmation link +GUEST_RESEND_LINK_TITLE=Resend confirmation link +GUEST_RESEND_LINK_ENTER_EMAIL_ADDRESS=Please enter email address you have used on registration: +GUEST_RESEND_CONFIRMATION_LINK_NOTICE=The old confirmation link won't work after this. Please always use the one from newer email. +RESEND_CONFIRMATION_LINK_LEGEND=Enter email address: +RESEND_CONFIRMATION_LINK_LEGEND_TITLE=Please enter your email address you have used on registration. diff --git a/web/guest/user/resend_link.xhtml b/web/guest/user/resend_link.xhtml index 4c619697..3b872258 100644 --- a/web/guest/user/resend_link.xhtml +++ b/web/guest/user/resend_link.xhtml @@ -17,7 +17,38 @@ - Here goes your content. + +

+
+ +
+ +
+ #{msg.RESEND_CONFIRMATION_LINK_LEGEND} + +
+
+ +
+ +
+ + + +
+
+ +
+ +
+
+ + +
+ -- 2.39.5