Bug 11313: supply empty value in mandatory comboboxs in MARC record editors

In biblio (or authority) record editing or creation, Bug 3727 added
an empty value to combobox for subfields using itemtype authorized values,
which is mandatory and does not have a default value. This to avoid
selecting arbitrarily the first value of the combobox.

This patch extends this behavior to normal authorized values like CCODE,
COUNTRY ...

Also, when record already exists and has a defined value for the subfield
this value will be selected in combobox so there is no need for an empty
value.

Test plan :
- In a biblio framework, set a subfield mandatory and using itemtypes
  authorised values
- Set a default value for this subfield
- Create a new record with the framework
=> You see the subfield with a combobox, the first empty value is selected
- Go to biblio framework and set a default value for the subfield
- Create a new record with the framework
=> You see the subfield with a combobox, the default value is selected
   and there is no empty value
- Select an other value and save the record
- Edit this record
=> You see the subfield with a combobox, the saved value is selected and
   there is no empty value

Perform same tests with a normal authorized values categorie (instead of
  itemtypes).
Perform same tests with with authority creation/edition
Perform same tests with a normal authorized values categorie and authority
  creation/edition

Signed-off-by: David Cook <dcook@prosentient.com.au>

Works as described.

Fridolyn: I had a lot of difficulty understanding your test plan,
especially since the second line should not be in the test plan
(since if there is a default value, no empty value should appear).

Perhaps it would be useful to use more whitespace to separate
steps and the things for which a tester should check.

Also, it might be useful to specify what testers should check for
before and after applying the patch, so that they're sure that the
behaviour has been corrected.

In any case, the patch works! Certainly a helpful addition.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes all tests and QA script.

1) Adding a bibliographic record
Subfield is mandatory, no default value:
- adding record: no value is preselected, empty value exists
- editing record: saved value is shown,  empty value exists
Subfield is mandatory, defined default value:
- adding record: default is preselected, no empty value
- editing record: saved value is shown, no empty value exists
Subfield is not mandatory, defined default value:
- adding record: default is preselected, empty value exists
- editing record: saved value is shown, emtpy value exists
Subfield is not mandatory, no default value:
- adding record: empty value is preselected
- editing record: saved value is shown, empty value exists

2) Adding an authority record
Repeating tests from above.
- Subfield is mandatory, no default value: OK
- Subfield is mandatory, defined default value: OK
- Subfield is not mandatory, defined default value: OK
- Subfield is not mandatory, no default value: OK

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Bug 11453: Update EN default UNIMARC bibliographic framework

This patch updates default EN UNIMARC bibliographic framework

I used the 2008 version of the UNIMARC bibliographic manual,
and added updates listed on official site.

There are new fields/subfields, those added are hidden by
default.

There are some description changes, and also a lot of
changes to repeatable and mandatory values.

To test:
a) Functional
1) Remove all bibliographic frameworks
2) Load new file unimarc_framework_DEFAULT.sql
3) Check that it load without errors

b) Correctness
1) Take a time and verify that all new
fields/subfileds are correct

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Huge patch, lots of additions and corrections.
To view the changes git diff --color-words HEAD^ is helpful.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Bug 11312: make facets selectable using an ID [staff]

Test plan:
launch a search and verify all facet headers have an id.

Signed-off-by: Francesca Moore <francescalamoore@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Bug 11312: make facets selectable using an ID [opac-prog]

Signed-off-by: Francesca Moore <francescalamoore@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Bug 11312: make facets selectable using an ID -- opac-bootstrap

To test:
1. search in OPAC directory
2. inspect the facets, note that they now have spans

Signed-off-by: David Cook <dcook@prosentient.com.au>

Works as described.

I'm not sure that this change is necessary, since the parent li elements
have IDs that can be hooked onto for CSS, but it doesn't change existing
behaviour and more control is always nice, so that's all right.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Bug 11312: make facets selectable using an ID [opac-bootstrap]

Signed-off-by: Francesca Moore <francescalamoore@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Bug 11141: retain pending order filters during receiving.

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>
Bug 11141: (follow-up) ensure filters are kept if the receive is cancelled

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Bug 11549: Add regression test

test plan:
prove t/db_dependent/Acquisition/TransferOrder.t should fail before the
patch and success after applying it.

Signed-off-by: Sonia BOUIS <sonia.bouis@univ-lyon3.fr>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Testing notes on last patch.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Bug 11549: make it possible to receive and cancel the receipt of a transferred order

To reproduce the issue:
- transfer an order from a basket to another. Note the previous
ordernumber (X) and the new one (Y).
- receive the order
- cancel the receipt
- verify the order has been deleted:
select count(*) from aqorders where ordernumber=Y;
select * from aqorders_transfers where ordernumber_from = X;
The value for ordernumber_to is null.

To test this patch:
- apply this patch
- transfer an order from a basket to another
- receive the order
- cancel the receipt
- verify the order still exist in the basket where the transfer has been
  done.

Signed-off-by: Sonia BOUIS <sonia.bouis@univ-lyon3.fr>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Bug 11549: (follow-up) interpolated variables into SQL statements should not be allowed

