Roland Häder [Fri, 22 Sep 2017 20:09:02 +0000 (22:09 +0200)]
Please cherry-pick:
- renamed Base<Project>Controller to Base<Project>Bean as 'Controller' is for
interfaces and 'Bean' for classes (the actual backing bean)
- added bean for static data (application-scoped)
- added converter for PaymentType enumeration
- added branchNumber which can be aside from the primary key a number e.g. from
organigrams
Roland Häder [Tue, 19 Sep 2017 20:57:36 +0000 (22:57 +0200)]
Please cherry-pick:
- let's split project-own and generic i18n strings into separate files so they
don't interfer anymore with each other, having lesser cherry-pick conflicts
- converted some p:inputText again but into p:calendar for an upgraded way of
entering some dates (like birthday date)
- nearly (?) all p:selectXxxMenu are now have each attribute in a separate line
making them better readable
- also they can be filtered
- this whole PrimeFaces thing seem to have one big disadvantage: no more
NoScript is possible with e.g. pagination, also "select" boxes are no longer
rendered as <select> HTML tags, but now div, ul and li tags
- also mother PF tags with long list of attributes are now have each attribute
in separate line. This makes changes lesser intrusive as not the whole line is
considered as changed (by GIT) but only a line or 2 are just added.
- rewrote branchOffice controller to be fully compatible with sorting and
filtering as the *same* list must be returned for making this fully working
- added converter of branch office entities for making above fully work (plus
for many more purpose)
- ignored some text for i18n
Roland Häder [Sat, 16 Sep 2017 23:17:32 +0000 (01:17 +0200)]
Please cherry-pick:
- introduced custom JSF tag widgets:outputCountrySelector which renders a nice
country-selection box for forms
- removed id from fieldset, no need to "over-id" things
- rewrote administrative mobilde provider list to more PrimeFaces, like
filterable and dragable columns, responsiveness
- added more i18n strings for above new stuff
- added new property "filteredMobileProviders" for filtering mobile providers
Roland Häder [Fri, 15 Sep 2017 20:25:57 +0000 (22:25 +0200)]
Please cherry-pick:
- added "id" as required attribute for widgets:outputMessageBox
- got rid of one template being "abused" as message box, still there are some
left to be ported
- improved i18n strings by generalizing them, had: _DEACTIVATED, _NOT_ENABLED
and _DISABLED for the same thing, now only _DISABLED is used
Roland Häder [Wed, 13 Sep 2017 21:31:24 +0000 (23:31 +0200)]
WIP - Please cherry-pick:
- started proting to PrimeFaces 6.0
- PF theme "bootstrap" is now the theme
- mobile provider list in admin area should be now ported
- removed many own CSS as it conflicted with jQuery UI, still tons of to go
- added more i18n strings for empty lists
- replaced all h:commandButton -> p:commandButton
- replaced all h:link -> p:link
- admin menu is now rewritten in PF (still looking a little messy)
- replaced h:dataTable -> p:dataTable and also h:column -> p:column (belongs
together)
- widgets:outputMessageBox is no longer needed as p:dataTable has "emptyMessage"
attribute for this
- if you have p:dataExporter, also use p:commandButton
- added missing admin_country_links.tpl (custom JSF tag)
- replaced h:message[s] -> p:message[p]
- finally found a way of getting rid of project name in base.tpl, thanks to the
people at stackoverflow
- widgets:outputMessageBox now accepts common "id", was required for "for"
attribute
- f:view seem to be self-closing?
- added f:facet and more meta tags for upcoming responsive
- used a bit pm (PF mobile)
- now will use p:growl instead of main h:messages in base.tpl
- also added AJAX exception handler and p:dialog (does it work?)
- everthing else I oversaw/forgot
Roland Häder [Tue, 12 Sep 2017 22:43:03 +0000 (00:43 +0200)]
Please cherry-pick:
- added missing navigation cases for user-list -> user-edit/delete
- all administrative mini-links tags now fully support "rendered" attribute
- also no need to have table header here
- added missing (ops) JSF tag for administrative contact links
Roland Häder [Tue, 12 Sep 2017 22:11:58 +0000 (00:11 +0200)]
Please cherry-pick:
- converted existing "links" templates into custom JSF tags
- registered new links taglib and moved existing there
- added JSF tag for administrative links to: branch office, mobile provider
user (mini links)
- some more generic "short" link texts for resending, locking and unlocking
Roland Häder [Tue, 12 Sep 2017 20:59:02 +0000 (22:59 +0200)]
Please cherry-pick:
- introduced JSF tag outputBasicDataAdminLinks which will render administrative
links for basic company data
- all short navigational links now have full-explaining title attribute
- added missing navigation cases for edit/delete basic company data
Roland Häder [Sun, 10 Sep 2017 13:44:39 +0000 (15:44 +0200)]
Please cherry-pick:
- renamed (admin)BusinessDataBean to (admin)BasicCompanyDataBean as this is
basic company data and not any "business data"
- fixed/sorted imports
- also JSF tags need to be fixed
Roland Häder [Sun, 10 Sep 2017 18:05:58 +0000 (20:05 +0200)]
Please cherry-pick:
- renamed (admin)BusinessDataBean to (admin)BasicCompanyDataBean as this is
basic company data and not any "business data"
- fixed/sorted imports
- also JSF tags need to be fixed
Roland Häder [Sat, 9 Sep 2017 10:54:16 +0000 (12:54 +0200)]
Please cherry-pick:
- renamed companyDataId -> basicDataId (already done in underlaying entity)
- implemented addBranchOffice() which will call newly added private methods to
create a BranchOffice instance and validate if the address is already found
in an other bean's cache
- for this, allBranchOffices() needs to be published in interface
- implemented afterBranchOfficeAddedEvent() event observer which will add the
newly added branch office to the backing bean's cache
- now displaying link to company's website correctly or, if not provided, a
replacement message
- same with email link, maybe one day I move this out to a custom JSF tag?
- added missing i18n strings
- generalized duplicate i18n strings
- added missing navigation cases
Roland Häder [Tue, 5 Sep 2017 18:07:21 +0000 (20:07 +0200)]
Please cherry-pick:
- splitted branch office form into basic data and address data fieldsets
- added much more missing i18n strings
- renamed a few before adding them as they were still basic_data
Roland Häder [Mon, 4 Sep 2017 22:27:47 +0000 (00:27 +0200)]
Please cherry-pick:
- added backing bean for general and administrative purposes for branch offices
- added template + JSF page for branch offices
- renamed business_contacts -> basic_company_data, more declarative
- including JSF page and folder
- all h:commandButton ids are now prefixed with "button_"
- TitleUtils.allPersonalTitlesAsList() is now deprecated as it does the same as
invoking Arrays.asList()
- used more 'final' where possible, to prevent accidently assigned new values
also known as "side effects"
- renaming season has started again: now renamed some i18n strings to become
generalized
- removed noisy debug lines that are really no longer needed
- some lesser local variables
Roland Häder [Sun, 3 Sep 2017 15:50:06 +0000 (17:50 +0200)]
Please cherry-pick:
- removed not needed constructor from converter/validator
- reverted `@EJB` annotation in mobile-provider converter as it was not working
Roland Häder [Sun, 3 Sep 2017 02:40:58 +0000 (04:40 +0200)]
Please cherry-pick:
- if you get something about non-serializable injection, strange things happen,
sometimes it works here, sometimes not ... :-(
- had to go back to programatic JNDI lookup in converters/validators as the JSF
2.3 version + xsd reference did mess around with faces-config.xml
auto-complete (NetBeans) and it looks like that context parameters are not
loaded
- this way, some lookup() calls are not saved (unmanaged by container) but at
least it works
Roland Häder [Sun, 3 Sep 2017 01:31:36 +0000 (03:31 +0200)]
Please cherry-pick:
- no more fully container-independency in favour of caching
- removed gf-client (no more Glassfish for already a long time)
- used `@NamedCache` (Payara-specific) for annotating fields, very nice, should
become generic one day
Roland Häder [Sat, 2 Sep 2017 21:16:53 +0000 (23:16 +0200)]
Please cherry-pick:
- Ops, the license was GPLv3, not AGPLv3 which is now fixed (entirely replaced)
- in PostConstruct methods should no "complex" thing run, including not firing
events which was needless here anyway
- if a company entry has no web site URL entered, display the company's name
with no name under it but show a title message about this
- removed some left-over from old i18n strings
Roland Häder [Sat, 2 Sep 2017 19:59:31 +0000 (21:59 +0200)]
Please repeat/cherry-pick:
- added new dependency to JCache API which aims the right way, away from
previously said and more "persistent" cache (on each reboot for now, but that
is okay)
- there was no Javadoc Online available, so I added the Offline JAR version,
sorry for one more binary!
Roland Häder [Sat, 2 Sep 2017 19:52:41 +0000 (21:52 +0200)]
Please rename/cherry-pick:
- having to much session-scoped beans was a bad design idea anyway
- on each new session, "tons" of EJB (JNDI lookup + business method invocation)
will occur which will overrun the EJB container soon or later
- also having JNDI lookup in PostConstruct-annotated methods was bad, too
because it "confuses" the web container
- while it is building proxy objects arround every managed class (like also now
converters, JSF 2.3.x only) especially backing beans, there should be no JNDI
lookup hapening
- but initializing some lists for performance reasons is the right thing to do
- maybe later some other annotation will be used instead, but for now it is fine
- so let's make this painless and rename all session-scoped backing beans and
re-annotate them with RequestScoped for now as this is also reduces memory
foot-print
Roland Häder [Fri, 1 Sep 2017 22:22:54 +0000 (00:22 +0200)]
Please cherry-pick:
- I accidently (oversaw it) used Converter<MyPoji> which is JSF 2.3 (beta
currently) way, now I could revert it, but better is to stay.
- made all converters/validators that invoke business methods (EJB) managed
so the annotation EJB will work again.
Roland Häder [Fri, 1 Sep 2017 22:06:40 +0000 (00:06 +0200)]
Please cherry-pick:
- added wrong navigation rules, ops
- added noisy debug lines, somehow f:attribute is not ending up in validator
- removed rendered attribute from same JSF tag
Roland Häder [Tue, 29 Aug 2017 21:53:20 +0000 (23:53 +0200)]
Please cherry-pick:
- added optional parameter "contact" to many custom JSF tags
- removed no longer needed error messages as the template has become a custom
JSF tag
- still having some StackoverflowError e.g. in view admin_landline_show.xhtml
Roland Häder [Tue, 29 Aug 2017 20:32:55 +0000 (22:32 +0200)]
Please cherry-pick:
- rewrote initializeList() a bit to become PostConstruct as the injection is
already done early
- remote more JNDI lookups from PostConstruct-annotated method to @EJB
annotation
Roland Häder [Tue, 29 Aug 2017 19:34:12 +0000 (21:34 +0200)]
Please cherry-pick:
- removed many PostConstruct methods as this was a bad idea anyway as it
confuses the container while it is wrapping the managed beans into proxy
objects. @EJB(lookup="full-JNDI-name") does fully replace this many code
- still I kept some there and may have to re-rename the now private method
- removed some JSF-only and some obsolete methods from interface and/or bean
- added GNU header to beans.xml
Roland Häder [Sun, 27 Aug 2017 13:21:06 +0000 (15:21 +0200)]
Please cherry-pick:
- converted administrative fax, land-line and mobile number data templates as
custom JSF tags, having again more type-safe tags instead of outputting
messages on missing bean properties
Roland Häder [Sun, 27 Aug 2017 13:02:11 +0000 (15:02 +0200)]
Please cherry-pick:
- rewrote templates (ui:include with unsafe ui:param) to custom JSF tags (
type-safe parameter, including required parameter)
- also the as type set interfaces are being considered by NetBeans auto-complete
and matching elements are sorted up and marked bold, very nice!
- remove no longer needed i18n strings ("targetController not set" + "mode")
Roland Häder [Sat, 26 Aug 2017 22:56:30 +0000 (00:56 +0200)]
Please cherry-pick:
- converted template to custom JSF tag widgets:outputAdminContactDataFormFields
and replaced all occurrences, 2 optional parameter "formMode" (ex. "mode" and
"allowEmptyRequiredData" are accepted
Roland Häder [Sat, 26 Aug 2017 20:42:41 +0000 (22:42 +0200)]
Please cherry-pick:
- rewrote message-box tag to have 2 CSS classes, one for the whole (alert) box,
one for the message itself
- renamed a lot CSS classes/ids to more common naming covention: foo-bar and
not foo_bar
- renamed i18n string to ADMIN_FEATURE_UNFINISHED_WARNING as this can be generic
- other small CSS rewrites
Roland Häder [Sat, 26 Aug 2017 10:41:21 +0000 (12:41 +0200)]
Please cherry-pick:
- added converter for headquarters data (please rename + fix JNDI)
- added validator for URLs (please rename)
- renamed allowEmptyEmail to allowEmptyValue and used it more as this is generic
- fixed mixture of headquarters and company founder (my mistake)
- added form elements to set company-contact and owning user instance
- added navigation rules for links from business-contact list to sub pages
(still some missing)
- added missing i18n strings
Roland Häder [Fri, 25 Aug 2017 21:29:57 +0000 (23:29 +0200)]
Please cherry-pick:
- need to set over-flow: auto for #menu_content, else the footer will "float"
above the website
- all ::after pseudo CSS classes are now on end of file
- one day, I will rewrite this to PrimeFaces theme!
Roland Häder [Thu, 24 Aug 2017 20:56:39 +0000 (22:56 +0200)]
Please cherry-pick:
- got rid of CSS class 'clear' in favour of pseudo class ::after which does the
same thing with much lesser HTML code
- very nice thing!
Roland Häder [Thu, 24 Aug 2017 19:40:00 +0000 (21:40 +0200)]
Please cherry-pick:
- converted div (no JSF component, not controlled by JSF engine) to h:panelGroup
- got rid of some ui:fragment in favour of h:panelGroup and div tag
- added some missing container (h:panelGroup again) around some ui:include
Roland Häder [Thu, 24 Aug 2017 18:12:50 +0000 (20:12 +0200)]
Please cherry-pick:
- tax nunber and website URL of a company is not required, was a copy-paste
mistake anyway
- fixed other i18n strings in same template
- added missing i18n strings
- minor: removed double space
Roland Häder [Sun, 20 Aug 2017 21:26:56 +0000 (23:26 +0200)]
Please cherry-pick:
- renamed generic -> widgets
- changed namespace http://mxchange.org/jsf/core to http://mxchange.org/jsf/core/widgets
- I think, this is more clear than before ...
Roland Häder [Sun, 20 Aug 2017 18:29:37 +0000 (20:29 +0200)]
MOJARRA - Please cherry-pick:
- introduced own (still project-local) taglib for message template replacement
- now this is much shorter, down to only one JSF tag instead of 2-3 minimum
Roland Häder [Sun, 20 Aug 2017 19:49:49 +0000 (21:49 +0200)]
Please cherry-pick:
- throwing a ConverterException in a validator is wrong, maybe copy-paste did it?
- added TODO for getting rid of wrong constructor in birthday validator
- renamed variable
Roland Häder [Sun, 20 Aug 2017 12:00:21 +0000 (14:00 +0200)]
Please cherry-pick:
- re-added (huh? was somehow lost?) user data form with user name and password
- moved notice from user (old place) to contact ("new" place) as it was
previously double and in user obsolete, let all contacts have at least one
email address
- renamed i18n string accordingly (naming-convention)
Roland Häder [Sat, 19 Aug 2017 19:56:42 +0000 (21:56 +0200)]
Please cherry-pick:
- this method is also only called from JSF views, no place in an interface
which is for CDI bean -> bean calls
- this is mostly already deprecated but the interface shall remain
Roland Häder [Sat, 19 Aug 2017 18:53:28 +0000 (20:53 +0200)]
Please cherry-pick:
- added administrative and general backing bean for company employees + added
JNDI lookup, still at wrong place
- Employees have an instance back to business basic data which makes it
impossible for creation (no fancy AJAX stuff now) of business basic data
with founder and/or contact person
- separated package of businessdata to business/basicdata so above
business/company_employee package is nicely possible
Roland Häder [Sat, 19 Aug 2017 17:56:35 +0000 (19:56 +0200)]
Please cherry-pick:
- expanded business "contact"-s basic_data with all missing fields from entity
- added some fields, like contact person and company founder to backing bean
- added converter for company employees
Roland Häder [Sat, 19 Aug 2017 16:24:32 +0000 (18:24 +0200)]
Please cherry-pick:
- renamed business_data -> business_basic_data
- renamed CONTACT_BUSINESS -> BUSINESS_BASIC_DATA and prevented double _DATA
- need to check on value, not converted email address: if e.g. an empty email
address is submitted, JSF seem to handle it as NULL, not empty, which makes
sense here at the converter, as 'value' is of type Object and not String
Roland Häder [Sat, 19 Aug 2017 15:07:03 +0000 (17:07 +0200)]
Please cherry-pick:
- removed debug lines, were to noisy and the localization bug has been fixed
- company name and legal status are no longer separated, some other i18n
strings may still write about it
Roland Häder [Sat, 19 Aug 2017 14:11:42 +0000 (16:11 +0200)]
Please cherry-pick:
- renamed JSF views with "contact_business" to "business_data"
- moved selection boxes to own template folder "selection_boxes"
- renamed + moved locale_selection_box.tpl to widgets/locale_change_widget.tpl
- renamed "generic" templates folder to "messages"
- TODO: moving out "country selection box" to a template can be done:
+ for each type, land-line and fax number have a separate template
+ the target controllers must all then have same naming, e.g. landLineCountry
Roland Häder [Sat, 19 Aug 2017 13:19:25 +0000 (15:19 +0200)]
Please cherry-pick:
- notifying a RequestScoped (partly including ViewScoped) bean about a locale
change will not last long, better is to get the then changed locale from the
view root again
Roland Häder [Sat, 19 Aug 2017 12:06:13 +0000 (14:06 +0200)]
Please cherry-pick:
- added missing event observing methods and fixed error to them
- well, in a RequestScoped-annotated bean, this won't help, which means won't work
- which needs rewrite again ... :-/
Roland Häder [Sat, 19 Aug 2017 11:18:04 +0000 (13:18 +0200)]
Please cherry-pick:
- changed List to Map to have locale name (e.g. de_DE) as key and the locale
itself as value stored in a map for a quick lookup
- this map is also being used to handle browser's language-only locales, like
"de" and not "de_AT" or other equivalents
- there is now a submit button for JS-less users to change locale
Roland Häder [Sat, 19 Aug 2017 11:14:32 +0000 (13:14 +0200)]
Please cherry-pick:
- used h:outputText (component) instead of (plain) text in view which is then
controlled by the component
- do *always* remember that JSF and all of its expansions are component
frameworks, rendering a WUI (Web User Interface) and not yet-another
template language