Bug 8215 - Course Reserves

Adds a course reserves system for academic libraries.

The course reserves system allows libraries to create courses
and put items on reserves for those courses.

Each item with at least one reserve can have some of its attributes
modified while it is on reserve for at least one active course.
These attributes include item type, collection code, shelving location,
and holding library. If there are no active courses with this item
on reserve, it's attributes will revert to the original attributes
it had before going on reserve.

Test Plan:
  1) Create new authorised value categories DEPARTMENT and TERM
  2) Create a new course, add instructors to that course.
  3) Reserve items for that course, verify item attributes have changed.
  4) Disable course, verify item attributes have reverted.
  5) Enable course again, verify item attributes again.
  6) Delete course, verify item attributes again.
  7) Create two new courses, add the same item(s) to both courses.
  8) Disable one course, verify item attributes have not reverted.
  9) Disable both courses, verify item attributes have reverted.
 10) Enable one course, verify item attributes are again set to the
     new values.
 11) Edit reserve item attributes, verify.
 12) Disable all courses, edit reserve item attributes, verify
     the item itself still has its original attributes, verify
     the reserve item attributes have been updated.
 13) Verify the ability to remove instructors from a course.
 14) Verify new permissions, top level coursereserves, with
     subpermissions add_reserves and delete_reserves.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Corinne Bulac <corinne.hayet@bulac.fr>

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>

http://bugs.koha-community.org/show_bug.cgi?id=8125
Bug 8215 follow-up encoding for branches & itemtypes

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Corinne Bulac <corinne.hayet@bulac.fr>

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Bug 8215: Followup FIX QA issues

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Bug 8215 - Add Course Reserves - QA Followup

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Bug 8215: Followup Fix confirmation links for delete course and item

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Bug 8215: FIX ergonomic issue : 'Unchanged()'
bug 8215: (followup) run new files through perltidy

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
bug 8215: (followup) make sure C4::CourseReserves doesn't export anything

New modules should not export any symbols by default
without a very good reason.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
bug 8215: (followup) don't allow deleting course reserves from OPAC

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
bug 8215: (followup) avoid SQL syntax error in logs

ModItem currently will attempt to update an item
even if no field updates are specified.  This patch
avoids (harmless) error messages in the Apache
logs if an item is not actually being changed when it
is placed or taken off reserve.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
bug 8215: (followup) rename GetItemReservesInfo

Renamed that routine to GetItemCourseReservesInfo in
order to avoid any potential confusion with reserves
qua hold requests.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
bug 8215: (followup) remove extraneous underscore in template

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
bug 8215: DBRev 3.13.00.001 for course reserves

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
bug 8215: (followup) avoid spurious warning in Apache log

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Bug 6413 Added ability to add a note when paying or writing off a fine

Code will also respect notes when using the "Writeoff All" button but WILL NOT when using either the "Pay Amount" or "Pay Selected" buttons Fixed uri encoding of arguments

Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Bug 6413 follow-up: fixing capital case & tabs

* switching from "Payment Note" to "Payment note"
* replaced tabs by 4 spaces in lines just before and after this fix, for consistent indenting

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Bug 6413 - QA Followup - Add notes for 'Pay selected'

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Bug 6413 - QA Followup - Remove extra table column header

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Bug 10261: Link to patron files missing from circ-menu.tt

The link to patron files doesn't appear on some pages. That's because
the link was added to circ-menu.inc but not circ-menu.tt. Each is used
by different patron-related pages. This patch adds the missing link.

To test, enable the EnableBorrowerFiles system preference and view
members/pay.pl or members.paycollect.pl. The "Files" tab should appear
in the left-hand sidebar menu. Other patron pages should show the same.

Edit: Corrected scope of template variables which shouldn't have been
copied directly from circ-menu.inc without changing scope.

Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
all tests pass
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Bug 9507: prevent submit: refactor some code in a js file

This patch refactors some code in a js file.

Test plan:
On acqui/neworderempty.pl, acqui/orderreceive.pl and
serials/serials-edit.tt try to scan a barcode (or press enter) on the
form and check that it is not sent.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Have to note that the code for IE9 does not work. Before and after this patch.
If we refactor code, it would have been nice to resolve this too.
But I do not oppose pushing this patch.
The test uses 'an ancient Netscape property' window.Event (uppercase!) to make
the distinction between browers and event models. Some more documentation here
would be welcome too.

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