]> git.mxchange.org Git - pizzaservice-war.git/blobdiff - src/java/org/mxchange/pizzaapplication/beans/user/PizzaUserWebSessionBean.java
Added redirect outcome + updated jar(s)
[pizzaservice-war.git] / src / java / org / mxchange / pizzaapplication / beans / user / PizzaUserWebSessionBean.java
index f1818294e34d0e3006525a49766a168b34898b5b..aa114001f4653acceff049b79b8635d77206755b 100644 (file)
@@ -23,7 +23,9 @@ import java.util.List;
 import java.util.Objects;
 import javax.annotation.PostConstruct;
 import javax.enterprise.context.SessionScoped;
+import javax.enterprise.event.Event;
 import javax.enterprise.event.Observes;
+import javax.enterprise.inject.Any;
 import javax.faces.view.facelets.FaceletException;
 import javax.inject.Inject;
 import javax.inject.Named;
@@ -36,13 +38,15 @@ import org.mxchange.jphone.phonenumbers.fax.DialableFaxNumber;
 import org.mxchange.jphone.phonenumbers.landline.DialableLandLineNumber;
 import org.mxchange.jusercore.events.login.UserLoggedInEvent;
 import org.mxchange.jusercore.events.registration.UserRegisteredEvent;
+import org.mxchange.jusercore.events.user.update.UpdatedUserPersonalDataEvent;
+import org.mxchange.jusercore.events.user.update.UserUpdatedPersonalDataEvent;
 import org.mxchange.jusercore.exceptions.UserNotFoundException;
 import org.mxchange.jusercore.model.user.LoginUser;
 import org.mxchange.jusercore.model.user.User;
 import org.mxchange.jusercore.model.user.UserSessionBeanRemote;
 import org.mxchange.jusercore.model.user.profilemodes.ProfileMode;
 import org.mxchange.pizzaapplication.beans.login.PizzaUserLoginWebSessionController;
-import org.mxchange.jratecalc.beans.contact.PizzaContactWebSessionController;
+import org.mxchange.pizzaapplication.beans.contact.PizzaContactWebSessionController;
 import org.mxchange.jusercore.exceptions.UserPasswordMismatchException;
 
 /**
@@ -71,6 +75,13 @@ public class PizzaUserWebSessionBean implements PizzaUserWebSessionController {
        @Inject
        private PizzaUserLoginWebSessionController loginController;
 
+       /**
+        * Event being fired when user updated personal data
+        */
+       @Inject
+       @Any
+       private Event<UpdatedUserPersonalDataEvent> updatedPersonalDataEvent;
+
        /**
         * Remote user bean
         */
@@ -271,7 +282,10 @@ public class PizzaUserWebSessionBean implements PizzaUserWebSessionController {
                user.setUserProfileMode(this.getUserProfileMode());
 
                // Send it to the EJB
-               this.userBean.updateUserPersonalData(user);
+               User updatedUser = this.userBean.updateUserPersonalData(user);
+
+               // Fire event
+               this.updatedPersonalDataEvent.fire(new UserUpdatedPersonalDataEvent(updatedUser));
 
                // All fine
                return "user_data_saved"; //NOI18N
@@ -348,6 +362,7 @@ public class PizzaUserWebSessionBean implements PizzaUserWebSessionController {
        @Override
        public boolean isRequiredChangePersonalDataSet () {
                return ((this.getUserProfileMode() != null) &&
+                               (this.getUserName() != null) && (!this.getUserName().isEmpty()) &&
                                (this.contactController.isRequiredChangePersonalDataSet()));
        }