Roland Häder [Fri, 5 Aug 2016 13:02:55 +0000 (15:02 +0200)]
Continued with locking user accounts: (please cherry-pick)
- added user to (by JSF) called methods as he this user needs to be locked
- implemented lockUserAccount() including calling EJB (which still needs implementing)
- this method redirects back to the user's admin-profile page
Signed-off-by: Roland Häder <roland@haeder.net> Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Häder [Thu, 4 Aug 2016 16:10:38 +0000 (18:10 +0200)]
Continued with user locking: (please cherry-pick)
- added form for un-/locking users
+ it shows buttons depending on if the user is lock/unlocked or unconfirmed
+ if the user is unconfirmed, a text is shown (maybe not wanted, easy to rewrite to a "feature")
+ if the user is locked, the reason is shown
- added lock reason to controller (bean)
- added missing 18n strings
Roland Häder [Wed, 3 Aug 2016 14:39:23 +0000 (16:39 +0200)]
Continued: (please cherry-pick)
- rewrote fetching context parameter with protected methods to have this code encapsulated
- used this for feature controller
- added new user password-change controller (+ interface) to change user's password
- used it in template to avoid monolithic super controllers ...
- added missing i18n strings
- used password-change event for updating user's password history
- added new context parameter for "change_user_password" feature
- added new context parameter for maximum checked passwords
- fixed redirect outcomes
Roland Häder [Wed, 3 Aug 2016 09:54:23 +0000 (11:54 +0200)]
Please cherry-pick and later rewrite:
- having the current user in his own visuble users list makes no sense
- maybe make a new application-scoped controller which maintains such lists
Roland Häder [Tue, 2 Aug 2016 17:00:04 +0000 (19:00 +0200)]
Continued with fixing: (please cherry-pick)
- introduced uniqueAddContact() which uniquely adds contact to controller's list(s) which prevents double-listing
- also added missing call of above method after user registration
- introduced uniqueAddUser() which uniquely adds user to controlleräs list(s)
- used above method heavily
Roland Häder [Tue, 2 Aug 2016 14:07:45 +0000 (16:07 +0200)]
Continued a bit: (please cherry-pick)
- variable was not fully renamed, fixed
- renamed countryI18nkey -> countryI18nKey
- fixed name of context property (was shortended)
Roland Häder [Tue, 2 Aug 2016 09:25:04 +0000 (11:25 +0200)]
Continued a bit: (please cherry-pick)
- that the user must change password enforced by administrator may be not wanted everywhere, so better make it as a feature that can be disabled per project
- ignored some strings for i18n
Signed-off-by: Roland Häder <roland@haeder.net> Signed-off-by: Roland Häder <roland@mxchange.org>
Roland Häder [Tue, 2 Aug 2016 08:42:08 +0000 (10:42 +0200)]
Continued a bit: (please cherry-pick)
- sorted members
- cleared also new flag in clear() method
- set flag before the user instance is being submitted to EJB
Roland Häder [Wed, 1 Jun 2016 08:38:54 +0000 (10:38 +0200)]
Continued a bit:
- added resend_done.xhtml with using message_box.tpl
- added navigation rule for above
- used more h:outputText (remember that this is a WUI)
- removed old-lost index.xhtml (user login area)
- added i18n strings
Roland Häder [Tue, 24 May 2016 12:20:24 +0000 (14:20 +0200)]
again some more h:outputText for better encapsulation of messages. and it makes more sense, JSF is a WUI (web user interface) where you attach UI components to and not direct texts.
Roland Häder [Mon, 23 May 2016 13:30:19 +0000 (15:30 +0200)]
Continued with rewrite:
- introduced showFacesMessage()
- rewrote to FacesMessage and not ugly exception 500 error
- rewrote more messages + fixed form ids to naming convention
Roland Häder [Mon, 23 May 2016 09:59:19 +0000 (11:59 +0200)]
Continued:
- added Apache POI 3.4 for Excel export
- added missing i18n strings
- CSV support currently only use comma as "column" delimiter, better switch to Excel format
- these columns cannot have a double-dot on the end as the import may not work
- no need to have these JARs in WARs as you can place them on the server's proper lib path
Roland Häder [Fri, 20 May 2016 15:36:54 +0000 (17:36 +0200)]
Continued a bit:
- first @Oberserves, then final
- added simple birthday input field
- added i18n strings
- added birthday to export as well
- added observer method afterUserConfirmedAccount() to update lists for
- added javax.faces.DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE to make sure time-zone problems are fixed
- fixed some messages, wrong stuff there
Roland Häder [Fri, 20 May 2016 10:32:12 +0000 (12:32 +0200)]
Continued with data export with PrimeFaces:
- added prime faces 5.3 to project
- added admin_contact_export.xhtml with navigation rule to export contact data (currently only CSV but e.g. Excel is easy to add)
- added missing contact i18n and export string
- added controller methods generatePhoneNumber() and generateCellphoneNumber(), if e.g. ui:fragment is used, an object id instead of the phone numbers is shown. Maybe a bug in PrimeFaces or wrong usage of ui:fragment? Sometimes a POJO property like contactFaxNumber can be null. Then this needs to be taken care of.
Roland Häder [Thu, 19 May 2016 11:42:54 +0000 (13:42 +0200)]
Continued:
- renamed adminHelper to beanHelp as this is a really generic bean helper
- renames same class/interface, too
- added JSF page for confirming accounts with optional parameter confirmKey. If this is not set, a message will be shown
- added i18n keys for above new page
- added controller bean for above page to handle the confirmation + calling proper EJB business method
Roland Häder [Fri, 13 May 2016 15:03:30 +0000 (17:03 +0200)]
Some fixes (careful with cherry-picking):
- resenEmailAddress is better, then the same validator can be used to look if the email address is registered
- set correct JNDI name for resend-link EJB
- ignored some strings for i18n
- added message for above email address field
- fixed condition check
Roland Häder [Fri, 13 May 2016 14:16:28 +0000 (16:16 +0200)]
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
Roland Häder [Fri, 13 May 2016 10:03:34 +0000 (12:03 +0200)]
Continued with email address validator (cherry-pick/rename this)
- added email address validator with regex validation and checking if the contact EJB reports an exisiting account
- this validator can be used in JSF pages/templates like: validator="EmailAddressValidator"
- in addition you may want to use a simple regex validator in addition to this to prevent ugly messages being shown
- added message output for missing privacy/terms checkboxes
- added required-message for email address
Roland Häder [Fri, 13 May 2016 09:11:18 +0000 (11:11 +0200)]
Continued generally:
- moved email address (with repeat) to own templates, one for registration, one for login (change email address)
- added validator for above data
- some other fixes, e.g. wrong controller
Roland Häder [Fri, 13 May 2016 08:36:02 +0000 (10:36 +0200)]
Fix for multi-page registration:
- a contact instance is needed to check for email address as it is stored there
- so first create a "half" contact instance (no gender, ...) and then check email address
- user name can be only checked, if required
Roland Häder [Fri, 13 May 2016 08:22:45 +0000 (10:22 +0200)]
Cleanup a bit + fix:
- removed not needed assertion
- renamed variables
- if multi-page is enabled, don't create contact instance, that will be done on 2nd page
Roland Häder [Thu, 12 May 2016 16:18:23 +0000 (18:18 +0200)]
Rewritten a lot:
- introduced isUserNameRequired() which should make it sure to have registrations with no user name and password. This also includes no login area (not possible)
- the user then will get a random user name with format "userXXXXX" and a random password. So it is still possible that the "feature" login area for users can come back.
- so no "recover password" is possible, too. Therefore such links can be removed from the menu.
- introduced isMultiplePageEnabled() which is used as a "switch" between single-page and multiple-page registration
- introduced isPublicUserProfileEnabled() which is used to disabled/enable the feature "public user profiles" which is sometimes not wanted ...
- introduced isResendConfirmationLinkEnabled() which disabled the corresponding feature
- showing a "choose profile-mode" while no public user profile is enabled makes no sense ... So better "hide" this option.
- introduced general (abstract) controller Base<project-name>Controller which currently holds a method for checking if for a named controller debug mode is enabled
- renamed doRegister() to doFinishRegistration()
- removed no longer used i18n strings (they may have come back by cherry-picking)
- registration page 1/2 should be "basicly finished" now, single is also available
- index page is now jlandingpage-specific as registration page is in index.xhtml (careful, cherry-picking this!)
- added controller method doRegisterMultiPage1()
- added a lot more language strings
- renamed variables
- added context parameters for above new methods
- added needed navigation cases (careful with cherry-picking again)
- sorted imports (minor)
- fixed i18n string (usage)
Signed-off-by: Roland Häder <roland@haeder.net> Signed-off-by: Roland Häder <roland@mxchange.org>