Signed-off-by: Sonia BOUIS <sonia.bouis@univ-lyon3.fr>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Bug 11549: [follow-up] Make NewOrder calculate new parent_ordernumber

If parent_ordernumber is not set in NewOrder parameter, it is
automatically set to ordernumber.

This patch only avoid code duplication.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
This solution is better!

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes all tests and QA script. Also all tests in
t/db_dependent/Acquisitions/.

Confirmed bug and that the patch fixes it.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Bug 11435: Show basketgroup information in Acquisition tab in catalogue page

This patch adds a new column for displaying information about
basketgroups in the Acquisition tab on catalogue page for a record.

It also adds the number of the basket in the basket column.

If the user does not have group_manage permission, he just see the basketgroup name
and number.

If he has the permission, he can click to display the basketgroup.

If the basket is not in a basketgroup, the column is empty.

To test:

- Use a record in an order, and put the basket in a basketgroup.
- Connect with a user WITHOUT group_manage permission (but with order_manage
  permission).
- Go to the record's detail in catalogue and click on Acquisition tab.
- Check you see the name and number of the basketgroup, with no link
  around it.
- Check the number of the basket is displayed within () after the name of
  the basket
- Click on the basket link, check the basket displayed is the right one.

- Connect with a user WITH group_manage permission.
- Go to the record's detail in catalogue and click on Acquisition tab.
- Check you see a link with the name and number of the basketgroup.
- Click on the link, check the basketgroup displayed is the right one.

- On the basketgroup page, move the basket out of the basketgroup, and
  save the basketgroup.

- Go back to the record's page on the catalogue and click on Acquisition
  tab.
- Check the basketgroup column is empty

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes all tests and QA script.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Bug 11429: Add a link to basketgroup in basket detail page

If a basket is in a closed basketgroup, the basketgroup name is
currently displayed.

This patch adds a link around the basketgroup name if the librarian
has permission to manage basketgroups.

Test:

A. With a librarian with rights for managing basketgroups
Display a closed basket that is grouped in a basketgroup
Check the name of the basketgroup is now a link
Click on the link and check you are seeing information about the
right basketgroup

B. With a librarian WITHOUT rights for managing basketgroups
Display a closed basket that is grouped in a basketgroup
Check the name of the basketgroup is not a link

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Bug 11429: Manage display for basketgroup without name

If a basketgroup does not have a name, the link was ' (closed)'
Now it is "Basket group no. ID (closed)".
This is used on the acqui/basketgroup.pl?booksellerid=XX page

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes all tests and QA script. Adds a link to the basket group page
on the basket summary page. The link only appears when the basket
group is closed.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Bug 11397: Remove the itemnumber list on the Acquisition detail tab

The list of links to items from the acquisitions tab can be
unwieldy if an order was used to purchase a lot of them, and the
availability of AcqItemSetSubfieldsWhenReceived and filters on the
holdings table provide alternative ways to do things like turn
off on-order statuses.

Test plan:
- verify this patch does not introduce regression on the enhancement
  introduced by bug 8230.
- verify the itemnumber list does not appears anymore.

Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
The acquisitions details tab on the holdings table in the staff
client no longer shows the links to the items. Tests pass.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes all tests and QA script.
In my tests the itemnumbers didn't show up on the acquisition
detail tab before the patch. So the patch visually only changed
the column header for me. All other acquisition related information
showed up ok.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Bug 10922: Display whether prices are include or don't include tax when creating a new order

This patch adds "(tax inc.)" or "(tax exc.)" after the "Vendor price",
"Replacement cost", "Budgeted cost" and "Actual cost" when entering
a new order.  This reflects the value of the list and invoice prices
include/don't include tax flags in the vendor record.

Actual cost must probably not be displayed here, but it will be the
subject of an other patch.

To test :
- create 2 vendors, with differents values for "List prices includes
  tax" and "Invoiced prices does includes tax" options
- create baskets for these 2 vendors
- create an order in each basket, and look at the "tax. inc." and
  "tax exc" mention. It should be consistent with the options for
  each vendor
- look at an order adding "&close=1" to the normal URL of the order.
  You must see the order without ability to edit it, but with the same
  mentions "tax inc." and "tax exc."

Signed-off-by: Isabelle Beroud <isabelle.beroud@univ-lyon3.fr>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes tests and QA script.
I have some doubts about the calculations done here, but the
display changes are correct.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Bug 10922: (follow-up) remove display of form parameter

This patch removes the display of the close parameter
in the "Accounting details" legend added by the previous patch --
this was obviously a bit of stray debug logic.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Bug 11415: Add syspref to toggle SCO receipt printing

This patch adds the SelfCheckReceiptPrompt to control
whether receipts are automatically printed when a patron
finishes a SCO session.  This is on by default during
new installations and upgrades.

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Bug 11415 (QA Followup) fix whitespace

This patch also fixes a JavaScript syntax error if the
SelfCheckReceiptPrompt system preference is off.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>