/*
- * Copyright (C) 2016 Roland Häder
+ * Copyright (C) 2016, 2017 Roland Häder
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
import javax.naming.InitialContext;
import javax.naming.NamingException;
import org.mxchange.jcontacts.contact.Contact;
-import org.mxchange.jusercore.events.confirmation.ObservableUserConfirmedAccountEvent;
-import org.mxchange.jusercore.events.login.ObservableUserLoggedInEvent;
-import org.mxchange.jusercore.events.registration.ObservableUserRegisteredEvent;
import org.mxchange.jusercore.events.user.add.ObservableAdminAddedUserEvent;
import org.mxchange.jusercore.events.user.delete.ObservableAdminDeletedUserEvent;
import org.mxchange.jusercore.events.user.linked.ObservableAdminLinkedUserEvent;
import org.mxchange.jusercore.events.user.locked.ObservableAdminLockedUserEvent;
-import org.mxchange.jusercore.events.user.password_change.ObservableUpdatedUserPasswordEvent;
import org.mxchange.jusercore.events.user.unlocked.ObservableAdminUnlockedUserEvent;
import org.mxchange.jusercore.events.user.update.ObservableAdminUpdatedUserDataEvent;
import org.mxchange.jusercore.events.user.update.ObservableUpdatedUserPersonalDataEvent;
import org.mxchange.jusercore.events.user.update.UpdatedUserPersonalDataEvent;
import org.mxchange.jusercore.exceptions.UserEmailAddressNotFoundException;
import org.mxchange.jusercore.exceptions.UserNotFoundException;
-import org.mxchange.jusercore.exceptions.UserPasswordMismatchException;
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.UserUtils;
import org.mxchange.jusercore.model.user.profilemodes.ProfileMode;
+import org.mxchange.juserlogincore.events.confirmation.ObservableUserConfirmedAccountEvent;
+import org.mxchange.juserlogincore.events.login.ObservableUserLoggedInEvent;
+import org.mxchange.juserlogincore.events.registration.ObservableUserRegisteredEvent;
+import org.mxchange.juserlogincore.events.user.password_change.ObservableUpdatedUserPasswordEvent;
+import org.mxchange.juserlogincore.exceptions.UserPasswordMismatchException;
+import org.mxchange.juserlogincore.login.UserLoginUtils;
import org.mxchange.pizzaapplication.beans.BasePizzaController;
import org.mxchange.pizzaapplication.beans.contact.PizzaContactWebSessionController;
import org.mxchange.pizzaapplication.beans.features.PizzaFeaturesWebApplicationController;
-import org.mxchange.pizzaapplication.beans.login.PizzaUserLoginWebSessionController;
+import org.mxchange.pizzaapplication.beans.localization.PizzaLocalizationSessionController;
+import org.mxchange.pizzaapplication.beans.user.login.PizzaUserLoginWebSessionController;
/**
* A user bean (controller)
@Inject
private PizzaFeaturesWebApplicationController featureController;
+ /**
+ * Localization controller
+ */
+ @Inject
+ private PizzaLocalizationSessionController localizationController;
+
/**
* Event being fired when user updated personal data
*/
* Default constructor
*/
public PizzaUserWebSessionBean () {
+ // Call super constructor
+ super();
}
/**
* <p>
* @param event Event being fired
*/
- public void afterAdminDeletedUserEvent (final ObservableAdminDeletedUserEvent event) {
+ public void afterAdminDeletedUserEvent (@Observes final ObservableAdminDeletedUserEvent event) {
// event should not be null
if (null == event) {
// Throw NPE
this.setUserProfileMode(ProfileMode.INVISIBLE);
// Generate random password
- String randomPassword = UserUtils.createRandomPassword(PizzaUserWebSessionController.MINIMUM_PASSWORD_LENGTH);
+ String randomPassword = UserLoginUtils.createRandomPassword(PizzaUserWebSessionController.MINIMUM_PASSWORD_LENGTH);
// Set random password
this.setUserPassword(randomPassword);
this.setUserPasswordRepeat(randomPassword);
}
- // Set user name and mode
+ // Set user name profile mode and locale
user.setUserName(this.getUserName());
user.setUserProfileMode(this.getUserProfileMode());
+ user.setUserLocale(this.localizationController.getLocale());
// Is multiple registration page
if ((createContactData) || (!this.featureController.isFeatureEnabled("user_register_multiple_page"))) { //NOI18N
// Debug message
//* NOISY-DEBUG: */ System.out.println(MessageFormat.format("{0}.createUserInstance: contact={1}", this.getClass().getSimpleName(), contact));
-
// Set contact in user
user.setUserContact(contact);
}
// Trace message
//* NOISY-DEBUG: */ System.out.println(MessageFormat.format("{0}.createUserInstance: user={1} - EXIT!", this.getClass().getSimpleName(), user));
-
// Return it
return user;
}
// Is all data set?
if (this.getUserName() == null) {
// Throw NPE
- throw new NullPointerException("recruiterName is null"); //NOI18N
+ throw new NullPointerException("userName is null"); //NOI18N
} else if (this.getUserName().isEmpty()) {
// Is empty
- throw new IllegalStateException("recruiterName is empty."); //NOI18N
+ throw new IllegalStateException("userName is empty."); //NOI18N
}
- // Create new recruiter instance
- User recruiter = new LoginUser();
+ // Create new user instance
+ User user = new LoginUser();
// Update all data ...
- recruiter.setUserName(this.getUserName());
+ user.setUserName(this.getUserName());
// Trace message
- //* NOISY-DEBUG */ System.out.println(MessageFormat.format("{0}.createUserLogin: recruiter={1} - EXIT!", this.getClass().getSimpleName(), recruiter));
-
+ //* NOISY-DEBUG */ System.out.println(MessageFormat.format("{0}.createUserLogin: user={1} - EXIT!", this.getClass().getSimpleName(), user));
// Return the new instance
- return recruiter;
+ return user;
}
@Override
this.userProfileMode = userProfileMode;
}
+ @Override
+ public boolean ifBothPasswordsEmptyAllowed () {
+ // Check feature first
+ return ((this.featureController.isFeatureEnabled("allow_user_registration_empty_password")) &&
+ ((this.getUserPassword() == null) || (this.getUserPassword().isEmpty())) &&
+ ((this.getUserPasswordRepeat() == null) || (this.getUserPasswordRepeat().isEmpty())));
+ }
+
/**
* Post-initialization of this class
*/
if (this.userNameList.contains(user.getUserName())) {
// Abort here
throw new IllegalArgumentException(MessageFormat.format("User name {0} already added.", user.getUserName())); //NOI18N
- } else if (this.contactController.isEmailAddressRegistered(user.getUserContact())) {
- // Already added
- throw new IllegalArgumentException(MessageFormat.format("Email address {0} already added.", user.getUserContact().getContactEmailAddress())); //NOI18N
}
// Add user name