]> git.koha-community.org Git - koha.git/log
koha.git
11 years agoBug 7295: (follow-up) several fixes
Julian Maurice [Tue, 17 Jul 2012 08:51:36 +0000 (10:51 +0200)]
Bug 7295: (follow-up) several fixes

- List of libraries in basket.pl is now sorted by branch name, not code
- When IndependantBranches is ON, user has only the possibility to set
  basket branch to its own branch, or to no branch at all.
- When basket do not belong to any branch, selected branch by default is
  connection branch (was 'no branch')
- added id attributes to both added li elements
- change description of 'order_manage_all' permission to make it
  clearer.
- remove Test::MockModule dependency

Signed-off-by: Sonia Bouis <sonia.bouis@univ-lyon3.fr>
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>
11 years agoBug 7295: More granular permissions for baskets
Julian Maurice [Fri, 20 Apr 2012 15:12:29 +0000 (17:12 +0200)]
Bug 7295: More granular permissions for baskets

- Add branch info to baskets
- Add a list of borrowers that are allowed to manage a basket (one list
for each basket).
- Add a new subpermission: acquisition => order_manage_all

If user is superlibrarian, or if that user has permission acquisition = 1
(GranularPermissions = OFF), or subpermission acquisition =>
order_manage_all (GranularPermissions = ON), that user is authorised to manage
all baskets.

