Roland Häder [Sat, 30 Nov 2019 01:13:44 +0000 (02:13 +0100)]
Don't cherry-pick:
- rewrote isReceiptItemAdded() as contains() didn't work as expected
- but still skip longer running code when contains() return true (same object)
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, 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