]> git.mxchange.org Git - jjobs-war.git/blobdiff - src/java/org/mxchange/jjobs/beans/login/JobsUserLoginWebSessionBean.java
Continued a bit: (please cherry-pick)
[jjobs-war.git] / src / java / org / mxchange / jjobs / beans / login / JobsUserLoginWebSessionBean.java
index 97dd8ec573842d7da6ecce4538037031087a0d46..e2fcec24f81b82703b96ba7c5e115de5b13f6857 100644 (file)
@@ -26,6 +26,8 @@ import javax.inject.Named;
 import javax.naming.Context;
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
+import org.mxchange.jjobs.beans.BaseJobsController;
+import org.mxchange.jjobs.beans.user.JobsUserWebSessionController;
 import org.mxchange.jusercore.container.login.LoginContainer;
 import org.mxchange.jusercore.container.login.UserLoginContainer;
 import org.mxchange.jusercore.events.login.UserLoggedInEvent;
@@ -39,7 +41,6 @@ import org.mxchange.jusercore.model.user.User;
 import org.mxchange.jusercore.model.user.UserUtils;
 import org.mxchange.jusercore.model.user.profilemodes.ProfileMode;
 import org.mxchange.jusercore.model.user.status.UserAccountStatus;
-import org.mxchange.jjobs.beans.user.JobsUserWebSessionController;
 
 /**
  * A web bean for user registration
@@ -48,7 +49,17 @@ import org.mxchange.jjobs.beans.user.JobsUserWebSessionController;
  */
 @Named ("loginController")
 @SessionScoped
-public class JobsUserLoginWebSessionBean implements JobsUserLoginWebSessionController {
+public class JobsUserLoginWebSessionBean extends BaseJobsController implements JobsUserLoginWebSessionController {
+
+       /**
+        * Path name for guest base template
+        */
+       private static final String GUEST_BASE_TEMPLATE_NAME = "guest/guest"; //NOI18N
+
+       /**
+        * Path name for logged-in user base template
+        */
+       private static final String USER_BASE_TEMPLATE_NAME = "login/user/user"; //NOI18N
 
        /**
         * Serial number
@@ -113,7 +124,7 @@ public class JobsUserLoginWebSessionBean implements JobsUserLoginWebSessionContr
        @Override
        public String doLogin () {
                // Get user instance
-               User user = this.userController.createUserInstance();
+               User user = this.userController.createUserLogin();
 
                // Create login container
                LoginContainer container = new UserLoginContainer(user, this.userController.getUserPassword());
@@ -133,15 +144,20 @@ public class JobsUserLoginWebSessionBean implements JobsUserLoginWebSessionContr
 
                        // All fine
                        return "login"; //NOI18N
-               } catch (final UserNotFoundException | UserStatusLockedException | UserStatusUnconfirmedException | UserPasswordMismatchException ex) {
-                       // Throw again
-                       throw new FaceletException(ex);
+               } catch (final UserNotFoundException | UserStatusLockedException | UserStatusUnconfirmedException ex) {
+                       // Show JSF message
+                       this.showFacesMessage("form_user_login:userName", ex); //NOI18N
+                       return ""; //NOI18N
+               } catch (final UserPasswordMismatchException ex) {
+                       // Show JSF message
+                       this.showFacesMessage("form_user_login:userPassword", ex); //NOI18N
+                       return ""; //NOI18N
                }
        }
 
        @Override
        public String getCurrentPassword () {
-               return currentPassword;
+               return this.currentPassword;
        }
 
        @Override
@@ -188,8 +204,8 @@ public class JobsUserLoginWebSessionBean implements JobsUserLoginWebSessionContr
        }
 
        @Override
-       public boolean isGuest () {
-               return (!this.isUserLoggedIn());
+       public boolean ifUserMustChangePassword () {
+               return (this.isUserLoggedIn() && this.getLoggedInUser().getUserMustChangePassword());
        }
 
        @Override
@@ -214,7 +230,9 @@ public class JobsUserLoginWebSessionBean implements JobsUserLoginWebSessionContr
 
                // Trace message
                // NOISY-DEBUG System.out.println(MessageFormat.format("JobsUserLoginWebSessionBean:isUserLoggedIn: this.userLoggedIn={0} - EXIT!", this.userLoggedIn));
+
                // Return it
                return this.userLoggedIn;
        }
+
 }