Bug 7478: fix template translation problem in catalogue_out.tt

The items with no checkouts template has a sections that uses DEFAULT to
set some strings: [% DEFAULT loopro.itemcallnumber="No Call Number" %]
This appears to be untranslatable with our current translation tool.

This patch changes the template so that it uses a simple [% IF %] block
to display the default text if no value is set. Added is use of the
Branches template plugin to show library name instead of code.

This patch also fixes an error introduced in my fix for Bug 8124 causing
the page to default to CSV download instead of output to screen.

To test, apply the patch and confirm that the default text appears
onscreen in reports which include results that have a missing barcode,
title, or call number. Results should be displayed on screen correctly.

Run "perl translate update" for any language and confirm that the newly
generated po file includes "No call number," "No barcode," and "NO
TITLE" for catalogue_out.tt

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Works nicely, thx Owen!

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit b8e1e7e217363a165275dca46e7d123633a64920)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 10027: include fine details when printing a fine

Previously printing a fine invoice would result in a page with both the
single item charge and the total outstanding amount. Right now only the
total outstanding is printed.

Test Plan:
1) Print a fine, note the fine doesn't show, only the total
2) Apply patch
3) Print a fine, not the fine does show

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 2fa06f48d957f7ea39286a52513a580e2ed5b13e)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 10027: (follow-up) tidy members/printinvoice.pl

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 70f23f2a69a66b76d411f81787e8e63e0a87a2a1)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 10027: (follow-up) improve display of fine details on printed invoice

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

Checked invoice is correctly printed for
- partially paid fines
- paid fines
- unpaid fines

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit e30612bb3f0465363842ff4269245095d32dee3b)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 10619 - fix errors in sco.css for the CCSR OPAC templates

sco.css is not missing from CCSR, but some image paths in the CSS are
incorrect, resulting in some missing images. This patch corrects those
broken paths.

This patch also hides the Cart/Lists/login region of the template which
should not be visible in self checkout.

To test, enable self-checkout and switch to the CCSR theme. Load a
patron for self-checkout and confirm that images associated with buttons
appear correctly: By the help link in the upper-right, on the 'Finish'
button, etc. Try checking out an item which is already checked out to
that patron to see more examples.

Signed-off-by: Srdjan <srdjan@catalyst.net.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
CSS changes only, works nicely.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 794f0f28c931ae885232c23d02f94bfed66158f5)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 9943: activate "Pay selected" button only when at least one fine is selected

If you select no fines but click the "pay selected" button the resulting
screen offers to let you pay against all fines, which is confusing. To
simplify things this patch disables the "pay selected" button if no
lines are selected.

To test, apply the patch and find a patron with outstanding fines. From
the "pay fines" page (members/pay.pl) try selecting and deselecting
checkboxes and using the "select all" and "clear all" links. When no
item is selected the "Pay selected" button should become disabled.
Confirm that the form submits correctly when one or more fines is
selected.

Signed-off-by: Melia Meggs <melia@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes all tests and QA script.
Works nicely in my tests.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 6434f9264ac0415e1e52904dc953a00ee0806491)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 9531: Make SIP2 message terminator configurable via SIPconfig.xml

Add a terminator option to SIPConfig.xml, choices for 'terminator' are
'CR' or 'CRLF'.  The default continues to be 'CRLF' if 'terminator' is
undefined.

Test Plan:
1) Apply patch
2) Start SIP server
3) Run C4/SIP/t/04patron_status.t
4) Stop SIP server
5) Add terminator="CR" for account login 'term1'
6) Run 04patron_status.t again, you should see no change

Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
Signed-off-by: Adrien Saurat <adrien.saurat@biblibre.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 90e2aafeb538f2d5e52fd1d32fce528f72076df8)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 10331 - Little errors in unimarc_field_4XX.pl (punctuation)

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Comment: Work as described, no koha-qa errors

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Copying the test plan from the bug report:

A.
1) have $a active in one of the linking fields (like 461, 463, etc.).
2) have a biblio record with the field 700 $a, $b, $f filled up
3) go to cataloguing -> field 4XX of your choice, use the plugin to
  fetch data from biblio rec. mentioned in 2)
