Bug 10860: In-House Use

This patch implements the In-House Use feature for Koha.

It adds:
- 2 new sysprefs:
  'In-House Use' to enable/disable this feature
  'In-House Use Forced' to enable/disable the feature for *all* users.
- 2 new columns issues.inhouse_use and old_issues.inhouse_use
- Datatable on the circulation history pages (readingrec) at the OPAC
  and the intranet.

A new checkbox in the Circulation tab. If checked, the issue become a
in-house use (in the statistics and issues tables).
When you check it, the due date changes to the today date.

The syspref "In-House Use Force" allows to force the in-house use to
permit the checkout even if the borrower is debarred or others problems.

In the issue table, a new string (in red) marks the issue as "in-house use".

The circulation history contains 3 tabs : "all", "checkout" and
"in-house use" (OPAC and intranet).

The cronjob script:
If AutomaticItemReturn if off, a library would like not to do a transit
operation manually. This script (to launch each night) do returns
for a specific branches.

Test plan:
1/ Execute the updatedatabase entry
2/ Enable the 'In-House Use' pref.
3/ Checkout a biblio for a patron and check the 'in-house use' checkbox.
4/ Check that the due date is the today date (with 23:59) and is not modifiable.
5/ Click on the check out button and check that the new check out
appears in the table bellow with the "(In-house use)" string.
6/ Go on the circulation history pages (readingrec and opac-readingrec)
and try the 3 tabs. In the last one, your last checkout should appear.
7/ Check in.
8/ Check readingrec pages.
9/ Choose a debarred patron and check that you cannot checkout a biblio
for him.
10/ Switch on the 'In-House Use Forced' pref
11/ You are now allowed to checkout a biblio for the debarred patron.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 10860 - Change "in-house use" to "on-site checkout"

Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 10860 [QA Followup] - Fix misc issues

Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 10860: Follow-up - staff reading record

- capitalization fix "Checked out"
- display new tabs only when feature is activated
- fixes a qa script complaint about POD in Items.pm

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 10860 [QA Followup] - Rename system preferences

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 10860: Follow-up - fix some template variable issues

Fixing some simple display issues caused by missing/misnamed
variables, probably consequence of the renaming before.

Amended test plan:
- Make sure that if OnSiteCheckoutsForce is set, you can
  still perform onsite checkouts and only those.
- Check the detail page in staff says *currently in local use by*
  for an on-site checked out item
- Check the detail page in OPAC with OPACShowCheckoutName active
  for the same.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 10860 [QA Followup] - Use Koha.Preference

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 10860: DBRev 3.17.00.044

Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 10860: Update DBIx

Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 13179 - Circulation page layout problem when OnSiteCheckoutsForce is enabled

The circulation page layout needs to work correctly for various
combinations of restrictions, no restrictions, and restrictions with
OnSiteCheckoutsForce enabled. This patch makes some minor accomodation
for all.

To test, load a patron for checkout under the following conditions:

1. OnSiteCheckoutsForce and patron is not blocked from checkout
2. OnSiteCheckoutsForce is off, patron is blocked from checkout (for
   being expired or restricted).
3. OnSiteCheckoutsForce is on and patron is not blocked from checkout
4. OnSiteCheckoutsForce is on and patron is blocked from checkout

The page layout should look correct for all these cases, with a clean
two-column layout of [ checkout form | messages ] in all cases except

Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Applied on top of 10860. Works as described.

Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 13184 - Circulation template problems if OnSiteCheckouts is off but OnSiteCheckoutsForce is on

Checks in the circulation template for on-site checkouts preferences did
not take into account the possibility that someone might have
accidentally turned OnSiteCheckouts off but left OnSiteCheckoutsForce
turned on. This patch amends the template logic so that it works
correctly for various combinations of settings.

To test, apply the patch and test the following combinations of
circumstances.

Testing using both a patron who is blocked (expired, restricted, etc)
and a patron who is not blocked, test with...

1. OnSiteCheckouts is on, OnSiteCheckoutsForce is on
2. OnSiteCheckouts is off, OnSiteCheckoutsForce is on
3. OnSiteCheckouts is off, OnSiteCheckoutsForce is off
4. OnSiteCheckouts is on, OnSiteCheckoutsForce is off

Confirm that the checkout form is shown or not shown correctly according
to the preferences you have set. Confirm that the "Only on-site
checkouts are allowed" message is only shown in case #1.

Note: This patch includes whitespace changes, so please diff
accordingly.

Signed-off-by: Nick Clemens <nick@quecheelibrary.org>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Tested on top of 10860 and 13179.
Works as described, adding more checks in the templates.

Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Bug 10860: (RM followup) checkout-related sysprefs belong to the checkouts section

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