Roland Häder [Sat, 28 Oct 2017 22:54:51 +0000 (00:54 +0200)]
Please cherry-pick:
- used MessageFormat.format() instead of concating, reducing String objects
- moved comment out of ui:composition which avoids adding another ui-row to the
DOM document
- removed extra space in CSS class list
Roland Häder [Sat, 28 Oct 2017 16:34:03 +0000 (18:34 +0200)]
Please cherry-pick:
- renamed bundle -> generic as this is no longer the only language bundle
- renamed namespace from widgets to core as also other custom widgets (JSF tags)
may come
Roland Häder [Tue, 17 Oct 2017 21:42:44 +0000 (23:42 +0200)]
Please cherry-pick:
- switched converters/validators which are converting primary keys (id numbers)
into entities from EJB-based lookup to backing-bean-based lookup as this is
much better performing (EJB calls are relative "expensive")
- the backing bean will then check cache which is basically a distributed Map
(Cache interface) where the primary key is also the key for cache entries
- a SomeEntityNotFoundException is being thrown when containsKey() returns
false which is then caught by the calling method
- fixed imports from "renaming season" ;-)
- renamed contactsCache -> contactCache as other caches are named same way
- no need for company employee, basic data, branch offices and departments
Roland Häder [Thu, 12 Oct 2017 23:51:26 +0000 (01:51 +0200)]
Please cherry-pick:
- added template for adding branch office opening times
- added all required fields in adminBranchOfficeController bean
- opening times for branch offices are now set, if provided, in new branchOffice
instance
- double opening times won't be accepted
- added clear() method, seem not to affect formular in PrimeFaces
- added missing navigation cases
Roland Häder [Thu, 12 Oct 2017 20:13:09 +0000 (22:13 +0200)]
Please cherry-pick:
- loading of both i18n (resource) bundles is now possible
- departmentName has been transformed into departmentI18nKey to allow
localization of the department's name
- also rewrote i18n key for entering department's i18n key
- splitted header line and "enter bla" for department i18n key, was to long
Roland Häder [Sun, 8 Oct 2017 16:55:25 +0000 (18:55 +0200)]
Please cherry-pick:
- rewrote administrative user list to PrimeFaces with filters and multi-sortable
and resizable columns
- fixed header facet for mobile provider list
- rewrote admin_form_user/contact_data.tpl to response p:panelGrid
- converted div to h:panelGroup
- added more "static" data like personal title, account status and profile mode
- added missing i18n strings
Roland Häder [Sun, 8 Oct 2017 00:07:03 +0000 (02:07 +0200)]
Please cherry-pick:
- renamed companyEmployee to employee as there was no need for
- also renamed EJB name and backing beans
- half-added event for being fired (and fully observed by general bean) when an
employee has been added
- if an employee's displayed name is being rendered, also try to render an
assigned department (if any)
Roland Häder [Sat, 7 Oct 2017 22:41:06 +0000 (00:41 +0200)]
Please cherry-pick:
- added backing bean for departments and opening times
- added converter for DayOfTheWeek enumeration
- added required getter for above enum in dataController
- added administrative list views and "add-form" template for above new beans
- added required navigation rules (not opening times so far)
- added missing i18n strings
- renamed some i18n strings which are now more clear
- added custom JSF tags for above new beans (show/edit/delete)
- removed no longer needed CSS classes/ids as this is now done by panel grids
- removed divider-right CSS class
- added more ui-noborder where required (no ugly over-bordering ... ;-)
Roland Häder [Sun, 1 Oct 2017 19:51:14 +0000 (21:51 +0200)]
Please cherry-pick:
- rewrote branch office/employee list to filtering, sorting list
- also used f:facet name="<footer|header>" instead of h:panelGroup+hX to make
more generic table footer and header
- disabled filtering for creation timestamps and action links
- renamed some i18n strings, let them have plural (more than one item could be
listed)
- renamed COMPANY_FOO to only FOO as no other employees or departments (e.g.
fire department) will this application be about
- had switched STATE_SAVING_METHOD to server for testing things, missed to set
it back before committing, now set back to client
- added navigation rules for departments and opening times
- added missing i18n strings
Roland Häder [Sun, 1 Oct 2017 16:11:22 +0000 (18:11 +0200)]
Please cherry-pick:
- no more "title" but "document_title" now
- also "document_<admin|guest|login>_title" which is for the <title> tag
- the extra title above the content is now moved into the page header tag which
reduces redundant stuff (see content_header)
- converted admin_form_employee_data.tpl to new (more responsive) way
- added missing i18n strings
- got rid of "fieldset" CSS class
Roland Häder [Fri, 29 Sep 2017 23:06:00 +0000 (01:06 +0200)]
Please cherry-pick:
- removed no longer used backing bean injections, may reduce memory footprint
- added project-specific JSF taglib
- made long one-line p:selectCheckboxMenu into multi-line to have it easier
updated
- renamed *_BRANCH_OFFICES_* to *_BRANCH_OFFICE_*
- added missing i18n strings
Roland Häder [Fri, 29 Sep 2017 21:38:56 +0000 (23:38 +0200)]
Please cherry-pick:
- merged default.css + layout.css into custom.css as this is really what it is
- however, these CSS classes/ids may fade step-by-step away in favour of jQuery
UI theme
- table-medium CSS class was to much static and so not responsive, replaced all
by table-full
Roland Häder [Fri, 29 Sep 2017 21:14:05 +0000 (23:14 +0200)]
Please cherry-pick:
- more rewrites towards responsiveness and PrimeFaces
- added converter for departments (company)
- added custom JSF tag for administrative mini links for employees
- converted more JSF tags into a few custom JSF tags, panelGrid is more used
- moved out project-specific menu items to project.tpl
- converted personal-title and mobile into selection box (custom JSF tags)
Roland Häder [Sun, 24 Sep 2017 12:18:44 +0000 (14:18 +0200)]
Please cherry-pick:
- the general resource bundle are now loaded (in Base<Project>Bean) only once
and then kept in static field
- f:view is now back expanded over whole view, maybe not needed?
- fixed mess of msg (general) and project (-specific) i18n strings
- added missing i18n strings
- added helper method renderBranchOffice() and renderContact() which will
render branch office and contact data respectively for JSF views. If not set
(null provided), an empty string is returned.
Roland Häder [Fri, 22 Sep 2017 22:24:16 +0000 (00:24 +0200)]
Please cherry-pick:
- need to change java.util.Calendar (bye bye) to java.util.Date in favour of
PrimeFaces' p:calendar [!] tag
- added more i18n strings
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 13:47:54 +0000 (15:47 +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