4) see the punctuation in $a -- it will be wrong (no closing bracket)

B.
1) have $a active in one of the linking fields (like 461, 463, etc.).
2) have a biblio record with the field 700 $a, $b, $c, $f filled up
3) go to cataloguing -> field 4XX of your choice, use the plugin to
   fetch data from biblio rec. mentioned in 2)
4) see the punctuation in $a -- it will be wrong (dash instead of
   semicolon between original $c and $f, no closing bracket)

C.
1) have $a active in one of the linking fields (like 461, 463, etc.).
2) have a biblio record with the field 702 $a, $b, $c filled up
3) go to cataloguing -> field 4XX of your choice, use the plugin to
   fetch data from biblio rec. mentioned in 2)
4) see the punctuation in $a -- it will be wrong (unnecessary semicolon
   after original $c, n.b. lacking space).

D.
1) have $a active in one of the linking fields (like 461, 463, etc.).
2) have a biblio record with the field 712 $a, $b filled up
3) go to cataloguing -> field 4XX of your choice, use the plugin to
   fetch data from biblio rec. mentioned in b)
4) see the punctuation in $a -- it will be wrong (unnecessary opening
   bracket at the end).

Test plan, all tests and QA script pass.
Thx Bernardo for his testing and explanations!

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 86c08e63a25afa86c9051f070d819ddac675425d)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 10564 - use OPACURLOpenInNewWindow in UNIMARCslim2OPACResults.xsl

When using UNIMARC XSLT for OPAC detail page, if record has an 856$u,
its content is displayed as a link. The syspref OPACURLOpenInNewWindow
adds the option of opening in a new window (attribute target="_blank").

856$u is also used in UNIMARC results XSLT but the use of
OPACURLOpenInNewWindow syspref is missing. It exists for MARC21.

This patch adds the use of OPACURLOpenInNewWindow in UNIMARCslim2OPACResults.xsl.

Test plan :
- In a UNIMARC catalog, enable XSLT for OPAC results page
- Create a record with a link in 856$u and set second indicator to 0
- Set OPACURLOpenInNewWindow syspref on
- At OPAC, perform a search that contains the record
=> You should see the link : "Click here to access online"
- click on it
=> You shoud get to a new window (or tab depending on your browser configuration)
- Set OPACURLOpenInNewWindow syspref off
- re-perform the search
- click on the link
=> You shoud stay in same window

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>

Comment: Work as described, no koha-qa errors
Tested following plan after applying patch

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
XSLT change only, works as described.
To test: Catalog 856$u and $a, 2nd indicator = 0.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit bc240a908d0fbc50b099df04e61da9fbb55fab52)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 10817: return hold items info in SIP Patron Info Response

When requested by the summary flags the sipserver
should return in the patron info response barcodes of
the relevant titles.

For available holds this is the barcode of the captured items.

For unavailable holds ( i.e. current unsatisfied holds ),
we need to send a barcode so that the unit can use this to
request the title info. The barcode could be any one
belonging to the title.

This patch also corrects the erroneous return of empty items
in the patron information response. If the unit supplies a
range 1 - 100 unless the title has a hundred or more copies the
unit expects all copies. The server was erroneously stuffing
the returned arrays with null copies so that all summary requests
returned 100 copies (mainly without barcodes)

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>

Testing notes:
Using the test script provided on the bug report, but changed it
to match sip user and patron existing in my database.

Before applying the patch the SIP responses show the behaviour
pointed out above regarding the 100 items. After applying the
patch and restarting the SIP server responses are much more clean
not returning empty IDs.

64 Patron information response
AS = hold items
  hold items count is correct.
  AS contains barcodes of waiting holds.
  Before patch, all AS were empty.
AT = overdue items
  overdue items count is correct.
  AT contains barcodes of overdue items.
AU = charged items
  charged items count is correct.
  AU contains barcodes of charged items.
AV = fine items
  Judging from behaviour seen and comment in
  Patrons.pm currently not implemented.
