Bug 13099 - "Item hasn't been transferred yet" shows pickup branch rather than holding branch

The "Item hasn't been transferred yet" message on circulation.pl and
moremember.pl in the holds table shows the pickup branch rather than
holding branch.

Test Plan:
1) Place an item on hold for a patron
2) Check the item in to set the hold to waiting
3) Place an item level hold for another patron,
   make the pickup location be a different library
4) Load the holds tab on the patron details page for the second patron
5) Note it says "Item hasn't been transferred yet from <Pickup Library>"
6) Apply this patch
7) Repeat step 4
8) Note the library listed is now the holding library

Signed-off-by: Paola Rossi <paola.rossi@cineca.it>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Works as described and passes tests and QA script.

Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 13308: The output format should be 'iso2709' instead of 'marc'

In the template of the export tools, the value 'marc' is set for
the 'format' variable.
It should be 'iso2709'.

There was a mess in the tools/export.pl script.
2 variables did the same thing: $format and $output_format

This patch fixes that replacing $format with $output_format

Test plan:
Try to export biblio in iso2709 and csv using the export tools and from
the checkout list.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>

Before applying the patch, attemping an MARC export from tools/export.pl
resulted in an error. After the patch the export works correctly.
Exports from the checkouts page also work correctly.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes tests and QA script. Also tested authority export.

Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 12750: koha-create should be able to configure the Z39.50/SRU server

This patch adds two parameters to the koha-create command:

 --enable-sru: makes the koha-create script enabled the SRU server for
               the created instance

 --sru-port:   lets the user specify a desired port for the SRU server
               to listen at. It defaults to 7090

To test:
- Apply the patch on top of master
- Build your own package and install / can be tested just using the koha-create
  command on a 3.16+ packages install
- Create an instance as usual (i.e. without --enable-sru and --sru-port)
=> SUCCESS: The instance is created, the publicserver sections are
            both commented out. The first publicserver section has 7090 set as the
            listening port.
- Create an instance as usual, passing --sru-port 456
=> SUCCESS: The instance is created, the port is set but the publicserver sections
            are commented out
- Create an instance with --enable-sru (with and without --sru-port)
=> SUCCESS: Verify the instance is created as expected, with the SRU server enabled
            (port 7090 if no --sru-port passed, the one we chose otherwise).
- Verify that the docs also talk about this new parameters addition.
- Sign off :-D

Regards
To+

Sponsored-by: Universidad Nacional de Cordoba
Signed-off-by: Jesse Maseto <jesse@bywatersolutions.com>

Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
Signed-off-by: Robin Sheat <robin@catalyst.net.nz>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 13151 - staff marc preview not wrapping

The MARC preview available on the staff client detail page doesn't wrap
long lines of text because it uses a huge block of whitespace-formatted
text in a <pre> tag. The OPAC doesn't have this problem because the MARC
preview is formated in a table.

This patch copies the OPAC's "plainMARC.xsl" file for use in the staff
client. The preview modal has been converted to use Bootstrap following
the method used in Bug 12755

To test, apply the patch and clear your browser cache. View the
detail page for a bibliographic record in the staff client. Click the
link to show the MARC preview. Confirm that the modal looks correct,
works correctly, and adapts gracefully to different browser widths.

Confirm that the MARC preview and Card links still work from Z39.50
searches.

Note: This patch assumes that UNIMARC records display correctly using
xslt/plainMARC.xsl. Please let me know if that is wrong.

Signed-off-by: Frederic Demians <f.demians@tamil.fr>

I confirm it works: nice modal dialog box; display aligned on opac display;
works also with Unimarc biblios.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 13037 - Staff client cart should exclude articles when sorting by title

This patch modifies the configuration of the staff client cart table
sorting to enable title sorting to ignore articles. Other column sorting
configuration settings are revised to use table header classes instead
of indexes.