Depending on syspref AcqViewBaskets:
  'all': user can manage all baskets
  'branch': user can manage baskets of their branch (the basket branch is
            taken into account, not the branch of the basket's creator).
            If basket branch is not defined, all users can manage this
            basket.
  'user': user can manage baskets she created, and baskets in their
          user list

There are unit tests in t/Acquisition/CanUserManageBasket.t, which
require Test::MockModule

You can edit basket's branch and users list in basket modification page
(acqui/basket.pl)

Signed-off-by: Sonia Bouis <sonia.bouis@univ-lyon3.fr>
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>
11 years agoBug 11168: fix regression that broke exporting serial claims to CSV
Jonathan Druart [Wed, 30 Oct 2013 11:33:15 +0000 (12:33 +0100)]
Bug 11168: fix regression that broke exporting serial claims to CSV

Bug 7688 broke the exporting serial claims as CSV (see bug 10854).

For C4::Serials::GetLateOrMissingIssues(), $supplierid is not
meant to be mandatory.  This patch fixes that.

Test plan:
try to export a serial claim.
Without this patch, the csv is always empty.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 7298: (follow-up) fix uninitialized variable warning
Galen Charlton [Thu, 31 Oct 2013 15:46:42 +0000 (15:46 +0000)]
Bug 7298: (follow-up) fix uninitialized variable warning

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 7298: (follow-up) fix translation for CSV strings
Jonathan Druart [Tue, 24 Sep 2013 08:19:27 +0000 (10:19 +0200)]
Bug 7298: (follow-up) fix translation for CSV strings

Following the same way as bug 10935, the headers are in an include file.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Translatability tested successfully.
Passes all tests.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 7298: (follow-up) various QA fixes
Jonathan Druart [Mon, 23 Sep 2013 08:43:20 +0000 (10:43 +0200)]
Bug 7298: (follow-up) various QA fixes

- use Modern::Perl;
- GPL version
- tabs

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

Testing notes:
- CSV header row is now translatable.
  Tested by updating the German po files and checking for the line.
- Tested that claiming for late serial issues still works as
  expected, as one file has been renamed. Filed 10931 for
  untranslatable CSV contents.
- Tested that claiming late orders still works:
  * Table searching and sorting
    Works nicely, but some columns could be split up for better
    searching and sorting:
      * Order date: 20/01/2013 (245 days)
      * Total cost:     10.00x1 = 10.00 Books
        => item type should be separate
      * Basket:  10 MPL
        => Library and basket number could be separate columns
  * Filters
     * Combined various filters, search results look correct.
  * Selecting order for claiming
      * Limiting by vendor makes it possible to check/uncheck all
      * With no vendor limit, entries for other vendors will be
        locked after the first checkbox is checked for one vendor
  * Exporting as CSV
     * Exported single line > CSV appears correct.
     * Exporting multiple lines > CSV appears correct.
     PROBLEM: Translated CSV don't work correctly, as line
     breaks are lost in the translation process.
     Needs to be fixed in a follow-up.
  * Sending serial claim email
     * No regressions found - there are some problems with the
       email contents noted on bug 7298.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 7298: (follow-up) make CSV strings translatables.
Jonathan Druart [Tue, 13 Aug 2013 14:21:33 +0000 (16:21 +0200)]
Bug 7298: (follow-up) make CSV strings translatables.

Using a template file, the CSV headers become translatable.

Signed-off-by: sonia <koha@univ-lyon3.fr>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 7298: (follow-up) fix checkboxes binding on load
Jonathan Druart [Tue, 13 Aug 2013 13:27:38 +0000 (15:27 +0200)]
Bug 7298: (follow-up) fix checkboxes binding on load

Click on checkboxes should be bound on load.

Signed-off-by: sonia <koha@univ-lyon3.fr>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 7298: (follow-up) fix capitalization and moving supplier id
Katrin Fischer [Sat, 20 Jul 2013 17:52:11 +0000 (19:52 +0200)]
Bug 7298: (follow-up) fix capitalization and moving supplier id

Fixes a few capitalization errors on the late orders page like
- Claim orders
- filter
- Search results

Also moves the supplierid from the order date column to the
vendor column.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: sonia <koha@univ-lyon3.fr>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 7298: add option to export late orders as CSV
Jonathan Druart [Fri, 22 Jun 2012 09:10:57 +0000 (11:10 +0200)]
Bug 7298: add option to export late orders as CSV

This patch allows to export late orders as CSV.

Test plan:
- Go on the late orders page (acqui/lateorders.pl)
- Select one or more order and click on the button "Export as CSV".
- The generated file should contains some information on the orders
  (order date, estimated delivery date, vendor name, information field,
  cost, basket name (and basketid), claims count and the claimed date)
  The last line of the file is the total of orders.
- You are not allow to select order from different vendor.
- The check/uncheck all links appears only if a vendor is selected.
- Check that the check/uncheck works for all pages of the table.

Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Mathieu Saby <mathieu.saby@univ-rennes2.fr>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: sonia <koha@univ-lyon3.fr>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Testing comments on last patch in this series.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 8435: (follow-up) make SearchSubscriptions handle lack of userenv
Galen Charlton [Thu, 31 Oct 2013 15:37:00 +0000 (15:37 +0000)]
Bug 8435: (follow-up) make SearchSubscriptions handle lack of userenv

This patch allows t/db_dependent/Bookseller.t to pass.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 8435: DBRev 3.13.00.038
Galen Charlton [Thu, 31 Oct 2013 15:26:51 +0000 (15:26 +0000)]
Bug 8435: DBRev 3.13.00.038

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 8435: (follow-up) handle lack of userenv gracefully
Jonathan Druart [Thu, 31 Oct 2013 08:49:12 +0000 (09:49 +0100)]
Bug 8435: (follow-up) handle lack of userenv gracefully

C4::Serials::can_edit_subscription now deals with C4::Context->userenv.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 8435: (follow-up) the unit tests should create the biblio
Jonathan Druart [Wed, 21 Aug 2013 12:23:24 +0000 (14:23 +0200)]
Bug 8435: (follow-up) the unit tests should create the biblio

Previous version does not create the biblio.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 8435: (follow-up) use a transaction for unit tests
Jonathan Druart [Fri, 28 Jun 2013 07:27:39 +0000 (09:27 +0200)]
Bug 8435: (follow-up) use a transaction for unit tests

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 8435: (follow-up) add unit tests for can_edit_subscription
Jonathan Druart [Wed, 27 Mar 2013 15:53:56 +0000 (16:53 +0100)]
Bug 8435: (follow-up) add unit tests for can_edit_subscription

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 8435: add permission to enable editing other library's serials if IndependantBran...
Jonathan Druart [Mon, 12 Nov 2012 13:15:42 +0000 (14:15 +0100)]
Bug 8435: add permission to enable editing other library's serials if IndependantBranches is on

In the serial module, we want to hide serials from others libraries.
However, to permit central serials manage, this patch introduces a
new permission, 'superserials'. If a staff member has this permission,
that person can override the restriction.

Test plan:
- Switch on the IndependantBranches syspref
- Add the permission 'superserials' for a patron and test you can
  navigate and see all serials
- Remove this permission and test you cannot manage/view subscriptions
  from others libraries

Signed-off-by: Frederic Durand <frederic.durand@unilim.fr>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 8037: (follow-up) fix undefined variable warning during template processing
Galen Charlton [Mon, 21 Oct 2013 23:49:01 +0000 (23:49 +0000)]
Bug 8037: (follow-up) fix undefined variable warning during template processing

Fix instances of the following warning appearing in the Apache log:

... parcel.pl: Argument "" isn't numeric in addition (+)

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 8037: (follow-up) improve GetBudgetByOrderNumber test
Galen Charlton [Mon, 21 Oct 2013 23:34:46 +0000 (23:34 +0000)]
Bug 8037: (follow-up) improve GetBudgetByOrderNumber test

This patch moves the GetBudgetByOrderNumber() test from
Budgets.t to Acquisition.t, thereby making it easier to
test without doing a direct SQL insert into the aqorders table.

To test:

[1] Verify that prove -v t/db_dependent/Budgets.t passes
[2] Verify that prove -v t/db_dependent/Acquisition.t passes

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 8037: (follow-up) tweak fund subtotal note
Galen Charlton [Mon, 21 Oct 2013 23:20:39 +0000 (23:20 +0000)]
Bug 8037: (follow-up) tweak fund subtotal note

Use "Tax exc." rather than "GST exc." to be consistent with other parts
of the table footer.  Also remove the new style introduced in the previous
patch; defining non-semantic CSS classes like font-weight-normal is not
desirable.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 8037: (follow-up) bad sql query and variable renaming
Jonathan Druart [Fri, 25 Oct 2013 12:27:10 +0000 (14:27 +0200)]
Bug 8037: (follow-up) bad sql query and variable renaming

The first patch does a left join on aqorders_items which returns too
much order lines.

This patch follows the Galen's suggestion: it removes the join and calls
the GetItemnumbersFromOrder routine for retrieving itemnumbers.

Bonus: the "parcelitems" variable is badly named and obfuscates the code.
I changed it for "orders".

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 8037: (follow-up) adds the note "GST exc." for subtotals by fund
Kyle M Hall [Wed, 8 May 2013 13:06:17 +0000 (09:06 -0400)]
Bug 8037: (follow-up) adds the note "GST exc." for subtotals by fund

Signed-off-by: Pierre Angot <tredok.pierre@gmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 8037: (follow-up) fix various issues
Kyle M Hall [Fri, 22 Mar 2013 10:35:41 +0000 (03:35 -0700)]
Bug 8037: (follow-up) fix various issues

[1] Add test for GetBudgetByOrderNumber()
[2] Remove unconditional warn.
[3] Remove MySQLism

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 8037: Display holds & fund on the already received table on order receipt summary
Kyle M Hall [Wed, 28 Mar 2012 17:33:36 +0000 (13:33 -0400)]
Bug 8037: Display holds & fund on the already received table on order receipt summary

Adds a column to indicate holds on received items, as well as adding
a new column for fund and showing the subtotals per fund above
the total subtotal.

To test:

[1] Create an order basket containing at least one title and
    ensure that an item is created for that title.  Close the
    basket.
[2] Place a hold on the title.
[3] Receive the order.  After receiving it, but before finishing
    the invoice, the table of already received orders should now
    have columns for the order budget and number of holds on the
    title as well as lines with the subtotal per fund.

Signed-off-by: Pierre Angot <tredok.pierre@gmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 10572: DBrev 3.13.00.037
Galen Charlton [Thu, 31 Oct 2013 14:41:19 +0000 (14:41 +0000)]
Bug 10572: DBrev 3.13.00.037

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 10572: (follow-up) ensure SQL for all translations has the phone transport type
Kyle M Hall [Thu, 12 Sep 2013 17:22:23 +0000 (13:22 -0400)]
Bug 10572: (follow-up) ensure SQL for all translations has the phone transport type

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 10572: (follow-up) DBrev to ensure presence of phone transport type
Marcel de Rooy [Wed, 7 Aug 2013 12:24:23 +0000 (14:24 +0200)]
Bug 10572: (follow-up) DBrev to ensure presence of phone transport type

Test plan:
Run the updatestructure step of web installer.
Check if you have a phone message_transport_type.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 10572: Add phone to message_transport_types table for new installs
Marcel de Rooy [Thu, 11 Jul 2013 08:01:16 +0000 (10:01 +0200)]
Bug 10572: Add phone to message_transport_types table for new installs

In connection to bug 4246, commit 591bae324 added
phone to the message_transport_types table in updatedatabase.pl

This should be done also for new installs via the .sql files of the web
installer.

I am adding it only to English now, basing this change upon the work in
reports 10509 and 10520. (I discovered this tiny omission there too.)

Test plan:
Apply patches 10509/10520.
Run new install or run this particular sql file from command line.
Note: If you only run this particular file, you do not need patch 10509.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 11135: (follow-up) improve testing of OVERRIDE_SYSPREF_NAMES
Galen Charlton [Thu, 31 Oct 2013 14:21:25 +0000 (14:21 +0000)]
Bug 11135: (follow-up) improve testing of OVERRIDE_SYSPREF_NAMES

This is a bit pedantic -- since for obvious reasons, I can't
see us ever letting '0' be the name of a system preference,
and I suspect it's impossible for the value of something in the
$ENV hash to be undefined -- but better to test for exactly what
we mean.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 11135: avoid logging warnings if OVERRIDE_SYSPREF_NAME is not set
Colin Campbell [Thu, 24 Oct 2013 16:00:23 +0000 (17:00 +0100)]
Bug 11135: avoid logging warnings if OVERRIDE_SYSPREF_NAME is not set

Calling split on an undefined var generates warning to
the log. Let's check it exists before processing it

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 11134 - Typo on course reserves help
Bernardo Gonzalez Kriegel [Thu, 24 Oct 2013 15:32:26 +0000 (12:32 -0300)]
Bug 11134 - Typo on course reserves help

This patch fixes a small typo on course reserves help

To test:
1) Go to Course reserves
2) Press 'New course'
3) Press Help
4) On 3dr paragraph you will read "To link a ninstructor ..."
5) Apply patch
6) Now it reads "To link an instructor ..."

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
11 years agoBug 9456: (follow-up) use datatables.inc
Galen Charlton [Thu, 31 Oct 2013 05:54:26 +0000 (05:54 +0000)]
Bug 9456: (follow-up) use datatables.inc

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 9456: (follow-up) remove whitespaces and tab
Jonathan Druart [Fri, 16 Aug 2013 07:28:40 +0000 (09:28 +0200)]
Bug 9456: (follow-up) remove whitespaces and tab

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 9456: (follow-up) sort on callnumber only
Kyle M Hall [Mon, 22 Jul 2013 11:43:13 +0000 (07:43 -0400)]
Bug 9456: (follow-up) sort on callnumber only

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 9456: (follow-up) Remove useless CSS
Kyle M Hall [Tue, 18 Jun 2013 15:08:32 +0000 (11:08 -0400)]
Bug 9456: (follow-up) Remove useless CSS

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 9456: (follow-up) move sort filters to datatables.js
Kyle M Hall [Tue, 7 May 2013 16:24:56 +0000 (12:24 -0400)]
Bug 9456: (follow-up) move sort filters to datatables.js

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>
11 years agoBug 9456: (follow-up) add tooltip
Kyle M Hall [Thu, 7 Mar 2013 15:49:53 +0000 (10:49 -0500)]
Bug 9456: (follow-up) add tooltip

