Roland Häder [Fri, 5 Aug 2016 15:42:16 +0000 (17:42 +0200)]
Continued with cleanup: (please cherry-pick)
- enumerations cannot be compared in JSF until JSF 3.0, so compare only the string, thanks to BalusC@stackoverflow
- a lot CSS cleanups, such as correct padding and sizes
- replaced table_row -> para
- removed table_left/right_25/75 (was not working somewhy correctly)
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