Jonathan Druart [Wed, 20 Jan 2016 17:31:50 +0000 (17:31 +0000)]
Bug 15632: Koha::Patron::Messages - Add new classes
The following 4 CRUD subroutines in C4::Members:
- AddMessage
- DeleteMessage
- GetMessagesCount
- GetMessages
could be replaced with a new package based on Koha::Objets.
This patchset will add the 2 Koha::Patron::Message[s] classes, then use
it to replace the different calls to these subroutine.
It will slightly reduce the size of C4::Members
Signed-off-by: Marc Véron <veron@veron.ch> Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
Jonathan Druart [Thu, 17 Dec 2015 10:57:48 +0000 (10:57 +0000)]
Bug 15084: DBIx::Class - Shema changes
Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
Jonathan Druart [Thu, 29 Oct 2015 14:55:23 +0000 (14:55 +0000)]
Bug 15084: DB Changes - add currency.archived and FK on aqorders.currency
See the comment for details.
Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
Jonathan Druart [Thu, 29 Oct 2015 14:54:40 +0000 (14:54 +0000)]
Bug 15084: Add tests for Koha::Acquisition::Currenc[y|ies]
Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
Jonathan Druart [Thu, 29 Oct 2015 14:51:37 +0000 (14:51 +0000)]
Bug 15084: Remove C4::Budgets::ConvertCurrency
This subroutine is unused and can be removed.
There is no trace left of currency in C4::Budgets.
Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
Jonathan Druart [Thu, 29 Oct 2015 12:21:52 +0000 (12:21 +0000)]
Bug 15084: Replace C4::Budgets::GetCurrencies with Koha::Acquisition::Currencies->search
Most part of the code here is unnecessary complex. We should selected
the currency if it is selected, that's all :)
Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
Jonathan Druart [Thu, 29 Oct 2015 11:43:29 +0000 (11:43 +0000)]
Bug 15084: use Koha::Acquisition::Currenc[y|ies] in admin/currency
Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
Jonathan Druart [Thu, 29 Oct 2015 15:31:39 +0000 (15:31 +0000)]
Bug 15084: Make sure the previous active currency is marked as inactive
On inserting an active currency, others should be marked as inactive.
We can only have 1 active currency at the same time.
Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
The first step of this patch set is to move the business logic code from
admin/currencies.pl to Koha::Acquisition::Currenc[y|ies].
Then a foreign key will be created on aqorders.currency as we want to
assure data integrity. Note that a aqbooksellers.currency also exists
but is never used. It could be removed in another bug report.
This update has to care about possible breaking relation. For instance
an old order has been made using a currency which is now deleted. To be
sure the update process won't break a new column currency.archived is
created and leave open the door for a further improvement (marked a
currency as archived from the interface: this won't be provided by this
enhancement).
These archived currencies won't appear on the interface for newly
created items (order/suggestion).
Once this is done it becomes easy to remove the subroutine from
C4::Budgets: GetCurrencies and GetCurrency.
ConvertCurrency will also be removed but is not used anymore.
Note that none of these subroutines were covered by tests. Now they are.
Test plan:
0/ Don't apply this patch
1/ Create a temporary currency and an order using it
2/ Remove the currency from your CLI
3/ Apply the patch and execute the DB entry
4/ Note that the currency is inserted and marked as archived.
5/ Edit the previous order and confirm that the correct currency is
still selected.
It won't never be displayed anywhere else.
6/ Test the admin script: on admin/currency.pl add/remove/edit
currencies.
You could not have 2 active currencies at the same time.
7/ Then on the different scripts of the acquisition module, focus on the
currencies values and create a new order, receive it.
Create/edit a suggestion
Other changes must be checked by the QAer.
Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
Kyle M Hall [Thu, 21 Aug 2014 15:22:30 +0000 (11:22 -0400)]
Bug 12803 - Add ability to skip closed libraries when generating the holds queue
The holds queue is typically generated many times a day in order to
select items to fill holds. Often these items are to be sent to a
different library. However, if the library whose item is picked to fill
a hold is closed, that hold will remain unfilled even if there are other
open libraries who own that item. It would be helpful if we could skip
closed libraries for the purpose of selecting items to fill holds.
Test Plan:
1) Apply this patch
2) Run updatedatabase.pl
3) Create a record with two items on it, one at Branch A, and one at
Branch B
4) Place a hold for pickup at Branch C
5) Generate the holds queue
6) Note which branch's item is selected for the hold
7) Enable the new system preference HoldsQueueSkipClosed
8) Add today as a holiday for that branch noted in step 6
9) Regenerate the holds queue
10) View the holds queue, notice the item selected is not from
the closed branch!
11) prove t/db_dependent/HoldsQueue.t
Signed-off by: Jason Robb <jrobb@sekls.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
Marcel de Rooy [Mon, 15 Feb 2016 08:13:58 +0000 (09:13 +0100)]
Bug 12426: [QA Follow-up] Clear to_address to force update
When resending an email from the Notices tab in Patrons, we would like
to use the recent email address.
Test plan:
[1] Look up a patron with some notices sent.
[2] Adjust the patron email address (watch AutoEmailPrimaryAddress).
[3] Resend the notice. Verify if the new address was used.
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
This patch allows to resend both sent and failed messages.
With messages in 'sent' status, we have to be careful not to accidentally send
sent messages again. With the previous patch using GET request, this was likely
to happen because of browser storing the GET parameters.
This patch changes request method from GET to POST. Instead of a simple link,
we now have a form element.
In notices.pl we redirect back to notices.pl, because with POST there is a risk
of resending the message accidentally by form resubmission at refresh.
To test, find/create a Patron that has sent or failed notices in message_queue:
1. Enable EnchancedMessagingPreferences system preference
2. Go to Patrons -> Notices
3. In the Notice column, click the title of the sent or failed message
4. Observe that there is nothing for resending the sent or failed message
5. Apply the patches.
6. Reload Notices page and repeat step 3
7. Observe that there is now a link "Resend" in the Status-column
8. Click Resend
9. Observe that the message gets into 'pending' status
Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
Jonathan Druart [Mon, 14 Sep 2015 10:35:56 +0000 (11:35 +0100)]
Bug 12426: Simplify the code adding a new subroutine GetMessage
The C4::Letters module does not have a GetMessage subroutine, which
could be quite useful.
This patch adds it and simplifies the code added by the previous patch.
It also adds a few tests and fixes POD typos.
Note that ResendNotice only resends failed messages. This will avoid to
resend already sent messages (using an url from the browser history for
instance).
Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
Bug 12426: Allow resending of messages from the notices tab in the patron account
This patch adds a link 'Resend' under a notice in 'failed' status
in the Patron's Notices tab.
By clicking the link, we will request notices.pl with parameter
"resendnotice=XXXXX" where XXXXX is message_id. In notices.pl,
we then check whether the given message is actually in 'failed'
status. If so, we use the C4::Letters::ResendMessage(123) to
change the status of the message into 'pending'. This way it
will be processed again by the cronjob process_message_queue.pl.
To test, find/create a Patron that has failed notices in message_queue:
1. Enable EnchancedMessagingPreferences system preference
2. Go to Patrons -> Notices
3. In the Notice column, click the title of the failed message
4. Observe that there is nothing for resending the failed message
5. Apply patch.
6. Reload Notices page and repeat step 3
7. Observe that there is now a link "Resend" in the Status-column
8. Click Resend
9. Observe that the message gets into 'pending' status
Works as expected. Signed-off-by: Marc Véron <veron@veron.ch> Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
Mirko Tietgen [Thu, 3 Mar 2016 06:58:55 +0000 (07:58 +0100)]
Bug 14168: (followup) require WWW::YouTube::Download only when syspref enabled
This patch fixes the problem of missing WWW::YouTube::Download breaking
record detail views. Instead of a general 'use', the module is only
required if the related syspref is enabled.
Signed-off-by: Jesse Weaver <jweaver@bywatersolutions.com> Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
Jonathan Druart [Wed, 25 Sep 2013 14:45:14 +0000 (16:45 +0200)]
Bug 11023: Automatic item modification by age (Was Toggle "new" status")
This patch adds:
- a new DB field items.new.
- a new page to configure this new status
(tools/toggle_new_status.pl).
- a new cronjob script (misc/cronjobs/automatic_item_modification_by_age.pl
was misc/cronjob/toggle_new_status.pl)
Why this status is useful for some libraries ?
The use cases are:
- to know easily what are the new items (with a simple sql query).
- to display an icon in the search results.
- issuing rules can be adapt for new items. Automatically (using the
cronjob script), the status change (depending the configuration) and
the item can be issued, for example.
- a RSS/Atom feeds can be created on these new items.
Test plan:
- log in with a librarian having the tools > items_batchmod permission.
- navigate to Home > Tools > Automatic item modifications by age (was: Toggle new status)
- click on the edit button
- there are 3 "blocks":
* duration: the duration during an item is considered as new.
* conditions: the status will change only if the conditions are meet.
* substitutions: if there is no substitution, no action will be done.
You can add some change to apply to the matching items.
E.g. ccode=3
new=''
If the value is an empty string (in other words, the input does not
contain anything), the field will be deleted.
You can create as many rules as you want.
- test the interface : add/remove rule, conditions, substitutions,
submit the form, edit, etc.
(There is a looot of JS everywhere, so certainly a looot of bugs...).
- when you have your rules defined, you can now launch the cronjob
script without any parameter.
A report will be displayed with the matching itemnumber and the
substitutions to apply. Verify results are consistent.
- launch the script with the -c argument and verify values have been
modified depending the substitution rules.
Signed-off-by: juliette et remy <juliette.levast@iepg.fr> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Bug 11023: Add the ability to specify fields from biblioitems table.
Test plan:
Same as before but try with fields from the biblioitems table.
Signed-off-by: juliette et remy <juliette.levast@iepg.fr> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Bug 11023: Add UT for C4::Items::ToggleNewStatus
Test plan:
prove t/db_dependent/Items/ToggleNewStatus.t
Signed-off-by: juliette et remy <juliette.levast@iepg.fr> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Bug 11023: FIX - condition on biblioitems table does not work
If a rule contains a condition on the biblioitems table, the match won't
work. This patch fixes this issue.
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Bug 11023: Use DBIx-Class to retrieve column names
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Bug 11023: Don't use the biblioitems fields for the subtitution
It's dangerous to allow a change on the biblioitems fields with this
feature.
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Bug 11023: Rename the duration parameter with 'age'
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Bug 11023: The age parameter should be a number
The template should check if the age parameter is correctly filled
(should be a number).
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Bug 11023: Change the name of the feature
Originaly this feature only permits to update the "new" field.
Now all item fields can be updated.
The name of the feature is now "Automatic item modifications by age".
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Bug 11023 [QA Followup]
* Update DB version
* Fix capitalization error
* Rename misc/cronjobs/toggle_new_status.pl to misc/cronjobs/automatic_item_modification_by_age.pl
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Bug 11023 [QA Followup] - Complete the renaming of "toggle new status" to "automatic item modification by age"
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
Owen Leonard [Tue, 23 Feb 2016 19:27:31 +0000 (14:27 -0500)]
Bug 15887: Revise layout and behavior of item search fields management
This patch adds some JavaScript to the item search fields management
page so that the add form is not displayed by default. This simplifies
the interface and makes it more consistent with other similar
interfaces.
Also changed in this patch:
- Changing instances of "Items search fields" to "Item search fields."
- Correct form structure to use ordered list
- Add "required" classes and enable built-in JS form validation.
- Add explicitly labeled "Choose" options to <select>s.
- Add missing ids to form fields (labels don't work without them).
- Correct classes of message and alert dialogs.
- Add JS confirmation of deletions.
- Convert MARC tag and subfield dropdowns to regular inputs (Bug 15384).
To test, apply the patch and go to Administration.
- Confirm that the "Item search fields" link is correct.
- Follow the link and confirm that the list of existing fields is shown
by default, or a message saying there are no existing fields.
- Click the "New search field" button and confirm that it displays the
entry form.
- Confirm that submitting an empty form does not work.
- Confirm that clicking the "Cancel" link correctly hides the form.
- Confirm that submitting valid data works correctly.
- In the table of existing item search fields, confirm that the "Edit"
button works correctly.
- Confirm that submitting edits works correctly.
- In the table of existing item search fields, confirm that clicking
"Delete" highlights the row in question and a confirmation dialog
appears.
- Test both canceling and confirming deletion.
Signed-off-by: Hector Castro <hector.hecaxmmx@gmail.com>
Works as described. JSHint OK, koha-qa OK.
Revision per QA: Undid the change making tag and subfield inputs text
fields.
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
Owen Leonard [Fri, 26 Feb 2016 18:27:17 +0000 (13:27 -0500)]
Bug 15927 - Remove use of <tr class="highlight"> for alternating row colors
The "highlight" class on table rows is unnecessary since we have a CSS
rule which defines colors for alternating row colors. This patch removes
use of the "highlight" class from templates and removes the definition
from staff-global.css
To test, view the affected pages and confirm that the change has not
broken anything.
Acquisitions -> Vendor -> View basket
Acquisitions -> Late orders
Acquisitions -> Ordered
Acquisitions -> Vendor -> Receive shipment
Acquisitions -> Spent
Acquisitions -> Vendor details -> Contracts table
Administration -> MARC frameworks (comment removed only)
Administration -> Class sources
Authorities -> Authority search results
Catalog -> Bibliographic detail page -> Items -> View item's checkout
history
Catalog -> subject.tt (is this template used?)
Cataloging -> Cataloging search results
Patrons -> Patron account
Reports -> Patrons who haven't checked out
Reports -> Statistics wizards -> Patrons
Reports -> Top lists -> Most-circulated items
Reports -> Inactive -> Items with no checkouts
Reports -> Reports dictionary
Reports -> Statistics wizards -> Circulation
Reports -> Statistics wizards -> Holds
Holds -> Place a hold -> Existing holds table
Serials -> New subscription -> Search for a vendor -> Search results
Serials -> Check expiration
Serials -> Subscription -> Serial collection
Serials -> Subscription -> Serial collection -> Edit serials
Suggestions
Tags -> View tags -> View titles with a tag
Tools -> Manage staged MARC records -> Batch (I think the affected
section of this template is obsolete)
Tools -> Log viewer -> Log result
Lists -> View lists (May be broken by Bug 15916)
Note that if you search the templates for instances of a <tr> with a
"highlight" class you'll find two instances in slip templates which
refer to a class defined in printreceiptinvoice.css.
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
Looks good. Haven't seen any regression.
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
Galen Charlton [Tue, 1 Mar 2016 13:51:56 +0000 (13:51 +0000)]
Bug 15947: move SIPILS.t to DB-dependent test directory
SIPILS.t requires an active koha-conf.xml to pass,
and consequently is moved to t/db_dependent so that
'make test' can succeed.
To test
-------
[1] Unset KOHA_CONF and either do a make test or a
prove -v t/SIPILS.t. Note that the tests fail.
[2] Apply the patch and run make test again; this time,
the test suite should pass.
[3] Verify that with KOHA_CONF *set*,
prove -v t/db_dependent/SIPILS.t passes.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
To test, apply the patch and clear your browser cache. Edit the primary
email address of a patron so that it is very long. View that patron in
the staff client (on the checkout or details page, for instance) and
confirm that the email address is truncated with "..."
Confirm that the link and the title attribute of the link contain the
correct, full email address.
Revision uses a percentage instead of a fixed width for email display in
the sidebar to accommodate varying sidebar widths. Also added: Handling
of all email addresses displayed on the patron detail page. Although
email addresses in the body of that page were not in the scope of the
original patch, it's a good improvement to include those as well.
Signed-off-by: Owen Leonard <oleonard@myacpl.org> Signed-off-by: Marc Véron <veron@veron.ch> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
Kyle M Hall [Tue, 8 Jul 2014 15:49:50 +0000 (10:49 -0500)]
Bug 14134 - Make "Holds over" show holds expiring tomorrow if ExpireReservesMaxPickUpDelay is set
If ExpireReservesMaxPickUpDelay is enabled, the "holds over" tab becomes
useless. It would be nice if the "holds over" tab would display
*tomorrow's* "holds over" so the librarian can see what will be
automatically canceled over night.
Test Plan:
1) Apply this patch
2) Enable ExpireReservesMaxPickUpDelay
3) Note the "holds over" list now displays holds that will have been
waiting more than the number of days defined in ReservesMaxPickUpDelay
as of tomorrow.
Signed-off-by: Jason Burds <JBurds@dubuque.lib.ia.us> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
Bug 14532: (followup) Use tar's --exclude for simplicity
This patch creates an --exclude definition for the tar command
so it is easier to stack excluded stuff. It does so for the
authority and biblio indexes if --exclude-indexes is passed.
A side effect from this, is that uploads and plugins are still
backed up, as Jonathan noted.
Regards
Edit: Fixed a weird quoting problem.
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
Bug 14532: Add --exclude-indexes switch to koha-dump
This patch changes the default behaviour of koha-dump to make the inclusion
of Zebra indexes on the dump optional. It does so by introducing a new option
switch that allows to have the previous behaviour in place.
To test:
- Run
$ koha-dump your_instance
- Save a copy of the dump files
- Apply the patch / extract the koha-dump script
- Run the new one:
$ koha-dump your_instance
=> SUCCESS: Verify the contents of the dump are the same
(i.e. it includes /var/lib/koha/your_instance)
- Run with the new switch:
$ koha-dump --exclude-indexes your_instance
=> SUCCESS: The dump does not contain stuff from /var/lib/koha/your_instance
- Go through the rest of the new option switches
-h | --help
-q | --quiet
=> SUCCESS: They work as expected.
- Sign off :-D
Regards
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
Jesse Weaver [Mon, 31 Aug 2015 23:45:16 +0000 (17:45 -0600)]
Bug 14659: Allow patrons to enter card number and patron category on OPAC registration page
Test plan:
1. Open OPAC self-registration page while logged out.
2. Note that cardnumber and categorycode are not shown.
3. Remove cardnumber and categorycode from
PatronSelfRegistrationBorrowerUnwantedField.
4. Enable autoMemberNum.
5. Reload self-registration page, note that categorycode now shows.
6. Disable autoMemberNum.
7. Reload self-registration page, note that cardnumber now shows.
8. Try saving a patron with an existing cardnumber; this should fail
and explain why.
9. Set CardnumberLength, and verify that those length restrictions are
enforced.
10. Verify that patron can be created with custom categorycode and
cardnumber.
Signed-off-by: Michael Sauers <msauers@dospace.org> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
Kyle M Hall [Fri, 28 Aug 2015 11:31:10 +0000 (07:31 -0400)]
Bug 14751 - Allow C4::Context->interface to be set to 'sip' or 'commandline'
Koha::Logger allows us to split up logging to separate files based on
the interface. However, right now the interface is limited to just
'opac' or 'intranet'.
We should extend this to allow the interface to also be set to 'sip'
for SIP server logging, and to 'commandline' for cronjobs and all other
command line scripts.
Signed-off-by: Chris <chris@bigballofwax.co.nz>
Does what it says on the tin
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
Nick Clemens [Wed, 10 Feb 2016 00:54:26 +0000 (00:54 +0000)]
Bug 14753 - Use columns configuration for checkins table
This patch adds the ability to configrue the visible columns on the
check in screen.
To test with both patches:
1 - Check in an item
2 - Note there is no 'Date acquired' column
3 - Apply patches
4 - Note there is still no 'Date acquired' column
5 - Note that there is now a "Show / hide columns" button
6 - Verify that you can check the box and view the 'Date acquired'
column
7 - Verify that showing/hiding columns works (it will not carry over
between items due to page reload)
8 - Verify that changes from the 'Configure columns' section of
Administration hold between checkins
Sponsored by: North Central Regional Library (ncrl.org)
Signed-off-by: Marc Véron <veron@veron.ch> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
C4::Koha::IsAuthorisedValueCategory contains only 2 useful calls, from
C4::Reports::Guided and reports/guided_reports.pl
It can be replaced with
Koha::AuthorisedValues->search({ category => $authorised_value})->count
Test plan:
1/ Create a sql report using an authorised value category, something
like:
SELECT COUNT(*) FROM items where itemlost=<<lost|LOST>>
2/ Execute the report and confirm that everything works fine.
3/ Create a sql report using a nonexistent authorised value categor,
something like:
SELECT COUNT(*) FROM items where itemlost=<<lost|NONEXIST>>
4/ When saving the report, you should get a warning message
"lost: The authorized value category (NONEXIST) you selected does not exist."
5/ Save anyway and execute the report, you should get the same warning
message.
QA:
git grep IsAuthorisedValueCategory
should not return any results
prove t/db_dependent/ReportsGuided.t
should return green
Signed-off-by: Hector Castro <hector.hecaxmmx@gmail.com>
Works as described
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
Aleisha [Mon, 15 Feb 2016 22:14:43 +0000 (22:14 +0000)]
Bug 15821: Use Font Awesome icons in confirmation dialogs - Circulation
To test, apply the patch and test deletion in the following cases. Test
both confirmation and cancel actions.
Circulation -> Check out
-> An item that is checked out by someone else
-> An item that is on hold to someone else
-> To a patron that has more than noisuescharge in fines (Allow
AllowFineOverride syspref)
-> To a patron that has reached the max amount of checkouts (Allow
AllowTooManyOverride syspref)
-> To a patron that has more than noissuescharge in fines (Allow
AllowFineOverride syspref and set noissuescharge syspref)
-> Renew -> An item that is on hold to someone else
-> To a patron that is at max renewals (Allow AllowRenewalLimitOverride syspref)
-> An item that is not checked out by anyone
-> Check in -> An item that is in transit to another branch
And look for other confirmation dialogs and check if I've missed any
Sponsored-by: Catalyst IT
EDIT: Made changes from Comment 2 Signed-off-by: Owen Leonard <oleonard@myacpl.org> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
Owen Leonard [Wed, 24 Feb 2016 17:18:01 +0000 (12:18 -0500)]
Bug 15910 - Move header search keep text JavaScript into staff-global.js
Bug 14189 added some global JavaScript to a new include file which is
included in doc-head-close.inc. Since it's included globally, there is
no reason not to move it to staff-global.js. This patch does so.
To test, apply the patch and clear your browser cache if necessary.
- Navigate to any page in the staff client which has multiple header
search tabs.
- Type something in one of the tabs.
- Switch tabs. Verify that your text was copied to the newly-displayed
form field.
Followed test plan, works as expected. Signed-off-by: Marc Véron <veron@veron.ch> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
Kyle M Hall [Tue, 26 Jan 2016 16:42:44 +0000 (16:42 +0000)]
Bug 15675 - Add issue_id column to accountlines and use it for updating fines
Right now, fines are updated based on the fine description. There are a
number of areas where this can go wrong ( date or time format changing,
title being modified, etc ). Now that issues has a unique
identifier, we should use that for selection and updating of fines.
Test Plan:
1) Apply this patch
2) Test creating and updating fines via fines.pl
and checking in overdue items. No changes should be noted.
3) prove t/db_dependent/Circulation.t
Marc Véron [Tue, 2 Feb 2016 10:34:16 +0000 (11:34 +0100)]
Bug 15721: About page does not display Apache version
This patch changes about.pl to get version information from
C4::Context where applicable and fixes missing display of
the Apache version e.g. for Apache/2.2.22
To test:
- Without patch, open about page in staff client
- Remember contents of tab 'Server information'
(e.g. make a screenshot)
- Apply patch
- Verify, that the About page displays the same information
as before rsp. additionally displays Apache version if
it was missing without patch.
Signed-off-by: Hector Castro <hector.hecaxmmx@gmail.com>
Works as described Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar> Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
Owen Leonard [Thu, 11 Feb 2016 17:23:49 +0000 (12:23 -0500)]
Bug 15804: [Revised] Use standard dialog style for confirmation of MARC subfield deletion
When deleting a MARC framework subfield, the confirmation message is not
styled. This patch modifies the template to style the confirmation
message like similar ones.
Depends on Bug 15785 - Use Font Awesome icons in confirmation dialogs
To test, apply the patch and go to Administration -> MARC framworks.
- Click 'MARC structure' for a framework you can edit.
- Click 'subfields' for a tag you can edit.
- Click 'Delete' for a subfield you can delete. You should see a
confirmation dialog styled like other "alert" type dialogs.
- Test both canceling and confirming deletion to confirm that both
function correctly.
Revised to fix conflicts with rollback of Bug 13618
Signed-off-by: Hector Castro <hector.hecaxmmx@gmail.com>
Works as expected. Revised according with bug revert 13618
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
Owen Leonard [Fri, 19 Feb 2016 18:30:44 +0000 (13:30 -0500)]
Bug 15867: Move MARC modification templates JavaScript into separate file
The JavaScript embedded in the MARC modification templates template is
not dependent on template processing to such an extent that it can't
be safely moved to a separate file. This patch does so, adding
definition of a some translatable strings to the template.
Other minor changes: A couple of JSHint warnings corrected, a couple of
missing semicolons added to template markup.
To test, apply the patch and go to Tools -> MARC modification templates
- Confirm that The add/update form works normally with various actions
(Add/update,Delete,Move, etc.).
- Confirm that template switching works correctly.
- Confirm that template deletion confirmation works correctly.
- Confirm that cancelling an edit works correctly
Signed-off-by: Hector Castro <hector.hecaxmmx@gmail.com>
Works as advertised
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
Owen Leonard [Tue, 23 Feb 2016 14:16:13 +0000 (09:16 -0500)]
Bug 15884 - Vendor contract deletion warning is incorrectly styled
When deleting a contract in Acquisitions -> Vendor -> Contracts, the
deletion confirmation message is not styled with the standard "dialog
alert" <div>. This patch modifies the confirmation markup to match the
standard.
To test, apply the patch and go to Acquisitions -> [ a vendor] ->
Contracts
- Try deleting a contract. The confirmation box should have the standard
"dialog alert" class.
- Test the 'confirm' and 'cancel' actions and make sure both complete
correctly.
Followed test plan, works as expected. Signed-off-by: Marc Véron <veron@veron.ch> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
Owen Leonard [Thu, 25 Feb 2016 18:45:54 +0000 (13:45 -0500)]
Bug 15920: Clean up and fix errors in batch checkout template
The batch checkout template has some markup and JavaScript problems
which need to be resolved, including:
- Mismatched <h3></h1>
- JavaScript includes which are not used
- Incorrect DataTables configuration
- Incorrect class on warning dialogs
- Incorrect terminology: Use "checkout" instead of "issue"
This patch also changes the markup and styling of batch checkout errors,
using Font Awesome icons to retain highlighting of warnings and errors
while (I hope) improving readability.
To test, apply the patch and go to batch checkout for a patron for whom
batch checkouts are enabled.
- Check out a batch of barcodes. Include items which will trigger errors
or warnings. For example: Invalid barcodes, lost items, items which
are already checked out, items which are on hold for another patron,
items which are damaged.
- When the table of items is displayed so that you can confirm the
checkout, make sure the table is sortable.
- Think about whether the style changes on warnings and errors are an
improvement.
- Try to initiate a batch checkout to a patron who is restricted. You
should see an "alert" style dialog instead of a "message" style one.
- Validate the HTML and confirm that there are no errors raised by this
template's markup.
Signed-off-by: Hector Castro <hector.hecaxmmx@gmail.com>
Works as described
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
Jonathan Druart [Mon, 29 Feb 2016 07:32:14 +0000 (07:32 +0000)]
Bug 15674: Make "Column visibility" translatable
The "Column visibility" text button was not translatable, now it is.
Test plan:
1/ Update the template for a given language and translate the "Column
visibility" string
2/ Go on admin/currency.pl
=> The string should be translated.
Owen Leonard [Mon, 22 Feb 2016 18:09:00 +0000 (13:09 -0500)]
Bug 15880 - Serials new frequency link should be a toolbar button
This patch converts the "new frequency" link to a Bootstrap-style
toolbar button in order to maintain consistency. Also included in this
patch are some other minor markup corrections:
- A colon and space after labels
- A 'Cancel' link instead of a button.
- "Required" classes for a required field.
To test, apply the patch and go to Serials -> Manage frequencies.
- Test the "New frequency" button
- Confirm that the changes to the entry form look correct.
Followed test plan, displays as expected. Signed-off-by: Marc Véron <veron@veron.ch> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
Owen Leonard [Mon, 22 Feb 2016 18:21:28 +0000 (13:21 -0500)]
Bug 15881 - Serials new numbering pattern link should be a toolbar button
This patch converts the "new numbering pattern" link to a
Bootstrap-styled toolbar button for consistency with other pages in
Koha. This patch also includes minor markup corrections:
- Standardizing on the phrase "Numbering patterns" by eliminating the
occasional use of "number patterns."
- Removing mistaking closing slash on <select>
- Using standard "Cancel" link instead of a button.
- Adding a colon and space after labels.
- Fixing of "no existing patterns" message.
To test, apply the patch and go to Serials -> Numbering patterns
- Confirm that the "New numbering pattern" button looks correct and
works correctly.
- Confirm that the entry form looks correct and that the cancel link
works as expected.
Followed test plan, works as expected. Signed-off-by: Marc Véron <veron@veron.ch> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
Jonathan Druart [Tue, 1 Mar 2016 10:52:39 +0000 (10:52 +0000)]
Bug 15939: Action logs - Do not default dates to today
When accessing the modification logs from a link that does not
explicitly set the to and from dates (e.g., from patron or bib details),
no results are displayed unless the object had an action occur during
the current day.
This is a side-effect of commit 5dceb851 for bug 13813.
Test plan:
- View the modification logs of a record which has already been modified
(/tools/viewlog.pl?do_it=1&modules=CATALOGUING&action=MODIFY&object=XXX)
=> Without this patch, you won't see any logs (unless you have modified
the record today)
=> With this patch, the behavior is the same as prior bug 13813 (you can
check in 3.20.x), you will see all logs
Kyle M Hall [Mon, 15 Feb 2016 12:58:14 +0000 (12:58 +0000)]
Bug 15842 - Cannot import patrons if the csv file does not contain privacy_guarantor_checkouts
When importing patrons with a csv file which does not contain the privacy_guarantor_checkouts column in the header, you will get
DBIx::Class::Storage::DBI::_dbh_execute(): Column 'privacy_guarantor_checkouts' cannot be null at /home/koha/src/C4/Members.pm line 768
The same issue seems to occur for sms_provider_id.
Test Plan:
1) Attempt to import patron csv file with no privacy_guarantor_checkouts column
2) Note the error
3) Apply this patch
4) Repeat step 1
5) The error should no longer occur
NOTE: While this patch does work, should it be solved only
at this level? The issue that there is the lack of those two
fields on the tools screen still exists.
Signed-off-by: Mark Tompsett <mtompset@hotmail.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
Set 'B' to the default dom of Datatable constructor.
This cannot work if there is no button defined.
This patch defined an empty 'buttons' param for this constructor, DT
does not raised an error anymore when initialising.
Test plan:
Confirm that the tables on the following tables are not broken:
- circ/waitingreserves.pl
- circ/reserveratios.pl
- patron_lists/lists.pl
- virtualshelves/shelves.pl
- acqui/invoices.pl
And with datatables:
- circ/circulation.pl
- admin/currency.pl
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
Jonathan Druart [Mon, 29 Feb 2016 08:10:59 +0000 (08:10 +0000)]
Bug 15923: Take the id list file into account when exporting records
When exporting records (tools/export.pl or misc/export_records.pl), a
file of ids (authid or biblionumber) can be passed to filter the
results.
Bug 14722 has broken this behavior.
Test plan:
Export records and specify a list of records to filter the results.
Prior to this patch, the record with the id 1 was exported.
Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
Mirko Tietgen [Thu, 22 Oct 2015 17:39:37 +0000 (19:39 +0200)]
Bug 14168 - enhance streaming cataloging to include youtube
Add optional embedding of YouTube videos via HTML5Media.
New syspref: HTML5MediaYouTube: Embed/Don't embed videos.
Format WEBM is hardcoded as it is the only format accepted by all
modern browsers.
Test plan:
- apply patch
- catalogue a YouTube link in 856$u
- turn on HTML5MediaEnabled and HTML5MediaYouTube
- open the record in OPAC and staff client, check that the
'Play media' tab is showing and playing the video works.
Possible enhancements for followups:
- check available formats, offer quality choice
- accept official YT URL shortener
Signed-off-by: Aleisha <aleishaamohia@hotmail.com>
Works perfectly!
Signed-off-by: Nicole C Engard <nengard@bywatersolutions.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
This patch adds test cases for the new syspref NoRenewalBeforePrecision.
Tests if GetSoonestRenewDate returns correct values for both 'date' and
'exact_time' settings.
Also adds a few comments related to bugs 7413 and 14101.
To test:
1) prove t/db_dependent/Circulation.t
Sponsored-by: Hochschule für Gesundheit (hsg), Germany Signed-off-by: Jesse Weaver <jweaver@bywatersolutions.com>
This patch updates the calculation of 'No renewal before' to include the
new syspref NoRenewalBeforePrecision.
To test:
1) Check out an hour-based loan with 'No renewal before' set to 1.
Switch syspref NoRenewalBeforePrecision between 'date' and 'exact
time'. Confirm that with both settings the item cannot be renewed
until exactly one hour before due.
2) Check out a day-based loan with 'No renewal before' set to 1 day.
Confirm that:
* with NoRenewalBeforePrecision set to 'date', renewal is possible
at 12:00 AM on the day before due.
* with NoRenewalBeforePrecision set to 'exact time', renewal is
possible at 11:59 PM on the day before due.
Sponsored-by: Hochschule für Gesundheit (hsg), Germany Signed-off-by: Jesse Weaver <jweaver@bywatersolutions.com>
Bug 14395: Add new syspref NoRenewalBeforePrecision
Currently the 'NoRenwalBefore' setting is always based on the exact
DateTime of the due date. This patch introduces a new global syspref for
choosing if 'NoRenewalBefore' should instead be calculated based on date
only. This is only relevant for loans caluclated in days. Hourly loans
are not affected.
To test:
1) Apply bug 14101, then apply this patch.
2) Run installer/data/mysql/updatedatabase.pl
3) Confirm that a new syspref NoRenewalBeforePrecision is available
in administration. It should let you choose between 'date' (default)
and 'exact time'.
Sponsored-by: Hochschule für Gesundheit (hsg), Germany Signed-off-by: Jesse Weaver <jweaver@bywatersolutions.com>
Barry Cannon [Wed, 16 Dec 2015 10:37:17 +0000 (10:37 +0000)]
Bug 15311 - Let libraries set text to display when OpacMaintenance = on
Added new systempreference OpacMaintenanceNotice.
When OpacMaintenance is ON the HTML contents of OpacMaintenanceNotice will
be displayed.
Enabling OpacMaintenance is all that is required to enable this preference.
If OpacMaintenanceNotice is undefined, the default (original) notice will
appear when OpacMaintenance is enabled.
To test:
- Enable OpacMaintenance systempreference
- Observe the default maintenance message when OPAC is viewed
- Edit OpacMaintenanceNotice systempreference, adding custom HTML
- Observe the custom HTML appear on the opac
- Remove OpacMaintenanceNotice (mindful of orphaned spaces etc.)
- Observe the default opac notice appears in the opac
- Disable OpacMaintenance
- Observce opac is back online
Moving code to atomic update and fixing merge conflict
NOTE: Accounted for an SQL typo and autoescaping of the template.
If someone else could test this, then I would be fine with
marking it signed off.
Signed-off-by: Mark Tompsett <mtompset@hotmail.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Barry Cannon [Tue, 14 Jul 2015 11:25:55 +0000 (12:25 +0100)]
Bug 14523 - Google jackets being blocked when OPAC using HTTPS
This patch changes the Google jackets URL to use HTTPS instead of HTTP.
Test Plan:
1) Enable Google Jackets
2) Ensure the Koha OPAC instance is configued to use HTTPS
3) Confirm Google jackets display correctly.
Signed-off-by: Frédéric Demians <f.demians@tamil.fr> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Nick Clemens [Thu, 28 Jan 2016 20:33:58 +0000 (20:33 +0000)]
Bug 15697: Unnecessary comma between title and subtitle on opac-detail.pl
To test:
1 - Go to Administration->Keyword to MARC mapping
2 - Add a mapping (or ensure it exists)
Field name: subtitle
MARC field: 245
MARC subfield: b
3 - View a record with a subtitle in the opac
4 - Note in MARC 21 you have "Title of record:, subtitle of record"
5 - Apply patch
6 - View the record again and note the comma is no longer present.
Note: this patch removes the comma only for MARC21 where subtitle is not
repeatable. UNIMARC seems to be repeatable and does not include
punctuation so I believe this may be needed there.
Signed-off-by: Hector Castro <hector.hecaxmmx@gmail.com>
Works as described. Comma removed from title of the window and breadcrumb
section
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Bug 14199: Modify webinstaller sql files for marc21_orgcode plugin
This patch updates the sql installer files for new installations.
Occurrences to the three plugins marc21_field_003, 040c and 040d are
replaced by marc21_orgcode.pl.
This has been generated by one sed statement.
Test plan:
[1] Run a new installation or run some of the changed sql files manually.
[2] Verify that marc21_orgcode is linked to fields previously linked to
the three old plugins.
[3] Do a git grep on the three plugin file names. No occurrences expected.
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Have tested the three english sql files:
authorities_normal_marc21.sql: 18 rows with marc21_orgcode (003 and 040a
for 9 auth codes)
marc21_framework_DEFAULT.sql: 1 row with marc21_orgcode (003) -- this patch
does not add them to 040c or 040d; no behavior change..
marc21_simple_bib_frameworks.sql: 8 rows (003 for 8 frameworks)
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
The following files do no longer need an adjustment:
installer/data/mysql/de-DE/marcflavour/marc21/optional/marc21_simple_bib_frameworks.sql
installer/data/mysql/es-ES/marcflavour/marc21/optional/marc21_simple_bib_frameworks.sql
installer/data/mysql/it-IT/marcflavour/marc21/optional/marc21_simple_bib_frameworks.sql
For details, check Bug 15097: Update MARC21 de-DE frameworks to Update 21.
And similar reports for es-ES and it-IT.
Verified this change by installing de-DE in the webinstaller. The plugin for
field 003 was correctly set to marc21_orgcode.pl.
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Bug 14199: Database revision for marc21_orgcode.pl
This patch adds the dbrev in atomicupdate, updating the marc structure
for existing installations. (New installation in previous patch.)
And it removes the obsolete plugin files.
Test plan:
Run upgrade. Verify that new plugin is linked (for bib and auth).
Check plugin in editor.
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Plugin tested, added to 040a/c/d
Test pass
No koha-qa errors
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Bug 14199: Unify marc orgcode plugins, not overwriting existing values
This patch copies code from marc21_field_003.pl to create marc21_orgcode.pl
for more generic use. Other fields like 040c or 040d should use it too.
Note: The plugin is used for authorities too (003, 040a).
One behaviour change is added: If the corresponding field is already
filled, it will not be overwritten.
In the unit test marc21_orgcode already replaces marc21_field_003.
Test plan:
[1] Attach plugin marc21_orgcode to a field (e.g. 003) and test it in
the MARC editor of Cataloguing or Authorities.
[2] Check if a value is not overwritten any more.
[3] Run unit test t/db_dependent/FrameworkPlugin.t; don't be distracted by
the noisy warnings of marc21_field_007.pl. They will be addressed on
another report.
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Jesse Weaver [Fri, 18 Dec 2015 17:20:07 +0000 (10:20 -0700)]
Bug 14658 - (QA followup) make it easier to grep for these syspref names
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Jesse Weaver [Mon, 17 Aug 2015 21:00:10 +0000 (15:00 -0600)]
Bug 14658 - Split PatronSelfRegistrationBorrowerUnwantedField into two preferences for creating and editing
Test plan:
1) Make sure there is at least one field in PatronSelfRegistrationBorrowerUnwantedField.
2) Apply patch, and update database.
3) Check to make sure that the new system preference
PatronSelfModificationBorrowerUnwantedField has the same value as
PatronSelfRegistrationBorrowerUnwantedField.
4) Verify that the same fields are hidden for self-registering a new
borrower and edting a new one (both on the OPAC).
5) Change PatronSelfModificationBorrowerUnwantedField, and verify that
the two preferences correctly apply to editing vs. creating.
Signed-off-by: Michael Sauers <msauers@dospace.org> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>