Signed-off-by: Cedric Vita <cedric.vita@dracenie.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 9456 - Add callnumber column to the cart
Kyle M Hall [Fri, 25 Jan 2013 14:57:30 +0000 (09:57 -0500)]
Bug 9456 - Add callnumber column to the cart

This patch adds call-number sorting to the staff client cart. Sortining is enabled
on the 'Items' column which uses a custom sorting routine to sort the callnumbers.
If the sort is ascending, each column will be sorted by the highest ordered
callnumber for that row. Likewise, if the sort is descending the table will be
sorted by the lowest valued callnumber for that row.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 9044: (follow-up) restore the toolbar menu items
Galen Charlton [Thu, 31 Oct 2013 05:22:45 +0000 (05:22 +0000)]
Bug 9044: (follow-up) restore the toolbar menu items

This patch adds the following items back to the cataloging
toolbar:

- Edit items in batch
- Delete items in a batch

My rationale: the question of the best UI for selecting items for
batch operations is not yet settled.  Adding the ability to select
items from the bib details page is indeed useful, but as currently
implemented, it can hide the availability of the batch
edit/deletion operations if no item is yet selected.  Although
having both the toolbar items and the links that display when an
item is selected is a bit redundant, for now I think we can live
with that until we get more eyes on the UI.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 9044: DBRev 3.13.00.036
Galen Charlton [Thu, 31 Oct 2013 05:15:06 +0000 (05:15 +0000)]
Bug 9044: DBRev 3.13.00.036

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 9044: (follow-up) set the number of filters according to number of columns
Julian Maurice [Mon, 30 Sep 2013 07:02:30 +0000 (09:02 +0200)]
Bug 9044: (follow-up) set the number of filters according to number of columns

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Filters now shows correctly. No errors

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes all tests and QA script.
This feature is a little controversial as it removes
the batch edit/delete options from the menu and moves them
to the item table, additionally controlled by a system
preference. Maybe later on, we can think about the UI a bit
more, but it works nicely.

Tested with.
- SeparateHoldings and SeparateHoldingsBranch activated/deactivated.
- Search filters.
- None, both, or one of the permissions.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 9044: (follow-up) change dropdown list into links list
Julian Maurice [Tue, 2 Jul 2013 14:05:20 +0000 (14:05 +0000)]
Bug 9044: (follow-up) change dropdown list into links list

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
That's the one I sign.

Comment: At first I don't know where to find links, until
I selected an item.
Works as described. No koha-qa errors.

Solved merge conflict on updatedatabase.pl

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 9044: QA followup
Jonathan Druart [Mon, 17 Jun 2013 10:11:27 +0000 (12:11 +0200)]
Bug 9044: QA followup

1/ Remove filter and sort for the checkboxes column.
2/ Enable the pref by default.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 9044: (follow-up) Add a blank option + add missing 'for' attributes
Julian Maurice [Thu, 21 Mar 2013 12:15:36 +0000 (12:15 +0000)]
Bug 9044: (follow-up) Add a blank option + add missing 'for' attributes

Signed-off-by: Pierre Angot et Leila Arkab <tredok.pierre@gmail.com>
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 9044: Provide item selection in record detail page (staff client)
Julian Maurice [Fri, 9 Nov 2012 14:16:52 +0000 (15:16 +0100)]
Bug 9044: Provide item selection in record detail page (staff client)

This patch add a column in the items table of catalogue/detail.pl that
contains checkboxes for item selection and a drop-down list of actions
that can be executed for the selection of items.

Currently available actions are:
- Delete selected items: redirect to batch items deletion
- Modify selected items: redirect to batch items modification

Item selection is only enabled if the new syspref
StaffDetailItemSelection is ON.
Actions are not displayed if user doesn't have the right permissions.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes all tests and QA script.
Further testing notes on last patch.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 7688: (follow-up) have Serials.t create its test subscription
Galen Charlton [Thu, 31 Oct 2013 05:07:44 +0000 (05:07 +0000)]
Bug 7688: (follow-up) have Serials.t create its test subscription

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 2720: (follow-up) fix error that prevented sysprefs from being loaded
Galen Charlton [Thu, 31 Oct 2013 01:52:14 +0000 (01:52 +0000)]
Bug 2720: (follow-up) fix error that prevented sysprefs from being loaded

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 2720: (follow-up) update DBIx::Class schema classes
Galen Charlton [Thu, 31 Oct 2013 01:31:29 +0000 (01:31 +0000)]
Bug 2720: (follow-up) update DBIx::Class schema classes

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 2720: (follow-up) add new table to kohastructure.sql
Galen Charlton [Thu, 31 Oct 2013 01:29:28 +0000 (01:29 +0000)]
Bug 2720: (follow-up) add new table to kohastructure.sql

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 2720: (follow-up) add foreign key from new table to borrowers
Galen Charlton [Thu, 31 Oct 2013 01:28:09 +0000 (01:28 +0000)]
Bug 2720: (follow-up) add foreign key from new table to borrowers

