Bug 8770 - amount does not equal amountoutstanding on a fine with no payments or credits

If a lost item fee is owed and partially paid off when an item is
returned and a refund is processed, Koha tries to pay off existing
fees before adding any leftover balance as a credit on the account.

However, those fee payments aren't actually processed, due to a bug
where the accountnumber was quoted as a string literal, and thus the
for the fee payment would fail. This did not result in an DB error,
as the query was still valid SQL. Checking the return value of the
query would have revealed that the accountline had not been updated.

History:
This bug was introduced on April 23, 2007 with the commit
'reintroducing fixaccountforlostandreturned as requested by rosalie'.
Commit id 111d590e9cdaf801256822e23f170bfc2365338f

On July 30, 2009 the error was flagged with a FIXME and remained
in that state until now.
Commit id 51e8fc2cb6a0cf79f19206c822a4361aeca6f63f

Test plan:
1) Create a test patron
2) Check out an item to that patron and give it a due date in the past
3) Run fines.pl to generate the fine for the item
4) Mark the item long overdue on the item tab (not in edit items)
5) Pay for the lost item
6) Check the item back in
7) Note the incorrect fines. Only the lost fee balance  due is refunded,
   not the entire lost fee, but no other fees are paid off.
8) Apply the patch
9) Repeat steps 1-6, then not the fines are paid correctly

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Totel due is correct after applying the patch.
All tests and QA script pass.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Bug 9933: Unable to edit or add rules for any branch except default

To test
1/ Select a branch in circ rules
2/ Edit or add a rule, note this change is made for default instead of
the library you selected
3/ Apply the patch
4/ Try 1 and 2 again

Signed-off-by: Mirko Tietgen <mirko@abunchofthings.net>
Works as expected.
Signed-off-by: Mason James <mtj@kohaaloha.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Merge branch 'bug_9933' into 3.12-master
Bug 9591 : Set Library changes after viewing Holds Queue >> reserves item

To test
1. Log in to the staff client. Note your logged in library.
2. Navigate to Circulation -> Holds queue.
3. Select a holds queue report for a library other than your own.
4. From the holds queue report page, click the "Check out" tab and
   enter the card number of a patron who has holds.
5. On the circulation page for that patron, click the "Holds" tab.
6. Click one of the titles in the list of holds.

Your logged in branch will now match the library you chose for the
holds queue report.

Alternate sequence:

4. From the holds queue report page, click the "Check out" tab and
   do a non-exact search (search which will return more than one result)
   for a patron who has holds.
5. Choose the correct patron from the list of results.

Your logged in branch will now match the library you chose for
the holds queue report.

Apply the patch and repeat, this time it should not change your logged
in branch

Signed-off-by: Mirko Tietgen <mirko@abunchofthings.net>
Weird bug, the patch works for me.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Good catch. All tests and QA script pass.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Merge branch 'bug_9591' into 3.12-master
Merge branch 'bug_9933' into 3.14-master
Merge branch 'bug_9591' into 3.14-master
Bug 9986: Two fixes for Z3950 search

Searching for stdid: Standard ID, srchany: RAW (any) somehow did not work
anymore.
Probably my fault :) Note that these two fields are in Cataloging Z3950 search
and not in Acquisition.

Fixing encoding problems: When adding -utf flag for CGI in acqui/z3950 and
cataloging/z3950, the decoding statements in C4/Breeding, Z3950Search should be
removed.

Test plan:
Search in Cataloging with:
Standard ID: 9782358670043 on LOC
RAW (any): musee [add an accent aigu on first e]  on LOC  -- Add diacritic!!!

Search in Acquisition
Somewhere, does not matter, but use a diacritic.

A note: My git version still has a hard time with utf8. Need to upgrade to version 1.7.10 to resolve this..

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

Comment: Work as described. No errors
Without patch z39.50 search for example Std ID OR musee gives no results,
with patch there are.
No problems in acq search.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Good catch, passes all tests and QA script.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Merge branch 'bug_9986' into 3.14-master
Bug 9414 - Fix sample letters for German and Norwegian

Some letters were missing or not translated in the German and
Norwegian data for the webinstaller. This patch adds them.

German
- RENEWAL (present, but not translated)
- OPAC_REG_VERIFY (missing)

Norwegian
- RENEWAL (present, but not translated)
- ISSUESLIP (missing)
- ISSUEQSLIP (missing)
- RESERVESLIP (missing)
- TRANSFERSLIP (missing)
- OPAC_REG_VERIFY (missing)

To test:
- Install Norwegian and German* translations
- Run through the web installer in German, making sure that
  the sample letters are selected
- Check that there are no errors in the web installer
- Check <intranet>/cgi-bin/koha/tools/letter.pl - that the
  letters look OK, and are translated