To test, add multiple titles to the staff client cart, choosing several
titles which begin with articles ("a," "an," or "the" in English). View
the cart and test sorting of all columns. Sorting by title should sort
correctly while ignoring articles. Other columns should sort correctly
too.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes tests and QA script, works as described.

Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 12981 - Patron attribute type limit by patron category not working on patron entry form

To reproduce this bug:

- Create a patron attribute type and limit it by patron category
- Create a new patron with that category
- Observe that there is no entry field for the patron attribute type you
  created for that patron category. Inspecting the source should show
  that the entry field has been hidden.

The patron entry form tries to hide patron attribute type input fields
based on the currently selected patron category. It does this based on
the value of $("categorycode"). However, instead of pulling the data
from the categorycode input in the body of the entry form, it pulls it
from the patron search box at the top of the page. The value of that
input is always empty because no category is preselected.

This patch corrects the problem by changing the ID of the categorycode
<select> in the body of the entry form and making corresponding changes
to the JavaScript which depends on it.

To test, apply the patch and load the patron entry form for a patron
category to which a patron attribute type has been limited. That patron
attribute entry field should appear correctly.

Choose a different patron category from the "Category" dropdown. Confirm
that the patron attribute entry field has been hidden.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 12909 - item withdrawn is missing in inventory results

In inventory results, CSV or screen, the item withdrawn information is missing.
This information can be usefull to understand why an item was not scanned.

Test plan :
- Check you have in default framework an item subfield mapped with items.withdrawn
- Create a biblio with default framework
- Create an item with barcode='000AAA1', callnumber='ZZZAAA1' and withdrawn=0
- Create an item with barcode='000AAA2', callnumber='ZZZAAA2' and withdrawn=1
- Go to inventory tool : /cgi-bin/koha/tools/inventory.pl
- Enter item callnumber between 'ZZZ' and 'ZZZZ'
- Submit
=> You see a column 'Withdrawn' with withdrawn value
- Go to inventory tool : /cgi-bin/koha/tools/inventory.pl
- Enter item callnumber between 'ZZZ' and 'ZZZZ'
- Check 'Export to CSV file'
- Submit
- Open exported file
=> You see a column 'Withdrawn' with withdrawn value

Signed-off-by: Nick Clemens <nick@quecheelibrary.org>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 13050: Follow-up for bug 12371

This patch simplifies the SQL query in Letters.pm for table
borrower_modifications.
It also addresses the only case this query is used in opac-memberentry.
An unused variable in Letters.pm is removed.

Test plan:
Enable selfregistration on opac.
Set verification by email to required in prefs too.
Self-register two new users.
Check the email notices generated.
Verify the new users with the tokens in their notice.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>

Much cleaner SQL

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Cleaner and works as described, no regressions found.
Passes tests and QA script.

Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 12840: The budgeted cost and the total are automatically calculated

Both of these 2 values should not be modified by the user.
Since these values depend on the discount and the quantity.

Test plan:
Verify you cannot modify the budgeted cost and the total price on
creating/modifying an order.

Signed-off-by: Paola Rossi <paola.rossi@cineca.it>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 11515 - Encoding problem with OpacBrowseResults

When OpacBrowseResults syspref is on, the detail page contains a results browser.
When search terms contains non-ASCII character, the search query is not well encoded in this browser.

This patch adds the URI-coding to search terms into session to avoid any encoding problem with diacritics and URI specific characters like ?,& ...
So that TT parameter 'busc' is already URI encoded and can be used to recreate seach URL.

Test plan :
- Set OpacBrowseResults on
- At OPAC, perform a search with a diacritique. For example 'déjà'
- Go to detail page of a result
=> You see browser under "Browser results"
- Click on "Back to results"
=> You get same results and same search term with correct encoding