Foreign keys should be added as a matter of course for new tables.

Argubably, borrower_debarments.manager_id could also be linked to
borrowers, but this patch does not do that.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 2720: DBRev 3.13.00.035
Galen Charlton [Thu, 31 Oct 2013 01:01:18 +0000 (01:01 +0000)]
Bug 2720: DBRev 3.13.00.035

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 2720: (follow-up) fix the "remove" links
Jonathan Druart [Tue, 24 Sep 2013 10:32:16 +0000 (12:32 +0200)]
Bug 2720: (follow-up) fix the "remove" links

If there are more than one restriction, the "remove" links don't display
the JavaScript alert.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 2720: (follow-up) change license version to GPLv3+
Jonathan Druart [Tue, 24 Sep 2013 09:57:43 +0000 (11:57 +0200)]
Bug 2720: (follow-up) change license version to GPLv3+

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 2720: (follow-up) improve readability of a template
Kyle M Hall [Tue, 27 Aug 2013 17:04:38 +0000 (13:04 -0400)]
Bug 2720: (follow-up) improve readability of a template

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 2720: (follow-up) improve unit tests
Jonathan Druart [Thu, 18 Jul 2013 10:10:44 +0000 (12:10 +0200)]
Bug 2720: (follow-up) improve unit tests

Create the patron.
Use a transaction.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 2720: (follow-up) improve data entry form for manual restrictions
Owen Leonard [Fri, 5 Jul 2013 17:05:27 +0000 (13:05 -0400)]
Bug 2720: (follow-up) improve data entry form for manual restrictions

This follow-up to Bug 2720 makes some template changes which I think
make the interface a little more consistent and streamlined.

Instead of incorporating the manual entry form into the table it is
broken out and follows standard form structure. This lets the table be
hidden altogether if there are no existing restrictions.

The manual entry form is hidden by default and shown when you click a
link to add a manual restriction.

These changes have been applied to both the include file used for
circulation and patron detail and to the patron entry form template.

To test, add and remove manual restrictions from the circulation page,
the patron detail page, and the patron edit page. All operations should
work correctly.

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>
11 years agoBug 2720 - Overdues which debar automatically should undebar automatically when returned
Kyle M Hall [Tue, 29 Jan 2013 14:34:13 +0000 (09:34 -0500)]
Bug 2720 - Overdues which debar automatically should undebar automatically when returned

This patch adds a more extensible and flexible debarments system to Koha. The fields
borrowers.debarred and borrowers.debarredcomment are retained for compatibility and
speed.

This system supports having debarments for multiple reasons. There are currently
three types of debarments:
OVERDUES    - Generated by overdue_notices.pl if the notice should debar a patron
SUSPENSION  - A punative debarment generated on checkin via an issuing rule
MANUAL      - A debarment created manually by a librarian

OVERDUE debarments are cleared automatically when all overdue items have been returned,
if the new system preference AutoRemoveOverduesRestrictions is enabled. It is disabled
by default to retain current default functionality.

Whenever a borrowers debarments are modified, the system updates the borrowers debarment
fields with the highest expiration from all the borrowers debarments, and concatenates
the comments from the debarments together.

Test plan:
 1) Apply patch
 2) Run updatedatabase.pl
 3) Verify the borrower_debarments table has been created and
    populated with the pre-existing debarments
 4) Run t/db_dependent/Borrower_Debarments.t
 5) Manually debar a patron, with an expiration date
 6) Verify the patron cannot be issued to
 7) Add another manual debarment with a different expiration date
 8) Verify the 'restricted' message lists the date farthest into the future
 9) Add another manual debarment with no expiration date
10) Verify the borrower is now debarred indefinitely
11) Delete the indefinite debarment
12) Verify the debarment message lists an expiration date dagain
13) Enable the new system preference AutoRemoveOverduesRestrictions
14) Set an overdue notice to debar after 1 day of being overdue
15) Check out an item to a patron and backdate the due date to yesterday
16) Run overdue_notices.pl
17) Verify the OVERDUES debarment was created
18) Return the item
19) Verify the OVERDUES debarment was removed
20) Disable AutoRemoveOverduesRestrictions
21) Repeat steps 15 though 18, verify the OVERDUES debarment was *not* removed
22) Add issuing rules so that an overdue item causes a temporary debarment
23) Check out an item to a patron and backdate the due date by a year
24) Return the item
25) Verify the SUSPENSION debarment was added to the patron

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>
11 years agoBug 9822: Alert on adding an order to a basket if budget s exceeded
Jonathan Druart [Fri, 15 Mar 2013 10:20:45 +0000 (11:20 +0100)]
Bug 9822: Alert on adding an order to a basket if budget s exceeded

2 DB fields are not used: aqbudgets.encumb and aqbudgets.expend.

This patch uses these fields in order to show a warning message if the
budget selected for an order has exceeded.

Test plan:
- Create a new active fund with at least 1 of both warning fields
  ('Warning at (%)' and 'Warning at (amount)').
- Create a new order for a basket with this new fund and a cost >
  warning amount defined for the fund (or using %).
- Save and check that a warning message appears
- Retry playing with all combinations of warning fields

Signed-off-by: Koha Team Lyon 3 <koha@univ-lyon3.fr>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 10725: Add filters on the pending orders table
Jonathan Druart [Thu, 25 Apr 2013 14:57:07 +0000 (16:57 +0200)]
Bug 10725: Add filters on the pending orders table

Since the parcel.pl script get *all* pending orders, there is no reason
not to display all of them.

Like that, DataTable manages pagination and sorting correctly (on all
data).
This patch adds filters on the table header (using columnFilter).

Test plan:
Try filters on the left of the screen and filters on the table header.

Signed-off-by: Pierre Angot <tredok.pierre@gmail.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes all tests and QA script.
Searching and sorting the table works correctly.
Larger result sets are a performance problem on this page,
I have filed bug 10595 for that.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 10078: (follow-up) add regression test
Galen Charlton [Wed, 30 Oct 2013 05:02:45 +0000 (05:02 +0000)]
Bug 10078: (follow-up) add regression test

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 10078: show location facet regardless of singleBranchMode setting
David Cook [Tue, 2 Jul 2013 06:40:43 +0000 (16:40 +1000)]
Bug 10078: show location facet regardless of singleBranchMode setting

Currently, the location facet only shows if you have singlebranch
mode enabled. In other words, you can either see the library branch
or the shelving location.

This patch simply changes the location facet so that it will always
show the shelving location (if one is available), regardless of the
singlebranch system preference.

Test Plan:

BEFORE APPLYING:

0) Disable singlebranch mode if it is on
1) Do an OPAC or Staff Client search for a record that has items with
shelving locations.
2) Note that you can see the library branch facet under Libraries
but no shelving locations.
3) Enable singlebranch mode
4) Repeat your search
5) Note that you can no longer see the library branch facet under
Libraries. However, you can see the shelving location under Location