BU = recall items
  Recalls are not implemented in Koha yet.
CD = unavailable hold items
  unavailable items count is correct.
  CD contains barcode for item level holds and is empty
  for title level holds where  no item can be determined.
  Before patch, all CD were empty.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 63820d3973dae7514556172665a46c0584aaefc8)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 10718: fix items with no checkouts report

Bug 8124 has commented the option to download results items with no
checkouts report into a file.  But the perl code of this page uses
the export into a file has default behavior since the input "output"
is no more present.  The consequence is that there are never results
in page.

This patch removes the code concerning file output from template and perl.
Such a feature exists in guided reports.

Test plan :
Play with cgi-bin/koha/reports/catalogue_out.pl form and see if you get results

Bug 10718 - select user branch as default

In cgi-bin/koha/reports/catalogue_out.pl report, select in library filter the user logged-in.

Test plan :
- Log into intranet with a normal user
- Got to "Items with no checkouts" reports
=> Your branch is selected
- Run report
=> You see "Filtered on : Branch = <your branch>"
- Come back to report
- Select "Any library"
- Run report
=> You do not see "Filtered on : Branch"

Bug 10718 - items with no checkouts report permission is execute_reports

This report only executes SQL to change reports/catalogue_out.pl permissions from all reports subpermissions to reports/execute_reports.

Test plan :
Test you can access and run this report with only execute_reports subpermission into reports permission.

Bug 10718 - redefine limit input

In reports/catalogue_out.pl form, the limit input is by defaut none.
So by default the report queries all the catalogue.
This may take a very long time (fall into timeout) and since now the results are displayed in page, the page may be huge.

This patch modifies limit input to removes the "none" option.
Also reduces the number of options (same options as guided reports results per page).

Test plan:
- Go to reports/catalogue_out.pl
=> first value "10" is selected
- Launch report
=> You see "Filtered on: limit = 10"

Bug 10718 - perltidy on reports/catalogue_out.pl

Signed-off-by: Liz Rea <liz@catalyst.net.nz>
Tested all of these things, all ok - squashed patch for neatness.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes all tests and QA script.
Fixed a tab in one of the comments.
Improves script, but more work needed.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit ec09fe092e302dfbaf8ddf2a26ab361be9ea915e)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 10810 - Fix synopsis for -html option to overdue_notices.pl

The synopsis for the -html option used to be:
  -html <filename> Output html to file
but the argument to this option should actually be a directory,
not a filename. This patch fixes the synopsis.

To test:
- Run perldoc misc/cronjobs/overdue_notices.pl
- Check that the synopsis is as shown above
- Apply this patch
- Run perldoc misc/cronjobs/overdue_notices.pl
- Check that
  - the synopsis asks for a directory, not a filename
  - that the description of the -html option further down in the
    perldoc now mentions the filename that the HTML file will be
    created with.

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Works as described. No koha-qa errors.

If feeded with a filename -html option fails with many messages like
print() on closed filehandle $html_fh at misc/cronjobs/overdue_notices.pl line 384.
Perhaps it could be improved, but that was the old behavior.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Improves documentation, no negative side effects found.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit b54e33c1f62e4aa2c7e46a7fafa445f33f570326)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 9618: Add support for intranetuserjs to labels/spinelabel-print.pl

The template for printing a single spine label is a stripped-down
version of a standard Koha template, but it should include
intranetuserjs and IntranetUserCSS so that libraries can make local
customizations.

This patch updates the page's DOCTYPE to HTML5 and adds the missing
markup for including those preferences. Also added is jQuery, since
there's a good chance local customizations are using jQuery.

To test, make sure there is something in your intranetuserjs and
IntranetUserCSS system preferences. Visit
/cgi-bin/koha/labels/spinelabel-home.pl and submit a barcode. View
source on the spine label output page and confirm that your custom js
and css were included correctly.

Signed-off-by: Campbell Reid-Tait <campbellreidtait@gmail.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Template only change, works nicely.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit cb59e37e56c255219298450f7a289cf7c3fe819b)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 9618: (follow-up) include link to jQuery only if needed

