Roland Häder [Sun, 23 Oct 2022 21:13:02 +0000 (23:13 +0200)]
Please cherry-pick:
- I don't know what maximum number is possible, e.g. +352 is Luxembourg which is
far bigger than intended maximum 99. So let's put it up to 999
Roland Häder [Thu, 20 Oct 2022 17:17:46 +0000 (19:17 +0200)]
Please cherry-pick:
- added missing parameter "country" for updated constructor
- also validated if contact's Country instance is set and already persisted
Roland Häder [Thu, 20 Oct 2022 16:42:21 +0000 (18:42 +0200)]
Please cherry-pick:
- renamed copyUser() to copyToUser() because that method "copies" (read: sets)
all required class fields except "entry-created" in given user instance
- also used UserContact's parameterized constructor instead of default one and
then setting all on my own
- removed @PostConstruct method
Roland Häder [Sun, 25 Sep 2022 20:36:04 +0000 (22:36 +0200)]
Please cherry-pick:
- branch offices have optional email addresses (finally found the bug that you
always must enter an email address while the form field is not marked as
required)
Roland Häder [Fri, 23 Sep 2022 16:52:47 +0000 (18:52 +0200)]
Please cherry-pick:
- cannot copy whole user instance to RequestScoped bean as this is being
forgotten on next request, SessionScoped will be a little overdose + it can
be solved by taking the user instance already set in beanHelper bean
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 ...