N.B. If you don't have more than one branch or the search results
are all from one branch, you might not get a library branch facet.

If this is the case, create additional branches and/or change the
branch for items in your search results so that you have multiple
branches to prompt the appearance of a library branch facet.

AFTER APPLYING

1) Do an OPAC or Staff Client search for a record that has items with
shelving locations.
2) Note that you see a facet under Location on the left sidebar,
regardless of there being a singlebranch mode or the number of branches
there are being represented in the search results.

Signed-off-by: Srdjan <srdjan@catalyst.net.nz>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Passes koha-qa.pl, works as advertised.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 7131: (follow-up) update the command-line import tools
Galen Charlton [Wed, 30 Oct 2013 04:22:39 +0000 (04:22 +0000)]
Bug 7131: (follow-up) update the command-line import tools

misc/commit_file.pl now properly displays the number
of replaced and ignored items.

misc/stage_file.pl now has a new command-line switch --item-action:

  --item-action       action to take if --add-items is specifed;
                      choices are 'always_add',
                      'add_only_for_matches', 'add_only_for_new',
                      'ignore', or 'replace'

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 7131: (follow-up) update DBIx::Class schema classes
Galen Charlton [Wed, 30 Oct 2013 03:47:15 +0000 (03:47 +0000)]
Bug 7131: (follow-up) update DBIx::Class schema classes

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 7131: DBRev 3.13.00.034
Galen Charlton [Wed, 30 Oct 2013 03:45:42 +0000 (03:45 +0000)]
Bug 7131: DBRev 3.13.00.034

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 7131: (follow-up) initialized some variables properly
Kyle M Hall [Thu, 3 Oct 2013 17:22:53 +0000 (13:22 -0400)]
Bug 7131: (follow-up) initialized some variables properly

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 7131: (follow-up) allow overlaying by barcode
Kyle M Hall [Fri, 5 Apr 2013 11:53:47 +0000 (07:53 -0400)]
Bug 7131: (follow-up) allow overlaying by barcode

This patch adds the ability to overlay by either itemnumber,
or barcode. Itemnumbers take precendence over barcodes, which
allows us to batch update item barcodes with an overlay.

Test Plan:
1) Create a new record with 2 items, make sure to give it a unique ISBN
2) Download the record as MARCXML
3) Edit the MARC XML
   a) Delete one of the two items
   b) Change the barcode in the barcode field to something unused
4) Transform the xml file into marc with xml2marc
5) Browse to 'Stage MARC records for import'
6) Upload the binary marc file
7) Choose the following options:
    Record matching rule: ISBN
    Action if matching record found: Ignore incoming record
    Action if no match is found: Ignore incoming record
    Check for embedded item record data: Yes
    How to process items: Replace items if matching bib was found
8) Click 'Stage for import' button
9) Verify a matching record was found, then click 'Manage staged records' link
10) Verify the rules are still set correctly
11) Click 'Import this batch into the catalog'
12) The import should tell you:
    1 record was ignored
    1 item was replaced
13) View the record details and verify the item's barcode was replaced
    with your updated barcode value
14) Download the record as MARCXML
15) Edit the MARC XML
    a) Delete one of the two items
    b) Delete the itemnumber field for the remaining item
    c) Alter the item's callnumber to a new value
16) Repeat steps 4 through 12
17) View the record details and verify the item's callnumber was replace
    with your updated callnumber value

Signed-off-by: Henry Bankhead <hbankhead@losgatosca.gov>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 7131: (follow-up) perltidy BatchCommitItems
Kyle M Hall [Fri, 5 Apr 2013 11:26:43 +0000 (07:26 -0400)]
Bug 7131: (follow-up) perltidy BatchCommitItems

Signed-off-by: Henry Bankhead <hbankhead@losgatosca.gov>
Signed-off-by: Melia Meggs <melia@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 7131: teach MARC import how to overlay items
Elliott Davis [Wed, 10 Oct 2012 19:21:22 +0000 (14:21 -0500)]
Bug 7131: teach MARC import how to overlay items

When staging biblios with items attached you previously had only two
options, add or don't add.

This patch adds a third option to replace an item record if a match is
found on itemnumber or barcode, else it adds the item.

Test Plan:
1) Stage a file of biblios with items attached.
2) Import the batch into the catalog.
3) Run the indexer so the matcher will match
4) Modify the item data for at least one bib in the file
5) Re-stage the file with the item matching option set to "Replace
   items if matching bib was found"
6) Let the indexer run again
7) You should see updated item information after the overlay

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Henry Bankhead <hbankhead@losgatosca.gov>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 10733: Follow up - unset variables from koha-sites.conf if USE_MEMCACHED=no
Tomas Cohen Arazi [Fri, 13 Sep 2013 13:14:30 +0000 (10:14 -0300)]
Bug 10733: Follow up - unset variables from koha-sites.conf if USE_MEMCACHED=no

As configuration variables from koha-sites.conf overwrite the ones in the
koha-create script we need to unset them in case we have USE_MEMCACHED="no".

Sponsored-by: Universidad Nacional de Cordoba
Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Robin Sheat <robin@catalyst.net.nz>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 10733: Memcached on package installs
Tomas Cohen Arazi [Fri, 31 May 2013 18:56:59 +0000 (15:56 -0300)]
Bug 10733: Memcached on package installs

This patch makes the koha-create script adjust the koha-conf.xml file
with the proper string substitutions to enable the use of memcached
for the created Koha instance.

It adds three option switches that control this:

 --use-memcached (defaults to "no")
 --memcached-servers "host1:port1,..." (defaults to '127.0.0.1:11211')
 --memcached-prefix "desired_namespace prefix" (defaults to 'koha_')

It respects the current schema configuration schema, where configuration
values are pondered like this:

hardcoded < koha-sites.conf < koha-create option switches

koha-sites.conf is read for USE_MEMCACHED, MEMCACHED_SERVERS and
MEMCACHED_PREFIX.

Note: the docs discourage setting user's own namespace prefix.

Using memcached is off as the default. The relevant configuration
variables will remain empty if the user doesn't pass --use-memcached
to the command. It matches the current behaviour.

To test:
- Apply the patch
- Build your own packages and install them on a test server
a) Create a new instance without using the new switches like:
 $ koha-create --create-db memctest
 - Check that /etc/koha/sites/memctest/koha-conf.xml contains:
   * Empty <memcached_servers> tag.
   * Empty <memcached_namespace> tag.

b) Play with the possible combination of option switches
(Note that the code defaults to empty and will remain like that if
--use-memcached is not used, so less tests...)

 $ koha-create --create-db --use-memcached memctest
 $ koha-create --create-db --use-memcached --memcached-servers "anything:xxx" memctest
 $ koha-create --create-db --use-memcached --memcached-servers "anything:xxx" --memcached-prefix "something" memctest
 $ koha-create --create-db --use-memcached --memcached-prefix "something" memctest

 - Check the koha-conf.xml and /etc/apache2/sites-enabled/memctest
   file reflect the chosen options.

