Bug 12969 introduces a subroutine to centralize VAT and prices
calculation.
It should be use in the acqui/parcel.pl script.
Test plan:
1/ Create 4 suppliers with the different configurations
2/ Create a basket and create several orders
3/ Go on the parcel page
4/ You should see, on the "pending orders" table, the same prices as
before this patch.
Note that the prices are now correctly formated.
You could see one change for the supplier configuration 3 (1 0):
If the cost of the item is 82, discount 10% and vat 5%:
The "Order cost" = 140.58 instead of 140.57.
Indeed, before this patch, the order cost was wrong, now you should have
70.29*2 = 140.58
( before: 140.58 + 7.03 = 147.61
now: 140.58 + 7.02 = 147.60 )
5/ Receive the items and return on the parcel page
Now the "Already received" table with the same prices as before this
patch.
Note some differences too:
- There was a td tag missing, the table was badly formated, it's now
fixed (column below the "Cancel receipt" link).
- The prices are now correctly formated.
- For the configuration 2 (1 1), if the cost of the item is 82, discount
10% and vat 5%:
( before: 140.57 + 7.03 = 147.60
now: 140.58 + 7.02 = 147.60 )
Note that 7.03 is the "correct" value, but on all other pages, 7.02 is
displayed.
To be consistent, we should display the same prices everywhere.
Signed-off-by: Paola Rossi <paola.rossi@cineca.it>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
On the parcel page, the subtotal values are stored in an hashref. The
key was the fund name. The fund name being encoded in utf8, the hashref
was broken.
This patch replaces this logic creating a key based on an integer.
The budget name is now stored in a new "budget_name" key.
Note: It also fixes a small ergonomic issue (a td was missing in the
tfoot).
Signed-off-by: Paola Rossi <paola.rossi@cineca.it>
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Dobrica Pavlinusic <dpavlin@rot13.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Some code was duplicated, all is now in cancelorder.pl
Added possibility to provide a reason for cancellation (or other things,
this is saved in aqorders.notes)
Signed-off-by: Corinne Bulac <corinne.hayet@bulac.fr>
Signed-off-by: Paola Rossi <paola.rossi@cineca.it>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Test plan:
1/ Set acqCreateItem pref to on receiving
2/ Receive 1 of 2 items ordered
3/ Place a hold on the record
4/ Verify you are not able to cancel the receipt.
This is not the best way to do that but it is the easy one.
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
There is a typoed "f" outside of the HTML on line 279 of
koha-tmpl/intranet-tmpl/prog/en/modules/acqui/parcel.tt
This patch removes that extra "f".
To test:
It should be sufficient to look at line 279 before and after the
patch has been applied.
Signed-off-by: Aleisha <aleishaamohia@hotmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
This bug changes some lines in modordernotes.tt to make them more easily
translatable, especially in german (remark by K. Fisher on bug 9416).
No change should be visible
It also suppresses the ability to edit order "vendor note" in reception,
as the note for vendor is not made to be changed after the document is
received.
Test plan :
- in a basket, try to edit the notes (internal and vendor) of order.
Check the display is correct
- go in reception module (parcel.pl page) : in the list of all orders
to receive, you should have a link to change "internal note", but no
more link to change "vendor note"
- try to receive a specific order which have a "vendor note". On the
right panel of the page, you must have an editable textarea for
internal note, and a non-editable (colored in grey) textarea for
vendor note
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
This patch removes a redundant copy of the DataTables plugin
jquery.dataTables.columnFilter.js and corrects two templates.
The path to the plugin has been modified in acqui/parcel.tt:
- Go to Acquisitions and search for a vendor.
- Open the detail page for that vendor.
- Click the "Receive shipments" button.
- Select an invoice to view.
- In the table of titles, confirm that the column header search forms
work to filter column data.
In the template for the Staged MARC management page the plugin has been
removed as it is unused. A couple of markup corrects have been made.
Confirm that table sorting is unaffected by going to Administration ->
Staged MARC management, clicking a staged MARC file, and viewing the
table of items in that batch.
There should be no more remaining instances of this path in the
templates:
[% themelang %]/lib/jquery/plugins/jquery.dataTables.columnFilter.js
Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
NOTE: I believe the sort order of the Order Line column is
strange, but unrelated to this patch. The search area
functions (filtering, paging, page size, etc.) worked
fine.
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Test plan:
1/ Go to the receipt page of a bookseller
2/ Choose an invoice for which you have already partially
received some orders (or create an order an receive it
partially)
3/ In the received orders table, under column Order line,
you should now see the parent order line number in
parenthesis
Signed-off-by: remy juliette <juliette.levast@iepg.fr>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes all tests and QA script.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
This followup answer QA remarks :
- neworderempty.pl updated so that the 2 new variables are passed
to the template
- modordernotes.tt fixed to make the translation easier
- in CSV headers, to make clear that no change are made for the moment,
rename "note" to "internal note"
Additionnaly, "Publisher code" was wrong in the csv headers. I changed
it to "Publisher" (the field in database is publishercode, but the
content is a real publisher name, not a code)
I did not change "Note:" in modordernotes.tt, because it is just under
a h1 tag which specifies the type of note the librarian is editing.
Test plan :
- edit an existing order, and try to change/add/delete the vendor note,
and the internal note. Check the changes are properly saved
- export a basket and a basketgroup in CSV. Check the columns headers
are "Publisher" and "Vendor note"
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Fixed some tabs. Passes QA script and tests.
Tested:
- add notes when creating an order
- edit notes modifying an order line
- edit notes using the links on the basket summary
- check basket CSV export
- close basket
- check basket group CSV export
- edit notes on order receive page using the links
- edit notes on receive
Note: Translatability of templates could be improved by a follow-up.
It's better not to divide up sentences with if/else structures.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Currently, there is a single note field in each order. It would be
useful to have 2 notes fields:
- one for the staff (ex: "catalog this book as soon as possible")
- one for the vendor (ex: "urgent", "only the 2d volume"...), which
could later be printed in basketgroup pdf for example
This patch adds a new note made for vendor in each order. The existing
note is renamed "internal note".
The behavior of the 2 notes are the same
Changes in database structure:
- new column aqorders.order_vendornote
- column aqorders.notes renamed aqorders.order_internalnote
To test :
[1] Make a complete acquisiton process (creating the order > looking at
the basket > looking the order > receiving); and try to use the 2
notes (internal note / vendor note)
[2] Check the changes made on one page (eg detail of the order) are
saved and visible on an other page (eg receipt page)
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Testing notes on last patch.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Bug 11314 overrides the iDisplayLength and aLengthMenu values and should
be kept.
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
The default entry is 20 and can be apply to all tables.
Bug 11555 apply the menu entries to all tables, redefining it is
uesless and can be removed.
Test plan:
Test pages impacted by this patch and verify there is no regression on
the tables.
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Bug 9130 removed the ability to limit the tables on parcel.pl to 5 rows,
as well as the "sticky" feature. It is trivial to restore this
functionality. These datatables are already using bStateSave, so are
they are "sticky" already. The only part left is to enable the
ability to limit the table to 5 rows at a time.
Test Plan:
1) Apply this patch
2) Browse to parcel.pl
3) Note the default rows count is still 10
4) Note the option to limit the row count to 5
Signed-off-by: David Cook <dcook@prosentient.com.au>
Works as described.
Double-checked that the "sticky" feature is still in place thanks
to bStateSave.
I didn't notice a difference due to iDisplayLength being added, but
the extra option of "5" to the list is there.
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
On receiving orders, the librarian has to filter again the pending
orders list.
This patch stores the filters in a cookie in order to apply them when
the librarian finish a receive and come back on the pending orders list.
Test plan:
1/ choose a vendor with several baskets and orders.
2/ start to receive an item.
3/ on the pending orders page, add some relevant filters.
4/ receive an item.
5/ you are back on the pending orders page and filters are directly
applied.
Signed-off-by: Nicolas Bravais <nicolas.bravais@gmail.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes all tests and QA script.
Tested with receiving and cancelling the receive process the
filters are kept.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
This patch fixes issues with the column sorting on the
pending orders and already received tables introduced by
the main patch.
To test:
[1] Verify that the sort widgets on the appropriate columns
of each table work correctly.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Test plan:
Go on acqui/parcel.pl?invoiceid=XX page and verify the basket group name
is displayed into the 2nd column of the pending orders and already
received tables.
Signed-off-by: Ed Veal <ed.veal@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Changed basketgroup to basket group to match spelling on other
pages.
Works as described, passes tests and QA script.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Fix instances of the following warning appearing in the Apache log:
... parcel.pl: Argument "" isn't numeric in addition (+)
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Use "Tax exc." rather than "GST exc." to be consistent with other parts
of the table footer. Also remove the new style introduced in the previous
patch; defining non-semantic CSS classes like font-weight-normal is not
desirable.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
The first patch does a left join on aqorders_items which returns too
much order lines.
This patch follows the Galen's suggestion: it removes the join and calls
the GetItemnumbersFromOrder routine for retrieving itemnumbers.
Bonus: the "parcelitems" variable is badly named and obfuscates the code.
I changed it for "orders".
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Adds a column to indicate holds on received items, as well as adding
a new column for fund and showing the subtotals per fund above
the total subtotal.
To test:
[1] Create an order basket containing at least one title and
ensure that an item is created for that title. Close the
basket.
[2] Place a hold on the title.
[3] Receive the order. After receiving it, but before finishing
the invoice, the table of already received orders should now
have columns for the order budget and number of holds on the
title as well as lines with the subtotal per fund.
Signed-off-by: Pierre Angot <tredok.pierre@gmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Since the parcel.pl script get *all* pending orders, there is no reason
not to display all of them.
Like that, DataTable manages pagination and sorting correctly (on all
data).
This patch adds filters on the table header (using columnFilter).
Test plan:
Try filters on the left of the screen and filters on the table header.
Signed-off-by: Pierre Angot <tredok.pierre@gmail.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes all tests and QA script.
Searching and sorting the table works correctly.
Larger result sets are a performance problem on this page,
I have filed bug 10595 for that.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
This patch adds a new filter "basket group name" for pending orders
searches.
Test plan:
Try different filters and check that results are consistent.
Try to filter by basket group name.
Signed-off-by: Pierre Angot <tredok.pierre@gmail.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Applied on top of patches for bug 10723.
Passes all tests and QA script.
Note: It's a bit irritating that the basket name is not shown
in the list of pending orders, so there is no way to check the
results are correct without checking from another page.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
On basket.pl and parcel.pl there is a 'Transfer' link which allow you to
transfer order lines from a basket to another.
The link leads to a new page which allow you to search for a bookseller,
then display this bookseller's baskets. Then you can pick a basket and
the transfer will be done.
Signed-off-by: Marc Veron <veron@veron.ch>
Signed-off-by: Mathieu Saby <mathieu.saby@univ-rennes2.fr>
Signed-off-by: sonia <koha@univ-lyon3.fr>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
This patch adds an upgraded copy of the DataTables plugin to the jQuery
plugin directory outside the theme directories. Copies of the old
DataTables plugin scripts have been left in the old location while
templates are incrementally updated.
To test, visit each affected page in Acquisitions and confirm that table
sorting still words correctly:
- Acquisitions home
- Acquisitions -> Late orders
- Acquisitions -> Order search
- Acquisitions -> Ordered (from table of available funds)
- Acquisitions -> Spent (from table of available funds)
- Acquisitions -> Vendor search
- Acquisitions -> Vendor detail
- Acquisitions -> Vendor -> Basket
- Acquisitions -> Vendor -> Basket -> Add order from existing record
-> Add order from suggestion
-> Add order from subscription
-> Add order from external source
-> Add order from staged file
- Acquisitions -> Vendor -> Basket groups
- Acquisitions -> Vendor -> Uncertain prices
- Acquisitions -> Vendor -> Invoices
- Acquisitions -> Vendor -> Invoices -> Invoice
- Acquisitions -> Vendor -> Receive shipments
- Acquisitions -> Vendor -> Receive shipments -> Receipt summary (click
invoice number)
Also test one or more pages which have not been modified to confirm that
old DataTables assets are still in place and working (ex: Circulation,
Quotes editor, Saved reports, etc.)
Signed-off-by: Srdjan <srdjan@catalyst.net.nz>
Edit: Rebased on current master
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
All tests und QA script pass. I found some smaller bugs, that
also appeared on master without the patch applied. For some datatables
I struggled with a result set of over 5.000 lines - there is room for
improvement where a lot of data can be shown.
testing notes:
- Acquisitions home
- Amounts don't sort correctly before and after the patch, see bug 10792.
- Acquisitions -> Late orders
- OK.
- Acquisitions -> Order search
- OK.
- Acquisitions -> Ordered (from table of available funds)
- OK.
- Acquisitions -> Spent (from table of available funds)
- OK.
- Acquisitions -> Vendor detail
- OK.
- Acquisitions -> Vendor -> Basket
- OK.
- Acquisitions -> Vendor -> Basket -> Add order from existing record
- Datatables seems not to be in use here?
-> Add order from suggestion
- OK.
-> Add order from subscription
- OK.
-> Add order from external source
- OK.
-> Add order from staged file
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
The include of the yui json file generates a js error: YAHOO is not
defined.
This file seems not to be in use (patches for bug 8382 remove the use).
To test:
- go on acqui/parcel.pl?invoiceid=XXX
- verify the error occurs (with firebug)
- apply this patch
- refresh the page
- verify this error does not appear anymore
- Verify there is no regression on this page
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Patch fixes the javascript error pointed out by Firebug.
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
This patch fixes some things on the order receiving/parcel page.
1/ Removes dead code
2/ Displays an error message if invoiceid is unset or does not refer to an
invoice
3/ Fixes a bug in the note ("change note" and "add note" links)
Test plan:
1/ Try to call the invoice page with an existing invoiceid and check
that order results are consistent.
2/ Try without invoiceid or a bad invoiceid and check that an error
message is displayed.
3/ Add and change notes.
Signed-off-by: Cedric Vita <cedric.vita@dracenie.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Works nicely for all tests done.
- parcel.pl with invalid invoicenumber gives a nice error message
- parcel.pl with a valid invoicenumber looks normal
- changing and editing order notes works well
Passes QA script.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Test plan:
Check that there is just one pagination on the pending orders page.
Signed-off-by: Mathieu Saby <mathieu.saby@univ-rennes2.fr>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Works and deletes the old pagination that was replaced by
datatables.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
I tested most scripts affected by this patch and visually verified
all changes. Functionality is unaffected.
Signed-off-by: Mason James <mtj@kohaaloha.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: mathieu saby <mathieu.saby@univ-rennes2.fr>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
1) Receive shipment for a previously created basket with
multiple order lines
2) Verify 'Delete order' links only have 2 parameters and
when you delete an order, you are not redirected to the
basket.
3) Verify the same is true for 'Delete order and catalog
record'.
4) Apply both patches from Bug 9236.
5) Redo tests and verify page redirects correctly now.
Links now also show the basket number as third parameter.
Also: make sure orders/items and records are deleted correctly.
Passes all tests and QA script.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Before this patch the "delete order" links were broken on the receiving
page (parcel.pl)
Signed-off-by: mathieu saby <mathieu.saby@univ-rennes2.fr>
Before applying the patch, when recieving a parcel,
if you delete an order line, Koha tries to open the
page of the basket linked to that order, but can
not find it. Koha displays "Vendor not found".
With the patch, Koha finds the right basket.
I Sign off this patch, to be applied with the other patch ("Redirect to the parcel page after deleting an item/order")
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
This patch sets the bStateSave parameter for the "Pending orders" and
"Already received" Datatables in Acquisitions, which uses a cookie to
save the "pagination information, display length, filtering and sorting".
It also sets the iCookieDuration parameter to 1000 days (the default
value is 2 hours otherwise).
It also adds an "all" option to the dro-down menu using the aLengthMenu
parameter.
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
When receiving orders, the old javascript would show the following above
the tables for pending orders and received orders:
"Only the first 5 items are displayed. Click here to show all 'X'
items."
With the implementation of the Jquery Datatables plugin, this text and
the 4 JS functions associated with it are now pointless (since users
should be using the datatable toolbar) and problematic.
The problem is that the Jquery toolbar says "Showing 1 to 10 of X",
while in fact it is actually only showing 5 items, because that other JS
takes place after the Jquery.
While not a crippling bug, it's certainly irritating and misleading.
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
In order to be valid XHTML ampersands must be encoded ("&").
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Pierre Angot <tredok.pierre@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Larry Baerveldt <larry@bywatersolutions.com>
Signed-off-by: Joy Nelson <joy@bywatersolutions.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
- "Finish receive" on parcel.pl now redirect to acqui/invoice.pl,
allowing the librarian to modify invoice informations (freight,
billing date, ...) and close invoice.
- The librarian can now close (or reopen) the invoice and modify invoice
informations in 1 operation (instead of 2)
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
- New pages:
- invoices.pl: allow to search in invoices on several criteria
- invoice.pl: permit to view and modify invoice details
- shipment date
- billing date
- shipment cost and budget used for shipment cost
Invoice informations are now stored in their own sql table and aqorders
have a link to it
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Disable the link for cancelling instead of displaying an error message
after the click. This is only valid if parent order line is received,
not if it's deleted.
When the user gets his mouse over the disabled link, he gets a message
telling him which order (ordernumber) blocks him so he knows immediately
which receipt to cancel.
Also improve error messages for non technical people
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
In acqui/parcel.pl, there is now the possibility to cancel a receipt.
In "Already received" table, just click on "Cancel receipt" and the
order line will go back to pending orders.
If it was a partial receipt, order line is merged to its 'parent' line.
Attached items are modified so that they become attached to the merged
order line.
If AcqCreateItem is 'receiving', attached items are deleted.
If an order line was first partially received, and then completed. You
must cancel the 'parent' order line before cancelling the 'child'.
Signed-off-by: Marc Veron <veron@veron.ch>
The patch behaves like expected, and the feature is really helpfull.
Just a tiny remark about the following message:
-------------
Cannot cancel receipt. Possible reasons :
You are trying to cancel the receipt of an order line whose parent order line is already received. Cancel this parent order line and retry.
-------------
Maybe it would be good
- to explain a little bit more why it happend and re-word the message for non technical people (not everybody understands 'parent' the same way)
- prevent the situation to happen (e.g. forbid order lines to be deleted if they are already received) - but that would be in the scope of an other bug, I think.
I think such things could be fixed in the future during the ongoing work for Acquisitions module. Signing off.
The tables on parcel.pl default to show only the first
five items in the table, and librarians must click the
a link to display all the items. Every time the page is
reloaded, the table gets re-collapsed, and the librarian
must again click the link. Parcel.pl should remember
which way the table is set and keep it that way until
it is changed again.
This is accomplished by adding two cookies for this page,
one for each table. This cookie stores the state of the
table ( collapsed, or uncollapsed ) and sets each table
to the correct state on each page load.
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Works as expected.
But a "funny" behaviour, if I have only 1 item (or < 6):
All 1 items are displayed. Click here to show only the first 5 items.
and
Only the first 5 items are displayed. Click here to show all 1 items.