Bug 10820: display item status as lost if item is both lost and on loan

In the OPAC, if an items is both lost and checked out, it will show as
lost on the search results, and checkout out in the record details. The
lost status should take precedence over the checked out status, as the
checked out status may lead a patron to believe the book may return
soon.

Test Plan:
1) Check an item out to a patron
2) Set it to lost ( requires itemlost to be revealed in the framework
    for the items editor ).
3) Rebuild your zebra indexes
4) Run a search where that item is in the results list
5) Note the item is marked as lost
6) View the record details
7) Note the item is listed as "checked out"
8) Apply this patch
9) Repeat steps 4-6, note the item is now listed as lost

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Bug 8798: DBIx::Class base classes for all Koha tables

* Added base class files for all tables in koha using
DBIx::Class::Schema::Loader.
* Added a (very basic) test file for C4::Context
* Also added dependencies in required files.

To Test:

[1] Install patch
[2] Make sure you can still connect to Koha
[3] You may optionally run this test script:

        use Koha::Database;
        use Data::Dumper;
        my $db = Koha::Database->new();
        my $schema = $db->schema();
        print Dumper($schema->resultset("Borrower"));

    If you run this file you should get a DBIx dump of the borrowers table.

Signed-off-by: wajasu <matted-34813@mypacks.net>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Bug 8798: (follow-up) rename schema class updater script

updateDatabase.pl is a bit too close to updatedatabase.pl in installer
and may cause some confusion. I would suggest update_dbix_class_files.pl
as a unambiguous and descriptive name for this file.

Signed-off-by: wajasu <matted-34813@mypacks.net>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Bug 8798: (follow-up) remove tabs

Signed-off-by: wajasu <matted-34813@mypacks.net>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Bug 8798: (follow-up) update schema files

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Bug 8798: moving code to Koha::Database and adding tests

- Fixing a bug .. ping does not exist we need to use connected

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Bug 10636 - patronimage should have borrowernumber as PK, not cardnumber

Test Plan:
1) Apply this patch
2) Run updatedatabase.pl
3) Enable patronimages
4) Verify patron images are still displaying correctly
5) Test deleting a patron image
6) Test adding a patron image from moremember.pl
7) Test adding a patron image from tools/picture-upload.pl

Signed-off-by: Srdjan <srdjan@catalyst.net.nz>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Bug 10636: DBrev 3.13.00.030

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
bug 8798: (follow-up) pass DB connection params to DBIC schema updater explicitly

This patch changes update_dbix_class_files.pl so that the connection
parameters to the reference database must be passed explicitly via
command-line switches, rather than grabbing them from the current Koha
context.

The purpose of this is to intentionally put up a roadblock to reduce
the chance that a developer (or release manager) accidentally updates
the schema files to include local testing cruft such as temporary
tables.

Usage is now as follows:

[1] Create an empty database
[2] Load the schema creation script into it, e.g.,

mysql -u dbic -pdbic dbic < installer/data/mysql/kohastructure.sql

[3] Run the schema updater:

./misc/devel/update_dbix_class_files.pl --db_user=dbic --db_name=dbic --db_passwd=dbic

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Bug 8798: (follow-up) update the DBIC schema class files

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Bug 8798: (follow-up) add libdbix-class-schema-loader-perl to koha-perldeps

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Bug 10565: Add a "Patron List" feature for storing and manipulating collections of patrons

The patron lists feature is somewhat similar to the record lists feature
in that it allows a librarian to create a list of patrons for later
retrieval and manipluation. These lists can then be used with the batch
patron modification tool.

Test Plan:
 0) Apply the patch for Bug 8798
 1) Apply this patch
 2) Run updatedatabase.pl
 3) Access the patron lists feature from Koha's Tools menu.
 4) Create a new list via the "New patron list" button.
 5) For this list, click the "Edit" button, and change the list name.
 6) For this list, click the "Add patrons" button, and search for and
    add some patrons to your list.
 7) For this list select some patrons to remove them.
 8) Try both adding some new patrons, and removing some old patrons
    as a single action.
 9) Click the "Patrons" link on the Koha toolbar
10) Search the patrons, or browse by letter to get patron results
11) Check the checkboxes next to one or more patrons, and add the
    selected patrons to your existing list.
12) Change the "Selected patrons" pulldown to "All resultant patrons"
    and add them to your list.
13) Check the checkboxes next to one or more patrons, and add the
    selected patrons to a new list.
14) Try manipulating a list of patrons using the batch patron
    modification tool.
15) Go back to the Patron Lists feature and delete your lists.
16) Run 'prove t/db_dependent/PatronLists.t'

Signed-off-by: Nora Blake <nblake@masslibsystem.org>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Bug 10565: (follow-up) don't assume borrowernumber 1 exists in unit test

Signed-off-by: Nora Blake <nblake@masslibsystem.org>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Bug 10565: DBrev 3.13.00.031

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Bug 10565: (follow-up) refresh DBIC schema class files

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Bug 15065: (follow-up) update license header

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Bug 10565: (follow-up) use datatables.inc

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Bug 10565: (follow-up) make add list/edit list labels sensitive to context

This patch fixes a problem where the form for editing an existing list
would be labeled as if a new list were being created.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Bug 10565: (follow-up) add new user permission for patron list management

This patch adds a new user permission for patron list management,
tools => manage_patron_lists.

This closes a security issue with the original patch series where
patron lists and their contents could be retrieved and modified
without requiring authentication of any sort.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Bug 10565: (follow-up) improve navigation aids

- add links to Tools home page in breadcrumbs
- add patron lists to the tools sidebar

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