c) Run
 $ koha-create --help
 - It should advertise this addition accordingly.

d) Run
 $ man koha-create
 - Man page for koha-create should provide good information on the new
   switches behaviour

Sponsored-by: Universidad Nacional de Cordoba
Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Robin Sheat <robin@catalyst.net.nz>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 10733: add 'memcached' as suggested dependency
Tomas Cohen Arazi [Wed, 14 Aug 2013 22:26:08 +0000 (19:26 -0300)]
Bug 10733: add 'memcached' as suggested dependency

Adds 'memcached' to the control.in file so the user is suggested by apt
to install it.

Sponsored-by: Universidad Nacional de Cordoba
Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Robin Sheat <robin@catalyst.net.nz>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 10962 - Update MARC21 frameworks to Update Nr. 17 (September 2013)
Bernardo Gonzalez Kriegel [Fri, 27 Sep 2013 21:55:02 +0000 (18:55 -0300)]
Bug 10962 - Update MARC21 frameworks to Update Nr. 17 (September 2013)

This patch updates MARC21 default bibliografic
framework and authorities frameworks to
Update Nr. 17 (September 2013)

Source

Bibliographic: http://www.loc.gov/marc/bibliographic/bdapndxg.html
Authorities: http://www.loc.gov/marc/authority/adapndxf.html

Only to new installs.

To test
1) Remove default MARC21 framework
2) Load marc21_framework_DEFAULT.sql
3) Verify new subtags

    015_q 020_q 024_q 027_q 800_7 810_7 811_7 830_7

4) Remove authorities frameworks
5) Load authorities_normal_marc21.sql
6) Verify new subtags

    020_q 024_q

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 10243: (follow-up) prevent TransportCostMatrix from overriding library holds...
Kyle M Hall [Wed, 9 Oct 2013 18:02:23 +0000 (14:02 -0400)]
Bug 10243: (follow-up) prevent TransportCostMatrix from overriding library holds policy

Using the TransportCostMatrix can cause the same issue. Removing the
last ditch use of the first item causes the the subroutine to continue
with the traditional matching, which will respect the hold policies.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 10243: (follow-up) add unit tests
Kyle M Hall [Mon, 16 Sep 2013 15:31:22 +0000 (11:31 -0400)]
Bug 10243: (follow-up) add unit tests

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 10243: prevent holds queue from making transfer requests that contradict library...
Kyle M Hall [Tue, 14 May 2013 19:59:07 +0000 (14:59 -0500)]
Bug 10243: prevent holds queue from making transfer requests that contradict library holds policy

For some reason MapItemsToHoldRequests will, as a last ditch effort,
grab what seems to be an arbitrary available item to fill a hold request,
even if it will violate the circulation rules for holds.

In other words, even if an item matches a "Holds policy by item type"
that says "From home library", a request to transfer that item to
another library will be added to the holds queue!

Test Plan:
1) Create a record with a an item at BranchA of item type BOOK
2) Set the holds policy such that itemtype BOOK for BranchA is set
   to "From home library"
3) Place a bib-level hold request for a patron with a pickup at BranchB
4) Run build_holds_queue.pl
5) You should now see a request for that item to be transfered to
   BranchB, even though the rules should not allow this.
6) Apply this patch
7) Run build_holds_queue.pl again
8) View the holds queue again, that request should no longer exist

Signed-off-by: Heather Braum <hbraum@nekls.org>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 7688: (follow-up) update license statements
Galen Charlton [Wed, 30 Oct 2013 02:56:32 +0000 (02:56 +0000)]
Bug 7688: (follow-up) update license statements

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agobug 7688: (follow-up) add authentication checking
Galen Charlton [Wed, 30 Oct 2013 02:51:11 +0000 (02:51 +0000)]
bug 7688: (follow-up) add authentication checking

A couple web services introduced in the patch series
lacked authentication checks.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 7688: (follow-up) update DBIx::Class schema classes
Galen Charlton [Wed, 30 Oct 2013 02:42:40 +0000 (02:42 +0000)]
Bug 7688: (follow-up) update DBIx::Class schema classes

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 7688: (follow-up) correct SQL to create the subscription table
Galen Charlton [Wed, 30 Oct 2013 02:40:14 +0000 (02:40 +0000)]
Bug 7688: (follow-up) correct SQL to create the subscription table

Columns referring to a foreign key must have matching
types.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 7688: (follow-up) update test cases to reflect change in NewSubscription()
Galen Charlton [Wed, 30 Oct 2013 02:27:20 +0000 (02:27 +0000)]
Bug 7688: (follow-up) update test cases to reflect change in NewSubscription()

This patch also corrects an error in the description of
NewSubscription().

Named parameters for this function cannot come soon enough.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 7688: (follow-up) fix typo
Galen Charlton [Wed, 30 Oct 2013 00:28:40 +0000 (00:28 +0000)]
Bug 7688: (follow-up) fix typo

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 7688: DBRev 3.13.00.033
Galen Charlton [Tue, 29 Oct 2013 23:57:44 +0000 (23:57 +0000)]
Bug 7688: DBRev 3.13.00.033

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 7688: (follow-up) rewrite 'for' loop in unit tests
Julian Maurice [Thu, 4 Jul 2013 10:00:10 +0000 (12:00 +0200)]
Bug 7688: (follow-up) rewrite 'for' loop in unit tests

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 7688: (follow-up) add unit tests for C4::Serials::GetNextSeq()
Julian Maurice [Thu, 4 Jul 2013 09:32:06 +0000 (11:32 +0200)]
Bug 7688: (follow-up) add unit tests for C4::Serials::GetNextSeq()

These tests are split in two parts: "db dependent" and "db
independent".
GetNextSeq requires DB only when checking for irregularities.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 7688: (follow-up) add unit tests for C4::Serials::GetNextDate()
Julian Maurice [Wed, 3 Jul 2013 13:56:46 +0000 (15:56 +0200)]
Bug 7688: (follow-up) add unit tests for C4::Serials::GetNextDate()

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 7688: (follow-up) add unit tests for C4::Serials::Numberpattern
Julian Maurice [Wed, 3 Jul 2013 12:19:13 +0000 (12:19 +0000)]
Bug 7688: (follow-up) add unit tests for C4::Serials::Numberpattern

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 7688: (follow-up) add unit tests for C4::Serials::Frequency
Julian Maurice [Wed, 3 Jul 2013 11:57:32 +0000 (11:57 +0000)]
Bug 7688: (follow-up) add unit tests for C4::Serials::Frequency

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 7688: (follow-up) rewrite t/db_dependant/Serials.t
Julian Maurice [Mon, 8 Apr 2013 12:04:45 +0000 (12:04 +0000)]
Bug 7688: (follow-up) rewrite t/db_dependant/Serials.t

A lot of tests were just a call to a funtion without any arguments,
whereas the function expect at least one argument.
These tests were kept, but all return values are now undef when a
mandatory argument is missing, so return values are consistent.

