Roland Häder [Mon, 1 Jun 2020 13:32:24 +0000 (15:32 +0200)]
Please cherry-pick:
- all extra email address validators (so not the generic one) have no attribute
"allowEmptyRequiredData" anymore as the email address for them (e.g. branch
office) is always optional
- converted own JSF tag core:outputAdminContactDataFormFields to template again
- reformatted some JSF tags to have each attribute in a single line
- the gender-specific backing bean was superflous since there is a "static
data" backing bean
- added missing i18n string COUNTRY_POLAND (country was added in JFinancials)
- fixed tpzo in i18n key
Roland Häder [Wed, 20 May 2020 16:42:59 +0000 (18:42 +0200)]
Please cherry-pick:
- renamed userCreated -> userEntryCreated
- renamed userUpdated -> userEntryUpdated
- updateUserData() may throw a checked UserNotFoundException, let's catch it
here and throw a FacesException with it as cause
- same with confirmAccount()
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?