Roland Häder [Mon, 11 May 2020 01:12:04 +0000 (03:12 +0200)]
Please cherry-pick:
- since departments, headquarters and branch offices cannot link to employes,
so also the view navigation rules must reflect this. Employees can have a
relationship to any these 3 entities and would lead to endless loop
- introduced adminDepartmentActionController instead of without "Action", let
us keep these empty ("dead") backing beans around, they may one day be filled
with life again. Or they will be removed if no purpose could be found.
- closed some TODOs in views where p:fieldset allows a title attribute
- also a ui:fragment can be avoided when p:fieldset allows a render attribute
- added view for administrative editing of departments
- removed double // NOI18N strings (ops?) which is for some language string
scanning and translation tools to ignore these lines (exception messages
should normally not show up to the user).
Roland Häder [Tue, 28 Apr 2020 21:03:01 +0000 (23:03 +0200)]
Please cherry-pick:
- added javax.faces.FACELETS_SKIP_COMMENTS to let JSF +2.1 (2.3 is used anyway)
engines ignore commented out JSF tags (and the EL code inside it). With this
option, the developer has what he needs, IMO as this allowws temporary
removing JSF tags from the component tree as the developer desires. Okay,
ui:remove is also around ...
Roland Häder [Sat, 25 Apr 2020 16:41:39 +0000 (18:41 +0200)]
Please cherry-pick:
- introduced new administrative action backing bean (add/update/delete being
done here)
- land-line, fax and mobile instances must be intialized with null first, then
check all respective backing bean properties if they all exist. This fixes
the NPEs coming from updated constructors
- check Country instance against the interface Country and not not being null
- added missing i18n string
Roland Häder [Fri, 24 Apr 2020 03:05:31 +0000 (05:05 +0200)]
Please cherry-pick:
- added view admin-edit-branch-office view including backing bean action method
- added navigation rule from admin-edit-branch-office to
admin-list-branch-offices view, including redirect
- added event observer for when an administrator has updated a branch office
- renamed adminBranchOfficeController to adminBranchOfficeActionController
- added many missing i18n strings
- renamed i18n string
Roland Häder [Fri, 24 Apr 2020 03:05:31 +0000 (05:05 +0200)]
Please cherry-pick:
- added view admin-edit-branch-office view including backing bean action method
- added navigation rule from admin-edit-branch-office to
admin-list-branch-offices view, including redirect
- added event observer for when an administrator has updated a branch office
- renamed adminBranchOfficeController to adminBranchOfficeActionController
- added many missing i18n strings
- renamed i18n string
Roland Häder [Thu, 23 Apr 2020 00:29:42 +0000 (02:29 +0200)]
Please cherry-pick:
- got rid of admin_form_basic_data.tpl, now moved back to original view, I guess
I will do that for all forms, which would lead to "duplicate" forms elements
butter with no targetController which was never resolvable anyway.
- added showEmailAddress boolean flag to many renderFoo() methods to whether
show email address which is mostly not wanted in selection boxes ...
- added companyRoadNumber to basic-data backing bean and proper forms/list view
- in converters/validators now the FOO_LIST_CONTROLLER static instance shall
always be initialized directly before the try{} block
Roland Häder [Wed, 22 Apr 2020 14:49:38 +0000 (16:49 +0200)]
Don't cherry-pick:
- renamed backing beans and their interfaces to JJobs
- fixed JNDI name
- fixed converters/validators because of JFinancials -> JJobs cherry-picking,
otherwise you have to write that all from scratch ...
Roland Häder [Tue, 21 Apr 2020 23:59:56 +0000 (01:59 +0200)]
Don't cherry-pick:
- JJobs has no need for addressbooks, it can be done without them
- renamed backing beans for JJobs
- fixed (maybe?) some JNDI names
- a lot other fixes, still something is not correct, some interfaces have some
missing methods while they should be there
Roland Häder [Sun, 19 Apr 2020 16:58:49 +0000 (18:58 +0200)]
Please cherry-pick:
- rewrote to not use fax_input_table_row.tpl
- realigned JSF tags to have attributes in a separate line
- got rid of some old tags from pre-PrimeFaces times
Roland Häder [Sun, 19 Apr 2020 00:07:53 +0000 (02:07 +0200)]
Please cherry-pick:
- got rid of admin-contact-links menu template
- reformatted a lot templates
- got rid of some core:outputMessageBox as p:growl does it already
- implemented missing deleteContactData() action method
- also implemented missing even observer for updating cache and list
- replaced FaceletException with FacesException
- renamed variables
Roland Häder [Fri, 17 Apr 2020 14:54:20 +0000 (16:54 +0200)]
Please cherry-pick:
- heavy rewrite on (almost?) all admin-list-foo views, to use @ViewScoped beans
and working JSR107 caching
- also sorted out mixed usage of userController (or so?) as the login and
register backing beans can surely have their own properties
- rewrote web/WEB-INF/resources/tags/admin/dropdown/ to have it included back
in views again, was a bad idea
Roland Häder [Fri, 10 Apr 2020 19:38:06 +0000 (21:38 +0200)]
Please cherry-pick:
- WIP: rewrote admin-list-users view into ViewScoped
- added missing "global search" to it
- added initial p:dialog box to it
- also output userLastLock[Reason] and userMustChangePassword
- added/removed/renamed some i18n strings
- rewrote cache initialization to avoid a local List<Entity> copy
Roland Häder [Fri, 10 Apr 2020 04:13:21 +0000 (06:13 +0200)]
Please cherry-pick:
- updated PrimeFaces JAR from 6.2 to 8.0
- updated OmniFaces JAR from 2.7.2 to 2.7.3
- still OmniFaces causes a NPE in container startup
Roland Häder [Fri, 10 Apr 2020 04:05:27 +0000 (06:05 +0200)]
Please cherry-pick:
- upgraded PrimeFaces to 8.0
- there is no more pm:x available in latest PrimeFaces, so ":master:foo:bar"
doesn't work but "foo:bar" does
- also the language selector may work now?
Roland Häder [Wed, 8 Apr 2020 18:29:11 +0000 (20:29 +0200)]
Please cherry-pick:
- reformatted some p:outputLabel/p:inputText to have all attributes in single
line
- as jcoreee's showFacesMessage() methods require severity now, added
FacesMessage.SEVERITY_* to those method calls, strange that still it still
shows no effect? Where is the bug here?
Roland Häder [Thu, 2 Apr 2020 16:29:54 +0000 (18:29 +0200)]
Please cherry-pick:
- rewrote admin-headquarters-list to have filters and sorting (newer approach)
- added p:panelGrid around reset/submit buttons, still administrative contact
list is not being updated on record insert
- used beanHelper.renderEmployee() to render department leader (employee
instance again)
- fixed some wrong references due to last rewrite for departments
- added missing i18n key
Roland Häder [Thu, 2 Apr 2020 13:38:24 +0000 (15:38 +0200)]
Please cherry-pick:
- rewrote admin-departments-list view to have working filters and sorting
(wasn't done correctly)
- also included a "global" search (all columns)
- moved isDepartmentAlreadyAdded() to departmentListController to avoid getter
for allDepartments being exposed in interface
Roland Häder [Wed, 1 Apr 2020 18:24:20 +0000 (20:24 +0200)]
Please cherry-pick:
- rewrote admin-countries-list view to more modern approach with filters and
sorting
- rewrote many while(iterator) implementations to use for(item:List/Map.Entry)
instead
- added some missing i18n keys
Roland Häder [Wed, 1 Apr 2020 00:13:14 +0000 (02:13 +0200)]
Please cherry-pick:
- initialize BASIC_DATA_LIST_CONTROLLER (and others, too) only right before it
is needed.
- added contactUpdated to "admin-contacts-list" view
- contact usage (user/no user) is now pre-last column
- added missing i18n string
Roland Häder [Sun, 29 Mar 2020 22:33:19 +0000 (00:33 +0200)]
Please cherry-pick:
- was still using contactController.allContacts() should be
contactListController.allContacts as "allContacts" is a bean property now.
Roland Häder [Sun, 29 Mar 2020 21:58:10 +0000 (23:58 +0200)]
Please cherry-pick:
- rewrote to use DATA_ZIP_CODE only, other *_DATA_ZIP_CODE has been deleted
- continued a bit with details p:dialog (modal) box, still need to add all
fields, including for administrative list
Roland Häder [Sun, 29 Mar 2020 19:00:35 +0000 (21:00 +0200)]
Please cherry-pick/repeat:
- rewrote "contacts-list view" into modern approach, with filters and sorting
- in the progress a ViewScoped backing bean has been added which needs to
duplicated to all other projects, that handles "jcontacts-core data"
Roland Häder [Sat, 5 Oct 2019 00:24:41 +0000 (02:24 +0200)]
Please cherry-pick:
- okay, that PaymentType is here in because other projects might (still) have it
- added TODOs.txt file with project management-related todos
Roland Häder [Fri, 11 Oct 2019 09:32:59 +0000 (11:32 +0200)]
Don't cherry-pick:
- renamed a lot files according to naming convention, like no Headquarter>s<
(s is plural here) and no CompanyEmployee and so on
- used java.util.Date instead of java.util.Calendar as it is done everywhere
- fixed a lot errors to make this project at least compile again
Roland Häder [Fri, 12 Jul 2019 00:55:20 +0000 (02:55 +0200)]
Please cherry-pick:
- converted single-line to multi-line for better readability
- added closeOnEscape="true" attribute to have p:dialog closing press on ESC key
Roland Häder [Wed, 12 Jun 2019 00:31:46 +0000 (02:31 +0200)]
Please cherry-pick:
- moved metadata (not for HTML, but for JSF engine) out of "first" facet block,
should not belong there?
- fixed some missing UTF-8 encodings
Roland Häder [Tue, 12 Mar 2019 13:08:51 +0000 (14:08 +0100)]
Please cherry-pick:
- rewrote p:column and p:link to have each attribute in a separate line which
helps reading JSF views/templates
- renamed ADMIN_ASSIGNED_USER_HEADER to ADMIN_USER_HEADER
- added more country i18n strings
Roland Häder [Sat, 22 Dec 2018 00:15:33 +0000 (01:15 +0100)]
Please cherry-pick:
- introduced 2nd parameter for beanHelper.renderBasicData() to include short or
long name in view components
- also use that method instead of invoking getter in same helper backing-bean
- re-aligned some JSF tags to have their attributes in distinct lines (easy to
add another)
Roland Häder [Thu, 13 Dec 2018 21:47:24 +0000 (22:47 +0100)]
Please cherry-pick:
- removed "id" where it is not explicitly needed
- removed process="@form" as later one hides a more serious bug (was wrong
scope)
- removed contenttype from f:view which makes rendering AJAX requests by
Primefaces trigger an exception
- rewrote single-line attributes to distinct lines (each attribute of a tag in
a separate line for better readability) in master.tpl
Roland Häder [Thu, 13 Dec 2018 21:25:32 +0000 (22:25 +0100)]
Please cherry-pick:
- created validator for company's short name (BasicData entity)
- renamed email-address validator for branch office according to naming-convention
- removed "id" attribute from everywhere where it is not explicitly needed
- changed some single-line tags to multi-lines for better readability
- added companyShortName to view and backing bean
- it is now the default instead of companyName which is now fully optional
- also added method isCompanyShortNameUsed() to interface
Roland Häder [Mon, 16 Jul 2018 20:36:22 +0000 (22:36 +0200)]
Please cherry-pick:
- renamed *MiniLinks to *DropdownMenu to reflect actual purpose of these custom
tags
- renamed to generic "id" EL variable to "panelGroupId", was causing trouble
- ids should not have dashes in them (caused some exceptions)
Roland Häder [Sat, 7 Jul 2018 16:24:43 +0000 (18:24 +0200)]
Please cherry-pick:
- restructed admin menu towards a sidebar and slide menu which is
finger-friendlier and consumes lesser space
- also this lefts open a top panel for later enhancements
- renamed base.tpl -> master.tpl
- rewrote "mini links" (with custom CSS) to PrimeFaces' p:menuButton and
p:menuitem, also moved them to proper "dropdown" folder
Roland Häder [Mon, 14 May 2018 21:40:10 +0000 (23:40 +0200)]
Please cherry-pick:
- introduced list view-scoped backing bean for branch offices, including
interface, which will hold the list for pagination and filtering/sorting as
@RequestScoped annotated beans will be reset even on each AJAX requests
- according to the change from "general" (request-scoped) to "list"
(view-scoped) backing bean, also renamed class fields in converters/validators
- private methods should not throw exceptions as they cannot be tested with
unit tests
- added new bean helper method renderCountry()
- also include department name in renderEmployee(), if applyable
- moved all receipt/product-related renderFoo() methods away to their own beans
resulting in lesser conflicts on cherry-picking to other projects
- rewrote bean helper methods "renderFoo()" a bit
- added Accept: text/xml in case of AJAX requests (BalusC, thank you again)
- added validator for branch office's email address
- fixed relative path in project.properties (ops, NetBean's fault?)
- added template for opening times data
- fixed end of all ui:composition tags: > must be in new line to allow easy
adding (only a line added, not 2 existing modified) of new "imports"
- rewrote admin_basic_data_list.xtml to new way, with global search and details
p:dialog being dynamically loaded (cool PF!)
- same rewrite for admin_branch_office_list.xtml (still other views like
edit/delete/assign will be missing)
- remove for="someId" where really not needed (<f:convertDateTime> was already
within the tag where for="x" was pointing to)
- removed not needed "imports" of XML namespaces
- changed admin_contact_data_min.tpl to p:column (was h:column)
- onPostback had some side effects like overwriting values, still some edit
views may not work as expected (changer to PrimeFaces)
- added required <h:inputHidden> for primary key handled over from URL
(edit/delete/assign views again)
- <div class="table-footer"> is discouraged as this is plain HTML and no
engine-controlled JSF tag
- reformatted over-long JSF/PF tags to have each attribute in its own line
- form-admin-edit-user was incorrect (copy-paste) in a contact view, fixed
- removed no longer used tableStyleClass attribute
- *Created.time handled over to <f:convertDateTime> is maybe wrong, just
*Created is really okay here
- removed styleClass="submit|reset"
- added process="@form" but this is only a workaround according to BalusC on
stackoverflow.com (thank you for all your value contributions!!!)
- admin_[show_]<fax|landline|mobile|user>_data.tpl were all still using
h:column, now fixed to p:column
- moved comment block out of ui:composition, else it will show up in HTML code
and may even confuse the JSF engine?
- removed some CSS attributes from discouraged custom.css as there is now a
theme around, include .table* classes
- added a lot more i18n strings
Roland Häder [Fri, 6 Apr 2018 21:22:45 +0000 (23:22 +0200)]
Please cherry-pick:
- the helper bean needs to be view-scoped for other "list" view-scoped beans
- all action methods must return void to have JSF AJAX requests working properly
- sorted some members
Roland Häder [Sat, 31 Mar 2018 14:32:49 +0000 (16:32 +0200)]
Please cherry-pick:
- removed <f:selectItem> with value="#{null}" in filter selection box, was
anoying there and no use anyway
- added beanHelper.renderUser(user) which is a helper method for rendering
user names
- added missing i18n strings
Roland Häder [Fri, 30 Mar 2018 22:09:23 +0000 (00:09 +0200)]
Please cherry-pick:
- _HEADER is now everwhere a suffix, not 2nd prefix of i18n keys
- *_BASIC_COMPANY_DATA_* was nice to read, still the POJI is named BasicData
where this i18n key belongs to, so let's remove the _COMPANY from all strings
- ID_NUMBER_HEADER is generic and okay for "Id number:" string
Roland Häder [Fri, 30 Mar 2018 17:42:20 +0000 (19:42 +0200)]
Please cherry-pick:
- on a p:dataTable it is recommneded (to avoid JavaScript errors) to have both
id and widgetVar named the same
- changed general font size to 0.8em
Roland Häder [Fri, 30 Mar 2018 17:36:50 +0000 (19:36 +0200)]
Please cherry-pick:
- data output by a p:dataTable with pagination, filtering and sorting cannot
come from a request-scoped bean as each AJAX request will reset the
filteredValue-referenced bean property to null which leads to an empty table.
- better is to have a separate backing bean on view-scoped which holds both
lists, the full ("all") list and filtered list (which are the items that have
passed the filter).
- also had to update converters and validators
- finally, no need for javax.faces.STATE_SAVING_METHOD=client anymore! yeah!
- rewrote menu system (admin at least, guest and user login is following) to a
menu-bar-based system which saves a lot space and is a more modern approach
- added filter for not caching xhtml (JSF view) requests
Roland Häder [Sat, 24 Mar 2018 22:16:11 +0000 (23:16 +0100)]
Please cherry-pick:
- used on validator:emailAddressValidator as this allows empty values being
ignored
- p:growl's autoUpdate and any other is deprecated, better use p:autoUpdate
instead (new PrimeFaces 6.2 deprecation fixed)
- used $() instead of `` for monitoring script
Roland Häder [Sat, 24 Mar 2018 18:24:16 +0000 (19:24 +0100)]
Please cherry-pick:
- f:validator is no longer working, need to use own JSF tag
validator:employeeEmailAddressValidator which allows a second parameter
- there is no type="secret", need to be type="password"
- added p:inputTex for headquarter's company name
- added selection box for profile-mode using "new" getter in data controller
- added selection box for branch office owner (employee)
- added navigation rule from employee list to to assign branch office to
employee
- fixed leftovers from duplication from branch office to employee/department
- added navigator="true"
- renamed employeeCompany to employeeBasicData
- reformatted p:inputText in admin_form_contact_data.tpl
- allow null profile mode (?)
- set org.jboss.weld.development=false
- registered validators.jsf.taglib.xml
- updated/changed copyright to Free Software Foundation
Roland Häder [Sat, 24 Mar 2018 16:09:34 +0000 (17:09 +0100)]
Please cherry-pick:
- isEmailAddressRegistered() should always, like other public methods, validate
their parameter
- introduced isCompanyNameUsed() which is similar to isEmailAddressRegistered()
which will be used to check in JS107 cache if company name is already used
- make sure only non-null email addresses are added to emailAddressCache
- updated/changed copyright to Free Software Foundation
- added TODO to get rid of generateRandomUserName() business method is which
deprecated anyway
- removed isPublicUserProfileEnabled()
- AdminBranchOfficeWebRequestBean is surely a request-scoped backing bean
- added to same bean properties for last house number and extension of branch
office
- renamed bean field employeePersonalContact -> employeePersonalData
- fixed some leftovers from duplication of branch office controller for employees
- same with department bean
- used more MessageFormat.format() which prevents more String objects polluting
both heaps
- injected feature backing bean into admin user bean
- added missing bean property for user's profile mode to same bean
- introduced private method createUserInstance() to same bean
- null-ed more fields in same bean in clear() method
- fixed imports of ContactUtils -> Contacts
- AdminHeadquarterWebRequestBean is surely a request-scoped backing bean
- added to same bean properties for last house number and extension of
headquarter
- fixed some leftovers from duplication of branch office controller for headquarter
Roland Häder [Tue, 20 Mar 2018 23:49:37 +0000 (00:49 +0100)]
Please cherry-pick:
- added ServletContextListener implementation for (later) pre-initialize JS107
cache before any page is served
- added validators for basic company data, headquarter data and branch office's
email addresses
- rewrote converters which have allowEmptyValue flag to handle it correctly
(need that validators.jsf.taglib.xml for this to work)
- renamed company name validator as this is for basic company data ... ;-)
- updated/changed copyright year to Free Software Foundation
Roland Häder [Tue, 20 Mar 2018 23:19:39 +0000 (00:19 +0100)]
Please cherry-pick:
- removed no longer required profile-mode backing bean
- removed admin_form_user_personal_data.tpl as there is no need for it
- added validators.jsf.taglib.xml which holds descriptions for JSF validators ...
- always sort/filter by direct entity
- fixed i18n keys, was missing an underscore
Roland Häder [Fri, 3 Nov 2017 23:56:18 +0000 (00:56 +0100)]
Please cherry-pick:
- removed company from "basic_company_data" (and class names) as there will be
no other basic data
- added view for headquarter listing (administrative)
- used more beanHelper's renderFoo(foo) methods as this is much easier to debug
- renamed ADMIN_SHOW_PHONE_NUMBER to ADMIN_SHOW_<FAX|LAND_LINE|MOBILE>_NUMBER
- added menu for headquarters (administrative)
- added custom JSF tag for administrative "mini-links" for headquarters
- added templates for form and opening times of headquarters
- fixed employee link outcomes, was copy-paste mistake (ops)
- renamed more headquarters -> headquarter
- addEmployee() is now "basically finished"
- changed h:outputLink to p:link which suits better here
- added missing navigation rules for headquarters/employees
- isCompanyNameUsed() and isEmailAddressRegistered() should be "basically
finished"
- still one isEmailAddressRegistered() is left in generic contactController
- first value, then variable on comparison (null == someVariable)
- lot's more fixes/improvements I cannot remember ...
Roland Häder [Tue, 31 Oct 2017 18:55:52 +0000 (19:55 +0100)]
Please cherry-pick:
- added support for local i18n string bundles which may be useful when the
application itself has i18n keys that could be "dynamic" (entered by
administrator)
- all converters are now performing a CDI "lookup" and no EJB calls anymore
which is nice for performance
- PrimeFaces have an upcoming feature when scripts and maybe CSS can be bundled
which improves load performance of the web application
- but only with 6.2+ and with older versions this option is safely ignored
- removed CSS class "input" and other "2-corner rouded" styles, they may return
in form of an own theme?
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 ... ;-)