The part where subscription periodicity is changed could not work
because of ',' appended to each key in ModSubscription call. So it's
rewritten, taking into account the new API for subscription frequencies.
This script should leave your database intact because it revert any
modification made.

Also fix some warnings in C4::Serials and in C4::Items.
And fix a typo in koha-tmpl/.../subscription-numberpatterns.tt

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Comment: Work as described. No errors
Tested, again, without trouble.
With a suscription, tests successful.
No koha-qa errors

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 7688: (follow-up) set firstacquidate in updatedatabase if it's not set
Julian Maurice [Fri, 22 Mar 2013 09:53:51 +0000 (09:53 +0000)]
Bug 7688: (follow-up) set firstacquidate in updatedatabase if it's not set

firstacquidate is now a mandatory field, so it must be set.

The updatedatabase process set firstacquidate value to one of:
- the planned date of the first serial for this subscription, or if not
  found,
- the subscription start date.

+ auto-select the numbering pattern when modifying a subscription.

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 7688: Change subscription numbering pattern and frequencies
Julian Maurice [Thu, 8 Mar 2012 16:12:55 +0000 (17:12 +0100)]
Bug 7688: Change subscription numbering pattern and frequencies

Serials numbering pattern and frequencies are no longer hard-coded. Now
it's possible to create, edit and delete numbering patterns (and
frequencies). This patch adds two new sql tables
(subscription_numberpatterns and subscription_frequencies)

Numbering patterns behave almost as before, there are still the same
values to configure (addX, everyX, settoX, whenmorethanX). lastvalueX
and innerloopX remain in subscription tables.

There is a new value in numbering patterns: numberingX. For each
"column" (X, Y or Z) you can tell how to format the number. Actually
numberingX can be set to:
 - 'dayname' (name of the day) (0-6 or 1-7 depending on which day is the
   first of the week)
 - 'monthname' (name of the month) (0-11)
 - 'season' (name of the season) (0-3) (0 is Spring)

These names are localized by using POSIX::setlocale and POSIX::strftime
and setting a 'locale' value to the subscription. Locale have to be
installed on the system.

Note that season names are not localized using POSIX::strftime (it can't
do this), so names are hardcoded into the code (available languages: en,
fr). This could be fixed in the future by using a Perl localization
framework.

Frequencies can be configured using 3 parameters:
 - 'unit': one of 'day', 'week', 'month', 'year'
 - 'issuesperunit': integer >= 1, the number of received issues per
   'unit'
 - 'unitsperissue': integer >= 1, the number of 'unit' between two
   issues
One of 'issuesperunit' and 'unitsperissue' must be equal to 1.
Examples:
  unit = 'day', issuesperunit=3, unitsperissue=1 => 3 issues per day
  unit = 'week', issuesperunit=1, unitsperissue=3 => 1 issue each 3
  weeks

Prediction pattern is now computed server-side and is more consistent
with what Koha will do. The publication date is displayed alongside the
serial number.

Irregularities can now be checked one by one, in the prediction pattern
table, or if frequency is 'day-based' (unit is 'day'), there is the
possibility to check all issues for a week day at once.

When an irregularity is found, there is the possibility to keep the
serial number unchanged, or to skip it. It is configured at subscription
creation or modification.

For instance, with a daily subscription you can have:
  skip serial number  |  keep serial number
----------------------+----------------------
 2012-01-01  ¦  No 1  | 2012-01-01  ¦  No 1
 2012-01-03  ¦  No 3  | 2012-01-03  ¦  No 2

To lighten the subscription modification page, manual history has been
moved in its own page subscription-history.pl which is accessible on
subscription-detail.pl, tab 'Planning'.

Important note: updatedatabase.pl script takes into account existing
subscriptions and create appropriate numbering patterns for them (it
tries to create as few patterns as possible). Frequency is
mapped to the correct entry in subscription_frequencies table.

This patch includes kohastructure.sql and updatedatabase.pl changes
+ sample frequencies data and sample numberpatterns data for fresh
installs (sample data is included in updatedatabase.pl)

=== TEST PLAN: ===

Create a new subscription:

  - Go to Serials module and click "New subscription" button
  - On the first page, choose a biblio and click next to go to the
    second page
  - Pick a first issue publication date
  - Choose frequency '1/day'
  - Choose a subscription length of 15 issues
  - Choose a subscription start date
  - Choose numbering pattern 'Volume, Number'
  - A table appears, fill 'Begins with' cells with '1'
  - Click on 'Test prediction pattern' button

The prediction pattern is displayed at the right of the page. You can
see in it the serial number, the publication date and a checkbox to
allow you to choose which serials will not be received (irregularities).

You can see that serial number start from "Vol 1, No 1" continue to "Vol
1, No 12" and then restart with "Vol 2, No 1".

Frequency is '1/day' so you can see that publication date is incremented
by one day line after line.

  - Now you can play a little with frequencies and numbering patterns,
    change one of them (or both) and click again on 'Test prediction
    pattern'
  - For example, choose frequency '3/weeks' and click on 'Test
    prediction pattern' button'.

There is a little behaviour change compared with current master.
Publication date will not be guessed within the week. Koha can't know
when you will receive issues. So the publication date stay the same
(monday of each week) for 3 consecutive issues and then jump to the next
week.

  - Now choose frequency '1/3 months' and numbering pattern 'Seasonal'
  - Fill 'Begins with' cells with '2012' for Year and '0' for Season
  - Click on 'Test prediction pattern'
  - You should have something like 'Spring 2012', 'Summer 2012', ...,
    'Winter 2012', 'Spring 2013'
  - Note that you can have seasons for south hemisphere by entering '2'
    in 'Year/Inner counter'
  - 2nd note: if you have some locales installed on your system, you can
    type its name in the 'Locale' field (actually it does not work for
    seasons name, only for month names and day names)

If you want to modify the numbering pattern you can still do it here:

 - Click on 'Show/Hide advanced pattern' link. The advanced pattern
   table is shown but all fields are readonly
 - Click on 'Modify pattern' button. All readonly fields are now
   editable. Note that 'Begins with' and 'Inner counter' line are
   repeated here and any modifications in the small table will be
   replicated in the big table, and vice versa.
 - Pattern name is emptied, if you type a new name, a new pattern will
   be created, and if you type the same name as an existing numbering
   pattern, this one will be modified (with a confirmation message)
 - There is two new lines in this table:
   - Label: it's what is displayed in the smaller table headers above
   - Numbering: used to format numbers in different ways. can be
     'seasons', 'monthname' or 'dayname'. Month name and day name can be
     localized using the 'Locale' field. Seasons can't (values for
     English and french are hard-coded in Serials.pm)
 - You can modify what you want in the table and click on 'Test
   prediction pattern' button each time you want to see your
   modifications. (Note that checkboxes for irregularities aren't displayed
   in this mode, and you can't save the subscription until you have saved
   or cancelled your changes).
 - To cancel your modifications, just click on 'Cancel modifications'
   button.
 - To save them, click on 'Save as new pattern'. If the pattern name is
   already existing, a confirmation box will ask you if you want to
   modify the existing numbering pattern. Otherwise a new pattern will be
   created and automatically selected.