- Repeat the process for Norwegian

* = I had some problems with installing the German
translations that are in master, but now I can't reproduce
it. If you run into a problem where only some of the
subdirectories of koha-tmpl/intranet-tmpl/prog/de-DE/modules/
are cerated, try downloading and installing the 3.10 .po
files from Pootle.

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Merge branch 'bug_9414' into 3.14-master
Bug 9887 [Revised] Use DataTables on circulation page

The circulation page, when the  UseTablesortForCirc preference is
enabled, uses the old tablesorter plugin. It should use DataTables
instead.

This patch removes references to the tablesorter plugin and makes these
changes to enable use of DataTables:

- Pass two new unformatted date variables to the template from
  circulation.pl so that sorting can be performed on this data.
- Add DataTables configurations for the table of checkouts and the
  table of relatives' checkouts.
- Add a new plugin to the main DataTables configuration script to allow
  sorting on data embedded in a <span>'s 'title' attribute.
- Add <span>s to each table with a title attribute containing the
  unformatted date data which DataTables needs to perform correct
  sorting.  This eliminates the need for a special sorting algorithm to
  accomodate various date and datetime formatting options.
- Set a template variable for checking whether circ exports are enabled.
  This reduces repetition. DataTables configuration changes based on how
  many columns are present.

To test, load the circulation page for patrons who match various
conditions:

- Having only checkouts from today
- Having checkouts from today and previous days
- Having checkouts only from previous days
- Having relatives who have checkouts (from today, from previous days,
  from both)

Test these situations with UseTablesortForCirc enabled and disabled.
Test these situations with circ exports enabled or disabled (with
ExportRemoveFields filled or empty, for instance).

Sorting should work correctly on all columns with the dateformat
preference set to any option.

All other circulation functions should work normally.

Revision adds missing include for table footer when there are previous
checkouts and removes &nbsp; from empty table header cells which were
messing up auto-detection of numeric data. The global CSS for table
borders has been tightened up to improve handling of alternating row
colors in DataTables-sorted tables.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
All tests and QA script pass.
Note: Don't forget it's the checkout tab and to turn on the
preference to allow sorting there.
Also, while checkouts sorts dates correctly, sorting on the
details tabs was not always correct in my tests.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Merge branch 'bug_9887' into 3.14-master
Bug 9905 - Use DataTables on calendar page

The calendar management page uses the old tablesorter plugin. This patch
replaces tablesorter code with DataTables.

In order to easily sort date columns under various dateformat system
preference settings, date columns now sort based on an unformatted date
in a <span>'s title attribute (requiring the patch for Bug 9887).

To test, view the calendar page--preferably with plenty of existing
holiday data to populate the holiday summary tables. Confirm that
sorting works correctly on all sorted tables with the dateformat
preference set in all settings.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Note: This has to be tested together with the patch for bug 9887.
All tests and QA script pass.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Merge branch 'bug_9905' into 3.14-master
Bug 9463 [Revised] Use DataTables on patron sent notices page

Replace the tablesorter plugin with the DataTables plugin on the
patron sent notices page.

This patch adds default sorting by time (descending).

This patch depends on the one for Bug 9887, which introduces a new
DataTables plugin to allow sorting on data embedded in a <span>'s
"title" attribute. This allows sorting to be done on an unformatted
datetime.

To test, open the sent notices page for a patron who has multiple sent
notices. Confirm that table sorting works correctly with various date
format settings.

Revision corrects an error which occurs when there are no notices:
Instead of displaying an empty table with a message the table is not
displayed and a standard dialog message is displayed. In order to
prevent page-specific CSS and JS from conflicting with the standard
"message" class the page-specific classes have been changed from
"message*" to "notice*" Test this change by viewing a page with existing
notices and clicking the titles to show/hide the notice contents.

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>
Merge branch 'bug_9463' into 3.14-master
Bug 9172 - Move TinyMCE library outside of language-specific directory

This patch removes the TinyMCE library from its language-specific
location and puts it in intranet-tmpl/lib. The most recent version
of TinyMCE is used, and the files added have been limited to
those required for proper functionality of the editor.

Files omitted: documentation, examples, unused plugins.

To test, visit each page which uses the TinyMCE editor: News
editing (tools/koha-news.pl), library editing (admin/branches.pl),
and online help editing (help/edithelp.pl). The editor should
look and function as before.

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Mason James <mtj@kohaaloha.com>
(cherry picked from commit 81714f8141de147a9133944057b059df47160315
 on github.com/KohaAloha/Koha-Dev:bug_9172)

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Corrected authorship and date
Merge branch 'bug_9172' into 3.14-master