Roland Häder [Fri, 12 Jul 2019 00:58:05 +0000 (02:58 +0200)]
Don't 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 [Fri, 12 Jul 2019 00:57:33 +0000 (02:57 +0200)]
Product-only:
- 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 [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 07:01:54 +0000 (09:01 +0200)]
Product-only:
- added barcode to administrative "list" view for products
- undone swapping out form to include (also later own JSF tags, sorry) as this
was a bad idea, it was then unsafe due to missing auto-completion
- fixed some UTF-8 encoding
- added missing i18n string(s)
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:16:24 +0000 (14:16 +0100)]
Don't cherry-pick:
- renamed more i18n strings to follow naming-convention
- rewrote p:link and p:column to have each attribute in separate line which
helps reading JSF views/templates
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 [Mon, 28 Jan 2019 15:36:51 +0000 (16:36 +0100)]
Product-only:
- separated product-specific i18n keys to own files from project-specific
- converted some single-line JSF tags to multi-line to have each attribute in
a distinct line
Roland Häder [Sat, 22 Dec 2018 01:12:27 +0000 (02:12 +0100)]
Don't cherry-pick:
- used beanHelper.renderBasicData() instead of direct access to BasicData's
properties
- added 2nd parameter for beanHelper.renderBasicData()
- re-formatted JSF tag to have distinct lines for each attribute
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, 20 Dec 2018 11:13:28 +0000 (12:13 +0100)]
Don't cherry-pick:
- converted single-line JSF tag to multi-line, having attributes in distinct
lines
- ID_NUMBER_HEADER is to long, just let us use ID_HEADER, allowing more space
for other columns
- removed spurious id attributes, thumb of a rule: only use them when really
needed and don't "over-id" everthing!
- removed no longer used i18n keys
Roland Häder [Thu, 20 Dec 2018 11:07:51 +0000 (12:07 +0100)]
Product-only:
- implemented allowDuplicates in product i18n key validator (default: FALSE)
- added it to product:genericProductForm tag (custom JSF tag)
- allowed "duplicates" in edit view, still the generic string validation applies)
- parentCategory is optional and must be set "manually" by setter
- removed clear() method (which sets NULL to all backing-bean fields/properties (?)
- realigned code a bit (createProductInstance())
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:40:35 +0000 (22:40 +0100)]
Product-only:
- converted ui:include template admin_form_product_data.tpl to custom JSF tag
product:genericProductForm
- introduced view-scoped action backing bean for Product entity which hold code
from request-scoped backing bean, this is required to have edit/delete/show
views working again
- removed beanProductHelper.product property and
notifyControllerProductConverted() in favor of copyAllProductProperties()
- renamed some language strings
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 [Tue, 26 Jun 2018 19:46:41 +0000 (21:46 +0200)]
Product-only:
- added form field for product's bar-code number
- added graphical bar-code of product's bar-code number to dialog box
- added missing i18n language strings
Roland Häder [Sun, 24 Jun 2018 20:41:20 +0000 (22:41 +0200)]
Don't cherry-pick:
- let's render the receipt's bar code into an actual barcode
- renamed RECEIPT_NUMBER -> RECEIPT_NUMBER_HEADER
- added showing receipt number in list view (receipts)
Roland Häder [Sun, 24 Jun 2018 12:55:41 +0000 (14:55 +0200)]
Don't cherry-pick:
- need to invoke renderUser() instead, strange is that my IDE didn't show this
error but okay.
- added register number to dialog box
- added missing i18n strings
Roland Häder [Mon, 14 May 2018 23:03:34 +0000 (01:03 +0200)]
Don't cherry-pick:
- added helper bean for fiancial beans, renderReceipt() was moved here
- need to have > of <ui:composition> in own line to avoid editing 2 lines when
adding an another XML namespace
- wrapped all (?) long JSF/PF tags to have their attributes in separates lines
- using no longer tableStyleClass attribute
- continued with single receipt item p:dialog (all fields exposed there)
- position of it set to "top"
- oh, no more columnClasses="label,value" ... ;-)
- also no more styleClass="submit|reset" (themed)
- added process="@form" as a workaround for an exception (BalusC said this)
Roland Häder [Mon, 14 May 2018 23:00:12 +0000 (01:00 +0200)]
Product-only:
- having this AJAX-pagination-filtering-sorting stuff here is plain wrong, but
hey ... what is @ViewScoped again ??? ;-)
- added productId backing bean as the edit/delete view require it
- also createProductInstance() is setting it, when not null
Roland Häder [Mon, 14 May 2018 22:49:05 +0000 (00:49 +0200)]
Product-only:
- moved > of <ui:composition> to new line to have newly added namspaces being
added without causing 2 lines being changed
- wrapped long JSF/PF tags having each attribute in a single line
- added size, maxValue and minValue to productUnitAmount
- onPostback has caused some side effect that values got overwritten in e.g.
edit views
- no longer using tableStyleClass
- changed i18n strings, no need for having PRODUCT_ prefix on e.g. net/gross
price strings
- no longer using styleClass="submit|reset"
- added process="@form" as a workaround for an exception, according to BalusC
this is not fixing the actual application's misconfiguration (where which?)
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:35:58 +0000 (23:35 +0200)]
Don't cherry-pick:
- added list and user bean for receipt items, need to have this for having
"working" (at least partly) paginator+filter+sorting on a p:dataTable tag
- also prepared listing of receipt items for clicking on a row to have a
p:dialog shown up with all details, yet still unfinished
- removed no longer used i18n key
Roland Häder [Fri, 6 Apr 2018 21:32:15 +0000 (23:32 +0200)]
Product-only:
- created product helper bean and moved all product-related methods from generic
to this bean
- added view stubs for edit, delete and show of a generic product
- fixed imports as "add events" now have own package
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:36:43 +0000 (16:36 +0200)]
Don't cherry-pick:
- added view-scoped backing bean for receipt lists which helps pagination +
filter + sorting
- it is now the new receiptListController and no allReceipts() (method) but only
allReceipts (bean property)
- addded missing i18n strings, removed no longer used
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 [Sat, 31 Mar 2018 00:24:10 +0000 (02:24 +0200)]
Product-only:
- if for example an employee is assigned to a company (basic_data) then always
link the "show basic data" view and not the company's website URL
- fixed wrong bundle, have to be "project", "msg" is generic
- added missing i18n strings
Roland Häder [Sat, 31 Mar 2018 00:23:51 +0000 (02:23 +0200)]
Don't cherry-pick:
- if for example an employee is assigned to a company (basic_data) then always
link the "show basic data" view and not the company's website URL
Roland Häder [Sat, 31 Mar 2018 00:11:14 +0000 (02:11 +0200)]
Please cherry-pick:
- if for example an employee is assigned to a company (basic_data) then always
link the "show basic data" view and not the company's website URL
Roland Häder [Fri, 30 Mar 2018 22:57:34 +0000 (00:57 +0200)]
Product-only:
- <f:*> are not processed when the view is rendered but when "constructed"
- therefore EL expressions cannot reference only "static" data, not data that
will be dynamically provided
Roland Häder [Fri, 30 Mar 2018 22:12:45 +0000 (00:12 +0200)]
Product-only:
- in product list, allow clicking ("selecting") a row (single product) and
show a dialog (modal) box with all detailed data
- _HEADER is now everwhere a suffix, not 2nd prefix of i18n keys
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 [Fri, 30 Mar 2018 17:07:48 +0000 (19:07 +0200)]
Product-only:
- 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
Roland Häder [Tue, 27 Mar 2018 21:41:51 +0000 (23:41 +0200)]
Product-only:
- "in" was not fitting for a boolean value, better take "equals" and a
p:selectOneMenu tag to have a compact way of selecting available or not
available products
Roland Häder [Sun, 25 Mar 2018 02:15:23 +0000 (04:15 +0200)]
Please cherry-pick:
- renamed admin_form_mobile_data.tpl to admin_edit_form_mobile_data.tpl as this
tag is for editing mobile numbers
- started cleanup by removing no longer valid (PF + jquery-ui have own stuff)
<div> tags
- reformatted more p:inputText
- size="10" for <landLine|fax|mobile>Number is a bit to short, let's take 20
again
- size="20" for email addresses is a bit to short, let's take 40 then
- replace more h:outputLink with p:link, need to take href attribute with this
tag then
- renamed *_LANDLINE_* i18n keys to *_LAND_LINE_*
- used p:outputPanel instead of plain <div> tag, may now lesser break
- no size of landline/fax number (not area-code)
Roland Häder [Sun, 25 Mar 2018 01:20:49 +0000 (03:20 +0200)]
Don't cherry-pick:
- reformatted p:inputText tags (and please others, too) to have each attribute
in a separate line for later easier updates
- size="10" was to small again, let's take again 20
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 22:05:59 +0000 (23:05 +0100)]
Don' cherry-pick:
- added more i18n strings (non-generic)
- receiptNumber may not be all-numbers, so changed type to java.lang.String
- removed p:message as this is no need for (anymore)
- incomeSingleAmount is now java.math.BigDecimal as this is more precise than
java.lang.Float is
- having getter/setter for backing bean properties in interface may ask other
developers to invoke them from other beans, this is bad as it may cause
problems when code grows
- so the interface FinancialsIncomeWebRequestController is now cleared and all
documentation is moved to backing bean class
- added itemNumber to same backing bean
- ADMIN_LINK_SHOW_RECEIPT_TITLE is a project-specific i18n key, not generic (msg)
- so ADMIN_LINK_SHOW_RECEIPT_ITEM_PRODUCT_TITLE is ...
- added missing navigation rules from admin_receipt_list
- fixed name for getter of filteredReceiptItems property
- renamed companyEmployee -> employee in JSF views/templates
- let's use beanHelper.renderBranchOffice() instead of outputting only plain id
number
- added TODOs of unfinished/hard-coded stuff
- updated/changed copyright to Free Software Foundation
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:34:47 +0000 (00:34 +0100)]
Only product:
- web controller expanded with age group ("new" enumeration), product size and number
- also changed Float to BigDecimal for precision reasons
- always filter/sort agains entity, not an entity's property
- used more MessageFormat.format()
- added converter for agegroup enumeration
- changed/updated copyright year to Freesoftware 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