The jQuery lib is useful only if js code is filled into the
intranetuserjs pref.

Signed-off-by: Campbell Reid-Tait <campbellreidtait@gmail.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>

To test:
- Use Quick spine label creator
- Make sure you have Javascript in your intranetuserjs system
  preference
- Validate Javascript effect on screen or check source code
  to make sure your code is visible there.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 94868f61c4c395f8393d34862a99609247f6dd73)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 10570: Show nonpublic note on check expiration page

The check expiration page in serials only showed the OPAC note,
but it makes sense to also show the nonpublic note here.

This patch adds it.

To test:
- Add a subscription, make sure to enter different notes in
  nonpublic note and OPAC note to check for display later on.
- Go to the check expiration page and search for your subscription.
- Check both notes show up correctly.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 29498bf696d86a761708ec59f0a75be6353feecf)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 8821: make receive shipment page hide inactive funds like new order form

This patch adapts the fund-handling code from neworderempty.pl
in order to limit the display of funds by default to active ones,
with the option to check a box to display all funds.

This patch also adds "(inactive)" to the display of funds on this and
the neworderempty.tt template because it seemed like that was useful
information.

To test, make sure you have both active and inactive funds.
Start the process of receiving a shipment. The "fund" option
in the receive shipment form should show only active funds.
Checking the "show all" checkbox should allow you to choose
from both active and inactive funds.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 04aa35077730bdd4bc8d3c01c461518ecb0d9e60)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 10841: Make edit/delete item context links in cataloguing translatable

HTML created with Javascript is not translatable the way HTML is
normally translated. _() syntax has to be used to have strings
translatable.

To test:
- Edit items for a record with multiple items
- Click somewhere in the items table
- Verify the links for editing and deleting items show up and work correctly
- Apply patch
- Verify the links still show the same behaviour

Bonus:
- Run 'perl translate update <languagecode>' in misc/translator
- Verify that Edit item and Delete item show up in the po file, translate them
- Install updated po files running 'perl translate install <languagecode>'
- Verify links show up translated and work correctly

Patch also fixes capitalization for a couple of error messages - only change
there is: Deleted > deleted.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
(cherry picked from commit 7c82fe1a670892b07f426f356c67bc3cd60a37f3)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 9372: replace carriage return with <br /> in printed HTML files for overdues

For PDF generation, HTML files need explicit <br /> HTML tags. With
this patch, carriage return are replaced by <br /> when letters are
written into HTML files.

Test plan :
- Ensure you've got at least one reader with overdue triggering notice
- Ensure that your notice template got HTML checked
- Run misc/cronjobs/overdue_notices.pl -v -n -html <dirname>
  and misc/cronjobs/printoverdues.sh <dirname>

Without patch, the content of the letter is all on one line in PDF file
With the patch, PDF file is correctly formated

- remove your reader email
- Run misc/cronjobs/overdue_notices.pl -v -html <dirname>
  and misc/cronjobs/printoverdues.sh <dirname>

Without patch, the content of PDF file is all on one line
with the patch, PDF file is correctly formated.

- restore reader email
- run misc/cronjobs/overdue_notice.pl -v -html <dirname>

Verify that the a message has been generated in message_queue table
With or without patch, the message is the same

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 6dbfe1512dc39e82084f9aa8b8ecce38fa24c5c5)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 9372: (follow-up) tidy whitespace in new lines

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit fc84903dfb73212029466764005bb53e5089acc8)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 10667: Add unit tests for ILSDI::Services::AuthenticatePatron

This patch adds unit tests for Authenticate patron.

To test:
- Run perl t/db_dependent/ILSDI_Services.t
- Verify all tests pass

Note: there are some tests marked as TODO.

Rewriting AuthenticatePatron to make cardnumber and userid
work for authenticating a patron will be implemented in the
next patch. Tests related to this are currently showing as
'not ok', but are still passing.

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
No koha-qa errors
With both patches applied, all test pass.
Signed-off-by: Mason James <mtj@kohaaloha.com>

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 995f4b6ecb504e1648816b0841e90efb814f25c7)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>