Once you have finished modifying numbering pattern, you can click again
on 'Test prediction pattern' to define irregularities, and then click on
'Save subscription'.

Now you can check the serials module still works correctly:

 - Check the subscription detail page to confirm that nothing is
   missing. Especially the 'Frequency' and 'Number pattern' information.
 - Try to receive some issues. Check that the serial number is correctly
   generated and if irregularities you have defined are taken into
   account (if you have defined some).
 - Check that receiving is blocked once you have reached the number of
   issues you have defined in subscription length (or once you have
   reached the subscription end date)

In serials menu (to the left of almost each page of serials menu) you
have two new links: 'Manage frequencies' and 'Manage numbering
patterns'.

'Manage numbering patterns' lead to a page which list all numbering
patterns and allow you to create, edit or delete them. The interface is
almost the same as numbering pattern modification in subscription-add.pl

'Manage frequencies' lead to a page which list all frequencies and allow
you to create, edit or delete them.

Try to create a new frequency:
 - Click on 'Manage frequencies' link in the serials menu and then click
   on 'New frequency':
 - Fill in the description (mandatory).
 - Unit is one of 'day', 'week', 'month', year' or 'None' ('None' is for
   an irregular subscription)
 - If unit is different from 'None' you have to fill the two following
   fields (Issues per unit, and Units per issue)
 - Note that at least one of those must be equal to 1
 - Issues per unit is the number of received issues by 'unit' and Units
   per issue is the number of 'unit' between two issues
 - Display order is used to build the drop-down list. Leave empty and it
   will be set to 0 (top of the list)
 - Then click on 'Save'
 - Check that this new frequency appears in the frequencies table and in
   the drop-down list in subscription-add.pl

Subscription history has been moved in its own page. To test if it still
works, choose a subscription with manual history enabled (or modify an
existing subscription to turn on manual history).

 - On the detail page, tab 'Planning', you should have a link 'Edit history'.
 - Click on it
 - Modify history and click on Save
 - In tab 'Summary' you should have the infos you just entered

And finally, you can check that old subscriptions (by old I mean
subscriptions that existed before the update) are correctly linked to an
existing numbering pattern and an existing frequency. Numbering patterns
should be named 'Backup pattern X' where X is a number.

Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Comment: Great development! Work as described. No koha-qa errors
(with all patches applied). Please QA this fast.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Squashed commits:
-----------------

Bug 7688 follow-up: Small fixes for QA

- # Subroutines::ProhibitExplicitReturnUndef: Got 1 violation(s) in
  C4::Serials::GetSubscriptionIrregularities
- Bad template constructions fixed in serials/subscription-add.tt

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
----

Bug 7688 follow-up: Small fixes for QA #2

- "return undef" -> "return"
- ":utf8" -> ":encoding(UTF-8)"
- TAB -> SPACES

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
----

Bug 7688: Translate sample frequencies for french

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
----

Bug 7688: Fix generating next serial when there is no 'Expected' issue

It can happen when the Expected issue is claimed. In this case the
status of the last serial is 'Claimed'

This patch change the API of GetNextSeq and GetSeq

Test plan:
- Create a subscription which starts a long time ago so that serials
  automatically appear in late issues
- Receive the first serial
- Go to claims page and claim the 2nd serial.
- Go back to the subscription page and click on 'Serial collection'
- You should have 2 serials, one 'Arrived' and one 'Claimed'.
- Click on Generate Next. This should fail with a software error message
  ("can't call method output ...")
- Apply this patch and click again on Generate Next. A new issue must be
  created with status 'Expected'.

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
----

Bug 7688: Followup FIX perldoc

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 11086: (follow-up) editing the database files also
Chris Cormack [Sun, 20 Oct 2013 18:51:29 +0000 (11:51 -0700)]
Bug 11086: (follow-up) editing the database files also

Signed-off-by: David Noe <drnoe@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Changes permission description in en and untranslated
installer files.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 11086: Fixing some grammatical mistakes in member-flags and tools-home
Chris Cormack [Sun, 20 Oct 2013 18:51:29 +0000 (11:51 -0700)]
Bug 11086: Fixing some grammatical mistakes in member-flags and tools-home

To test before the patch is applied notice that on the member-flags
page it says

"upload patron images in batch or one at a time"
After the patch it should say

"upload patron images in a batch or one at a time"

Try also for tools-home

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
String change, only affecting templates.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoTranslation files for 3.14.0-beta
Bernardo Gonzalez Kriegel [Tue, 29 Oct 2013 10:58:41 +0000 (07:58 -0300)]
Translation files for 3.14.0-beta

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 10671: Update Reports Help
Nicole C. Engard [Thu, 24 Oct 2013 14:51:31 +0000 (10:51 -0400)]
Bug 10671: Update Reports Help

Update all of the reports related help files.

To test:

* Visit report pages and confirm that text and links
are right.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 10671: Update holds help
Nicole C. Engard [Thu, 24 Oct 2013 03:48:51 +0000 (23:48 -0400)]
Bug 10671: Update holds help

This patch updates the manual link in the holds help
file.

To test:

* Place a hold in the staff client
* Click the help link
* Confirm manual link works

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 10671: Update Reviews Help
Nicole C. Engard [Thu, 24 Oct 2013 03:46:39 +0000 (23:46 -0400)]
Bug 10671: Update Reviews Help

This patch updates the link to the manual in the comments
moderation help.

To test:

* Visit comments moderation
* Click the help link
* Confirm manual link works

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 10671: Remove Unused Help File
Nicole C. Engard [Thu, 24 Oct 2013 03:44:27 +0000 (23:44 -0400)]
Bug 10671: Remove Unused Help File

This patch removes an unused help file in the help/export
folder.

To test:

Just confirm that the file is removed, there were no links
to it anymore.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
A corresponding page in Koha doesn't seem to exist.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 10671: Update Offline Circ Help
Nicole C. Engard [Thu, 24 Oct 2013 03:38:56 +0000 (23:38 -0400)]
Bug 10671: Update Offline Circ Help

This patch updates the offline circulation help files.

To test:

Visit the KOC file upload and pending transactions page
Review the help and check the links

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 10671: Update suggestion help
Nicole C. Engard [Tue, 15 Oct 2013 19:57:33 +0000 (15:57 -0400)]
Bug 10671: Update suggestion help

To test visit the suggestion management pages
and confirm that the link in the help file goes
to the right manual.

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

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
11 years agoBug 10671: Update plugins help
Nicole C. Engard [Tue, 15 Oct 2013 19:55:47 +0000 (15:55 -0400)]
Bug 10671: Update plugins help

To test visit the plugin pages and confirm that the links
to the manual are right.

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

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>