Signed-off-by: Broust <jean-manuel.broust@univ-lyon2.fr>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug still present on master. I note that latin characters are taken by ISO-8859-1 encoding
(Perl's default) and that's why real UTF8 ones don't break (Perl notices they are UTF-8).
Bug 12893 - 'Clear date' links on start and expiration hold date in staff not working

I introduced this bug with my patch for Bug 8181. In changing the way
the date picker widgets worked I changed the ID the "clear date"
javascript was looking for, so it stopped working.

This patch corrects it and improves the JavaScript by moving it out of
the HTML markup.

This patch also makes some minor HTML validity corrections: escaping
ampersands and removing a "size" attribute from a hidden form field.

To test, you should have the AllowHoldDateInFuture system preference
enabled. Place a hold in the staff client for a patron and confirm that
you can choose a "hold starts on" date and a "hold expires on" date and
that the respective "clear date" links work correctly for each one.

Signed-off-by: Nick Clemens <nick@quecheelibrary.org>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 12943 - Add patron branchcode to patron search results for holds

For some libraries, the current information specified in the patron
results when search for a patron to place hold is insufficient. These
libraries would like the branchcode to be added to the results to help
identify the correct patron.

Test Plan:
1) Apply this patch
2) Browse to the holds for a record
3) Search for patrons from the record holds screen
4) Note the patron results now have the branchcode after the patron type

Signed-off-by: Nick Clemens <nick@quecheelibrary.org>

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 12775: Suggestions should be ordered by anyone

Currently only the suggestion manager can order from accepted
suggestion.

This patch set to default the ability to show all suggestions when
ordering from a suggestion.
2 links "show only mine" and "show all" permits to filter/show all
permissions.

Test plan:
Create an order from a suggestion and verify you are able to see all
suggestions by default.
Verify the "show only mine" link works as expected.

Signed-off-by: Paola Rossi <paola.rossi@cineca.it>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 8337 System preferences for longoverdue cron

Patch to follow that adds 3 new system preferences to control the
parameters for the longoverdue script.
New prefs are DefaultLongOverdueChargeValue, DefaultLongOverdueLostValue
and DefaultLongOverdueDays.
These preferences are used when you call the longoverdue.pl script without
their parameters.

Sponsored-By: CCSR
Signed-off-by: Leila and Fridos help <koha.aixmarseille@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 8337 - Added prefs to sysprefs and updatedatabase

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 8337 - Follow-up to Comment 13

Fixed QA script issues.
Syspref names are now camelcased and sorted correctly in sysprefs.sql.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 8337: Small typo in usage statement for longoverdue.pl

The charge with the replacement price will only be made if the charge
parameter matches the lost value. The given example is faulty (as well
as some of the code, as it appears ;)

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 8337: (RM followup) make sysprefs match case of the .pref file

Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 8337: DBRev 3.17.00.058

Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 9177 - Duplicate patron: Prepopulated fields ar cleared when setting cursor

When adding a duplicated patron record some fields are prepopulated from
the original patron record. Focusing your cursor on these fields
automatically clears them. This works well if you assume that the user
only focuses on fields which should be changed. This works badly if you
consider that a user might want to tab between all fields. I think the
disadvantages outweigh the minor benefit of not having to delete the
contents of a field.

This patch removes the clearing action.

TEST PLAN
---------
1) Log in to staff client
2) Patrons
3) Find an existing patron
4) Click on the link in the Name column
5) Click on the Duplicate button
6) Click on fields with data in them.
   -- they will clear, which is more problematic than correcting
      the entry.
7) On the line
   "Home > Patrons > {patron name} > Duplicate Adult Patron"
   click the patron name to go back.
8) Click on the Duplicate button
9) Tab through the fields
   -- the fields should remain unchanged, but sadly they clear.
10) Apply the patch
11) On the line
   "Home > Patrons > {patron name} > Duplicate Adult Patron"
   click the patron name to go back.
12) Click on the Duplicate button
13) Navigate through the fields
    -- tabbing nor clicking should clear any fields.
14) Run koha qa tests

NOTE: Had to rebase again. Yes, bug 7878 interfered.
      However, it deals with comment #6, which Owen
      appropriately noted.

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Less surprises, improves accessibility by enabling to
tab through the form without losing data.

Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>