]> git.koha-community.org Git - koha.git/log
koha.git
9 years agoBug 15012: use sudo instead of su in koha-shell
Jonathan Druart [Wed, 14 Oct 2015 13:45:24 +0000 (13:45 +0000)]
Bug 15012: use sudo instead of su in koha-shell

Not sure this is the best way to fix it but it looks to work.

Test plan:
  sudo koha-shell kohadev
should not return any error
Without this patch, you should get
  bash: cannot set terminal process group (-1): Inappropriate ioctl for device
  bash: no job control in this shell

Confirm that other options work as before

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Works as expected. Tested on kohadevbox:ansible.
KOHA_CONF and PERL5LIB are correctly set on the child shell.
Bonus point: koha-shell doesn't die if the user issues Ctrl+C to abort an execution.

Signed-off-by: Robin Sheat <robin@catalyst.net.nz>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 10363: (QA followups) Fix tests
Jonathan Druart [Wed, 21 Oct 2015 14:44:30 +0000 (15:44 +0100)]
Bug 10363: (QA followups) Fix tests

The delete op is now "delete" and the confirmation is a JS dialog box.

Note that now this patch removes the categories the tests will add (to
avoid error on inserting duplicate).

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 14900: Add ability to pay all fees at once from circulation screen
Josef Moravec [Fri, 25 Sep 2015 15:21:28 +0000 (17:21 +0200)]
Bug 14900: Add ability to pay all fees at once from circulation screen

Test plan:
1) Go to circulation screen for patron which has some not-payed charges (or make same if needed)

2) You should see infromation about fees and charges with ability to pay it. Note there is new link for paying all charges at once

3) Try the new link, you should be redirected to members/paycollect.pl, check if there is right amount and try to pay charges

4) try the old link to make sure it works still well after this patch

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: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 14154: 608$9 defined twice in UNIMARC biblio-koha-indexdefs.xml
Fridolin Somers [Wed, 6 May 2015 07:14:42 +0000 (09:14 +0200)]
Bug 14154: 608$9 defined twice in UNIMARC biblio-koha-indexdefs.xml

In DOM config file :
etc/zebradb/marc_defs/unimarc/biblios/biblio-koha-indexdefs.xml, the 608$9 is
defined a second time instead of 610$9.  Just a type I think.

Test plan :
- Apply patch
- Install a UNIMARC + DOM instance
- Define in a framework 610 using a thesaurus
- Create a new biblio
- Create a new authority (same type as the thesaurus defined above)
- Index : rebuild_zebra.pl -a -b -x -z
- Link the field 610 to the new authority
- Index : rebuild_zebra.pl -a -b -x -z
- In authorities search, search for the new authority
=> You see Use in 1 Records(s)

Signed-off-by: Frederic Demians <f.demians@tamil.fr>
  I confirm the typo.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 14871: Extend the patrons search to search like %$term% (checkout tab)
Jonathan Druart [Tue, 22 Sep 2015 14:04:14 +0000 (15:04 +0100)]
Bug 14871: Extend the patrons search to search like %$term% (checkout tab)

The patrons search used by the checkout tab and the autocomplete is not
the same as the "search patrons" tab.
The main difference is the "contain" vs "start with".
So that if you have a patron with a patron with a surname "foo bar" and
you search for "foo bar", the autocomplete and the result of a search by
the checkout tab will search for "foo%" or "bar%" which won't return the
patron you are search for.

This patch replaces both autocomplete and checkout tab searches with a
"contain" search. The search will be "%foo%" or "%bar%".
Note that on big DB, this can cause unexpected results.

Test plan:
Create a patron with a surname "foo bar"
Search for "bar" using the checkout tab.
You should see the patron in the autocomplete result and the result page
after submitting the search form.

Followed test plan, works as expected.
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 14045: Add missing th in tfoot
Jonathan Druart [Thu, 15 Oct 2015 10:28:04 +0000 (11:28 +0100)]
Bug 14045: Add missing th in tfoot

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 8417: Fix test
Jonathan Druart [Tue, 20 Oct 2015 15:35:18 +0000 (16:35 +0100)]
Bug 8417: Fix test

ModReceiveOrder now excepts a date formatted following the dateformat
pref.
If nothing is given, default is now.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoTranslation files update
Bernardo Gonzalez Kriegel [Mon, 19 Oct 2015 20:39:38 +0000 (17:39 -0300)]
Translation files update

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 14676: (QA followup) Fix case problems carried from the past
Tomas Cohen Arazi [Tue, 20 Oct 2015 18:18:53 +0000 (15:18 -0300)]
Bug 14676: (QA followup) Fix case problems carried from the past

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 14676: (QA followup) Make title, breadcrumbs and labels consistent
Tomas Cohen Arazi [Tue, 20 Oct 2015 18:13:02 +0000 (15:13 -0300)]
Bug 14676: (QA followup) Make title, breadcrumbs and labels consistent

It does so by slightly changing the naming schema, in line with bug 14667
changes.

It also corrects a minor bug in the breadcrumbs for printer profiles.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 14676: (QA followup) remove useless patroncards-menu.inc file
Tomas Cohen Arazi [Tue, 20 Oct 2015 17:37:50 +0000 (14:37 -0300)]
Bug 14676: (QA followup) remove useless patroncards-menu.inc file

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 14676: UI/UX improvements to patron card creator
Liz Rea [Thu, 13 Aug 2015 23:14:41 +0000 (11:14 +1200)]
Bug 14676: UI/UX improvements to patron card creator

Reasoning

Librarians will be doing patron card things in the following frequencies, from most frequent to least frequent:
1. Creating new patron card batches - every day/every few days
2. Managing existing card batches - every day/every few days
3. Managing existing card layouts - as needed, infrequent
5. Managing existing card templates - as needed, infrequent
6. Creating new card layouts - as needed, infrequent
7. Creating new card templates - as needed, infrequent
8. Managing existing printer profiles - possibly once only!
9. Creating new printer profiles - possibly once only!

This change to the patron card creator aims to make the most frequently used items easily accessible at the top of the main area,
reduces clutter on the page, and makes the label creator fall in line with UI paradigms found elsewhere in Koha.
I think I've also improved the translatability here somewhat, please check that.

To test:

Open the patron card creator: More -> Tools -> Patron card creator
Note that the toolbar has changed. It should be consistent across all of the patron card creator (it is an include).

+ New menu:

patron card batch
1. make sure it looks ok - toolbar buttons are consistent at the top of the main block.
2. add patrons both by borrowernumber, and by search
3. note that the usual buttons have moved below the textarea, and now have icons.
4. delete and export single patrons using the buttons corresponding to each patron
5. select multiple and use the buttons above the table to remove and export selected patrons
6. export a full batch
7. deduplicate a batch
There should be no regressions in functionality.

Image
1. This menu item should take you directly to the upload/delete images interface
2. Upload an image, note success message is now below the form, eliminating the jumping box.
3. Delete single images using the buttons
4. Delete multiple images using the tickboxes and "Delete selected"
5. Not deletion success message is below the table, eliminating the jumping box.

Layout
1. This menu item should take you directly to the "Edit layout" screen.
2. no functional changes here.
3. note toolbar at top is consistent

Card template
1. this menu item should take you directly to the "Edit patron card template" page.
2. no functional changes here.
3. note toolbar at top is consistent.

Printer profile
1. this menu item should take you directly to the "Edit printer profile" page.
2. no functional changes here.
3. note toolbar at top is consistent.

+ Manage menu:

Card batches
1. This menu item should take you directly to the "currently available batches" page.
2. select a batch to edit using the buttons - it should take you to the editing interface
3. select a batch to delete using the buttons - it should ask for confirm.
4. select several batches using the tickboxes, and select Export selected. Batches should be exported as normal.
5. note toolbar at top is consistent.

Images (this is actually the same page as on the new menu, I included it in both because it does both functions - can change if requested)
1. This menu item should take you directly to the upload/delete images interface
2. Upload an image, note success message is now below the form, eliminating the jumping box.
3. Delete single images using the buttons
4. Delete multiple images using the tickboxes and "Delete selected"
5. Not deletion success message is below the table, eliminating the jumping box.

Layouts
1. This menu item should take you directly to the "currently available layouts" page.
2. select a layout to edit using the buttons
3. select a layout to delete using the buttons
4. note toolbar at top is consistent.

Card templates
1. This menu item should take you directly to the "currently available templates" page.
2. select a template to edit using the buttons
3. select a template to delete using the buttons
4. note toolbar at top is consistent.

Printer profiles
1. This menu item should take you directly to the "currently available profiles" page.
2. select a profile to edit using the buttons
3. select a profile to delete using the buttons
4. note toolbar at top is consistent

+ General
* note that sidebar now only has "labels home" instead of the full "manage" list. It seemed redundant with the toolbar tidied up.

Please note that I am happy to take suggestions/amendments to these changes.

Followed test plan, behaves as advertised.
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 15029: Make the IssueSlip tests pass even if launched after 23:00
Jonathan Druart [Mon, 19 Oct 2015 15:17:31 +0000 (16:17 +0100)]
Bug 15029: Make the IssueSlip tests pass even if launched after 23:00

Prior to this patch, the tests did not pass if they were launched after
23:00.
DateTime complains if you ask for creating a date with hour => 24 (which
is logical so far).

Test plan:
0/ Don't apply this patch
1/ sudo date -s "2015-10-19 23:50:00";prove
t/db_dependent/Members/IssueSlip.t
2/ Apply this patch and repeat 1.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 8236: (QA followup) fix test count error due to bad merge
Tomas Cohen Arazi [Tue, 20 Oct 2015 13:52:20 +0000 (10:52 -0300)]
Bug 8236: (QA followup) fix test count error due to bad merge

On rebasing the patchset I introduced a wrong number of tests.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 11759: DBRev 3.21.00.038
Tomas Cohen Arazi [Tue, 20 Oct 2015 13:27:01 +0000 (10:27 -0300)]
Bug 11759: DBRev 3.21.00.038

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 11759: (QA followup) Sysprefs should be kosher
Tomas Cohen Arazi [Mon, 19 Oct 2015 18:19:28 +0000 (15:19 -0300)]
Bug 11759: (QA followup) Sysprefs should be kosher

The introduced syspref was defined before we added new guidelines
for them. This patch puts them in sync with current standards. It also
splits them into:

 - A big on/off switch (BatchCheckouts)
 - Patron category filter (BatchCheckoutsValidCategories)

The latter is expected to go away if we move this into a boolean column
on the 'categories' table, which seems a better approach. I'm filling a
new bug for this last comment.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 11759: (QA followup) minor text changes
Tomas Cohen Arazi [Tue, 20 Oct 2015 12:49:15 +0000 (09:49 -0300)]
Bug 11759: (QA followup) minor text changes

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 11759: (QA followup) Fix koha-qa errors
Kyle M Hall [Fri, 10 Apr 2015 13:42:18 +0000 (09:42 -0400)]
Bug 11759: (QA followup) Fix koha-qa errors

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
9 years agoBug 11759: (follow-up) Some fixes
Jonathan Druart [Thu, 9 Apr 2015 08:18:47 +0000 (10:18 +0200)]
Bug 11759: (follow-up) Some fixes

This is a squash of the following patches:

Bug 11759: (follow-up) Prevent access to the batch checkout if not allowed

If a user pass '&batch=1' to the url, he was allowed to access to the
batch checkout page even if the patron is not in an authorised
category.

This patch also fixes the link to "Batch check out" from the "Details"
tab (cf changes in circ-menu.inc).

Bug 11759: FIX Javascript error

The following JS error occurred:
  ReferenceError: MSG_ADD_MESSAGE is not defined

The circulation.js file is useless and should not be included.

Bug 11759: FIX the alert message if an item is on hold.

If an item is on hold, the hold is not cancelled.
This patch corrects the message displayed in this case.

Bug 11759: FIX issue list is empty

The issue list is empty after checking an item out to a patron without
existing checkout.

To reproduce:
- Search for a patron without checkout.
- Check an item out using the "normal" checkout.
- Verify the checkout list contain the checkout.

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
9 years agoBug 11759: Batch checkout - DB changes
Jonathan Druart [Fri, 14 Feb 2014 10:25:54 +0000 (11:25 +0100)]
Bug 11759: Batch checkout - DB changes

Add the new pref batch_checkouts in DB.

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 11759: Add some css to highlight warnings and errors
Jonathan Druart [Fri, 14 Feb 2014 11:53:31 +0000 (12:53 +0100)]
Bug 11759: Add some css to highlight warnings and errors

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 11759: Add links to the new page
Jonathan Druart [Fri, 14 Feb 2014 10:25:30 +0000 (11:25 +0100)]
Bug 11759: Add links to the new page

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 11759: Batch checkout - Add the new template
Jonathan Druart [Fri, 14 Feb 2014 11:54:24 +0000 (12:54 +0100)]
Bug 11759: Batch checkout - Add the new template

This patch is the main patch.
It adds:
- the new template circ/circulation_batch_checkouts.tt
- the change into circ/circulation.pl

=== Why this feature is useful for some libraries? ===

Currently Koha does not allow to checkout several items at once to a
user. This can cause a waste of time when a user want to checkout more
than 10 items.

This development has been asked to have statistics on in-house use.
Every night, a librarian will enter a barcode list (from a file or a
scanner : the librarian scans the barcode of the documents that users
let on the tables). Barcodes will be added to a statistics patron in
order to count the number of items consulted.

The development has been expanded to cover another need: some special
libraries (BDP for "Bibliotheque departementale de pret": "Loan Regional
Library").
These libraries loan items to smaller libraries (municipal). The number
of items could be very important and the current way offered by Koha is
not adequate.

=== Test plan ===
0/ Apply all patches and execute the DB change entry.
1/ Verify you are abble to do some checkouts (with confirmations,
errors).

= Statistics way =
2/ Create a statistical patron (e.g. category code STATS).
3/ Update the batch_checkouts pref with the category code (STATS).
4/ Go on the member page and verify the new "Batch check out" tab
appears (and only for this user).
5/ Check some items out on the new page using the textarea or a file.
6/ Verify the table contains the item's information and the
"Information" column contains "Local use recorded".

= Real checkouts =
7/ Create a non statistical patron and update the pref.
8/ Check some items out on the new page using the textarea or a file.
9/ Verify the information in the table is consistent.
10/ Verify item without confirmation needed or impossible alert is
checked out.
11/ If the logged in user has the "force_checkout" permission, all
checkouts with a "confirmation needed" message can be done.
If the logged in user does not have it, there is no way to force the
checkout.

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 11759: Batch checkout - prepare the ground
Jonathan Druart [Fri, 14 Feb 2014 11:57:47 +0000 (12:57 +0100)]
Bug 11759: Batch checkout - prepare the ground

This patch does not introduce any changes.
It prepares the circulation script to accept several barcodes in
parameter.
A loop is done on all barcodes (until now, only 1) to generate a
structure to sent to the template.
At the end, only the first generated data is sent.

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 8417: Make the order receive date editable
Jonathan Druart [Tue, 31 Mar 2015 12:13:03 +0000 (14:13 +0200)]
Bug 8417: Make the order receive date editable

Currently the date of the order reception is the date of shipping date,
which is wrong.
This patch makes this date editable (with default is today).

Test plan:
1/ Create an order and receive it
2/ Confirm that you can edit the reception date and it's take into
account as the datereceived.

Signed-off-by: Aleisha <aleishaamohia@hotmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 8236: DBRev 3.21.00.037
Tomas Cohen Arazi [Mon, 19 Oct 2015 17:36:26 +0000 (14:36 -0300)]
Bug 8236: DBRev 3.21.00.037

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 8236: (QA followup) Tweak language, fix whitespace error
Kyle M Hall [Fri, 3 Apr 2015 14:02:04 +0000 (10:02 -0400)]
Bug 8236: (QA followup) Tweak language, fix whitespace error

Signed-off-by: Joonas Kylmälä <j.kylmala@gmail.com>
9 years agoBug 8236: Tests for Renewing policy in overdue or restriction case
Matthias Meusburger [Wed, 1 Apr 2015 13:05:36 +0000 (15:05 +0200)]
Bug 8236: Tests for Renewing policy in overdue or restriction case

 - Add tests in t/db_dependent/Circulation.t

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
9 years agoBug 8236: Renewing policy in overdue or restriction case
Lyon3 Team [Mon, 9 Mar 2015 15:24:20 +0000 (16:24 +0100)]
Bug 8236: Renewing policy in overdue or restriction case

This patch introduces 2 sysprefs :
    RestrictionBlockRenewing to allow/block renewal of items when patron is restricted.
    OverduesBlockRenewing to allow, block only the late ones or block all checked out items
    Default is "allow" in both case.

Signed-off-by: Matthias Meusburger <matthias.meusburger@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 13636: DBRev 3.21.00.036
Tomas Cohen Arazi [Mon, 19 Oct 2015 15:48:36 +0000 (12:48 -0300)]
Bug 13636: DBRev 3.21.00.036

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 10363: (follow-up) DB update - change in kohastructure.sql
Jonathan Druart [Mon, 5 Oct 2015 08:42:36 +0000 (09:42 +0100)]
Bug 10363: (follow-up) DB update - change in kohastructure.sql

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 13636: Change wording added vs inserted
Jonathan Druart [Mon, 5 Oct 2015 08:38:08 +0000 (09:38 +0100)]
Bug 13636: Change wording added vs inserted

http://bugs.koha-community.org/show_bug.cgi?id=10363

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 10363: FIX regression - prevent duplicate
Jonathan Druart [Tue, 4 Aug 2015 13:43:20 +0000 (14:43 +0100)]
Bug 10363: FIX regression - prevent duplicate

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 10363: FIX rebase conflict error
Jonathan Druart [Tue, 4 Aug 2015 13:24:50 +0000 (14:24 +0100)]
Bug 10363: FIX rebase conflict error

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 10363: QA Follow-up - fixing POD and spelling
Katrin Fischer [Sun, 2 Aug 2015 18:34:35 +0000 (20:34 +0200)]
Bug 10363: QA Follow-up - fixing POD and spelling

We should stick with either AE (authorized) or
BE (authorised) spelling.

Corrected error messages to use authorized.

Also fixed tiny copy & paste error in POD.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 10363: (QA followup) DB update / atomic update
Tomás Cohen Arazi [Fri, 31 Jul 2015 15:41:48 +0000 (12:41 -0300)]
Bug 10363: (QA followup) DB update / atomic update

This patch just moves the DB update code into an atomicupdate file
to avoid nasty merge conflicts.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 10363: Fix pod
Jonathan Druart [Tue, 25 Nov 2014 08:11:06 +0000 (09:11 +0100)]
Bug 10363: Fix pod

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 10363: [QA Followup]
Kyle M Hall [Mon, 24 Nov 2014 12:48:02 +0000 (07:48 -0500)]
Bug 10363: [QA Followup]

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 10363: Use Koha::AuthorisedValue[s] in the admin page
Jonathan Druart [Mon, 10 Nov 2014 13:11:20 +0000 (14:11 +0100)]
Bug 10363: Use Koha::AuthorisedValue[s] in the admin page

Now we have packages, we need use them in the pl script.

Test plan:
Verify there are no regression on addind/editing/deleting authorised
values.
Done forget to test the branch limitation.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 10363: There is no package for authorised values.
Kyle M Hall [Thu, 23 Oct 2014 14:46:47 +0000 (10:46 -0400)]
Bug 10363: There is no package for authorised values.

Test Plan:
1) Apply this patch
2) run updatedatabase.pl
3) prove t/db_dependent/AuthorisedValues.t

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 13632: (QA followup) remove xt/permissions.t
Tomas Cohen Arazi [Mon, 19 Oct 2015 15:42:59 +0000 (12:42 -0300)]
Bug 13632: (QA followup) remove xt/permissions.t

There's no longer a need for this tests, as their goal was
to make sure en (the basis) was in sync with the translated
files.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 14937: Expiration date for holds based onReservesMaxPickUpDelay should not requir...
Kyle M Hall [Thu, 1 Oct 2015 16:59:26 +0000 (12:59 -0400)]
Bug 14937: Expiration date for holds based onReservesMaxPickUpDelay should not require ExpireReservesMaxPickUpDelay

C4::Letters::_parseletter will replace reserves.expirationdate with the
date a hold will be marked as problematic ( holds over ) if both
ReservesMaxPickUpDelay and ExpireReservesMaxPickUpDelay are enabled.
There is no reason this feature needs to rely on
ExpireReservesMaxPickUpDelay as there are many libraries that would like
to send the last day to pick up a hold in notices, but would rather deal
with the expired waiting holds manually rather than have Koha cancel
them automatically.

Test Plan:
1) Apply this patch
2) Set ReservesMaxPickUpDelay to 7
3) Disable ExpireReservesMaxPickUpDelay
4) Add reserves.expirationdate to your HOLD notice
5) Fill a hold for a patron
6) View the message, not that reserves.expirationdate is replaced
   with the date the hold will be marked as problematic

Signed-off-by: Karl Holton <kholten@switchinc.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 14861: Accession date comparison does not work in advanced search
David Cook [Tue, 6 Oct 2015 00:42:04 +0000 (11:42 +1100)]
Bug 14861: Accession date comparison does not work in advanced search

_Test plan_

Prerequisites: Make sure that you have an item with a valid dateaccessioned,
and that the bib is indexed in zebra.

For the purposes of explanation, I'm going to use the date '2011-09-07'

1) Go to advanced search in the staff client and choose 'Acquisition date (yyyy-mm-dd)'
2) Enter 2011-09-07 (or the date of your choice).
3) Click the search button - you should get your item in the search results.
4) Return to the advanced search screen and select Acquisition date again.
5) Enter a start and end date in the text field separated by ' - '.

For example:

2011-09-01 - 2011-09-30

6) Click the search button -- this will return no results.
7) Apply the patch and copy etc/zebradb/ccl.properties to whatever directory is specified
by the koha-conf.xml referenced by $KOHA_CONF.
8) Try the search again -- this will return the expected results

Signed-off-by: Barton Chittenden <barton@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 15028: Make t/db_dependent/Letters.t set the numbering pattern it needs
Jonathan Druart [Mon, 19 Oct 2015 13:42:50 +0000 (14:42 +0100)]
Bug 15028: Make t/db_dependent/Letters.t set the numbering pattern it needs

On some jenkins DBs, this pattern is "No.{X}" instead of "No. {X}" and
the test fails ("Serial notification text constructed successfully").

Tests should always create their own data.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 11298: Don't force the renew time to 23:59
Jonathan Druart [Tue, 4 Aug 2015 15:33:00 +0000 (16:33 +0100)]
Bug 11298: Don't force the renew time to 23:59

If you try to renew an item using the "Renewal due date" at the bottom
of the checkouts table, the time will be hardcoded to 23:59 no matter
what the user has chosen.

Test plan:
Check an item out to a patron
renew the item and specify a due date using the datetime picker plugin
at the bottom of the table
Confirm the time you have chosen is correctly used.

Followed test plan. It works as advertised.
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 14916: Display overdues if due on 23:59
Jonathan Druart [Mon, 28 Sep 2015 14:44:30 +0000 (16:44 +0200)]
Bug 14916: Display overdues if due on 23:59

If an item is due today 23:59 and the filter is from yesterday
to today, the overdue won't appear on the list.

Test plan:
Be sure you have an item due on DATE 23:59
Search for overdues from DATE-1 to DATE
Without this patch, the item won't appear.
With this patch, it will.

Regression test: test the CSV download.

Note: On the way, this patch remove the deps to C4::Dates
(which was the original goal of the bug report).

Issue reproduced, it's resolved with this patch.
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 14922: (followup) Fix string output
Marc Véron [Wed, 7 Oct 2015 18:42:23 +0000 (20:42 +0200)]
Bug 14922: (followup) Fix string output

This patch makes YYYY MM and DD display 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: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 14922: Remove C4::Dates from cataloguing/additem.pl
Marc Véron [Wed, 30 Sep 2015 12:58:40 +0000 (14:58 +0200)]
Bug 14922: Remove C4::Dates from cataloguing/additem.pl

This patch removes C4::Dates from cataloguing/additem.pl

To test:

- In MARC bibliographic framework, define a default value
  for one of the in Tag 952 Subfield struture, e.g. for
  subfield x Non-public note. You can define it under
  'Advancde constraints'. Define the value similar to the following:
  Year:YYYY Month:MM Day:DD
- Create a new item for a biblio and verify that YYYY, MM and DD are
  replaced with today's values.
- Apply patch and repeat that previous step behaves as before.
- Verify that the overall functionality of the form is the same
  as before applying the patch.

Signed-off-by: Hector Castro <hector.hecaxmmx@gmail.com>
Works as advertised. With the last script not accept more than YYYYMMDD
If you enter something else, the script sends to the end of line.
This patch follow up the pattern in constraint default value

Patch amended following comment #6  / mv

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 14990: Format the date template-side for moremember
Jonathan Druart [Fri, 9 Oct 2015 08:14:33 +0000 (09:14 +0100)]
Bug 14990: Format the date template-side for moremember

Test plan:
print slip and show the member detail page, the 3 dates date of birth,
date enrolled and date of expiry should be displayed correctly.

Followed test pan, works as expected.
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 14617: Add fields to ISBN and ISSN indexes: 020$z, 022$y, 022$z
Barton Chittenden [Tue, 6 Oct 2015 13:22:56 +0000 (06:22 -0700)]
Bug 14617: Add fields to ISBN and ISSN indexes: 020$z, 022$y, 022$z

1) Import MARC21 bibs containing

- ISBN in 020$z
- ISSN in 022$y
- ISSN in 022$z

2) Make sure that bibs are indexed

3) Search by ISBN and ISSN above -- bibs should not show in search.

4) Apply patch, re-index

5) Search again; ISBN in 020$z and ISSN in 022$y and 022$z should return
results.

Signed-off-by: kholten@switchinc.org
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 14926: Format the date according to the dateformat syspref
Jonathan Druart [Fri, 9 Oct 2015 08:25:30 +0000 (09:25 +0100)]
Bug 14926: Format the date according to the dateformat syspref

Signed-off-by: Hector Castro <hector.hecaxmmx@gmail.com>
Works as advertised. Tested with the three values from dateformat syspref

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 14926: Remove C4::Dates from members/printfeercpt.pl
Marc Véron [Tue, 29 Sep 2015 16:42:06 +0000 (18:42 +0200)]
Bug 14926: Remove C4::Dates from members/printfeercpt.pl

This patch removes C4::Dates from members/printfeercpt.pl

To test:

- Go to a patron's fines (members/boraccount.pl) and make sure that
  he/she has made a payment
- Select 'Print' in the payment's line
- Verify that the payment date on the slip displays correctly

Signed-off-by: Hector Castro <hector.hecaxmmx@gmail.com>
Works as advertised. Date displayed 2015-10-08

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 13632: QA follow-up: Tidy installer directories / update permissions.inc
Katrin Fischer [Sun, 18 Oct 2015 09:56:04 +0000 (11:56 +0200)]
Bug 13632: QA follow-up: Tidy installer directories / update permissions.inc

- removes permission related text files from translated
  web installer directories
- updates the permissions.inc file to include the newest
  permission 'self_checkout'

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 13632: Remove specific files
Jonathan Druart [Tue, 22 Sep 2015 08:51:04 +0000 (09:51 +0100)]
Bug 13632: Remove specific files

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 13632: Populate user_flags and permissions tables in the web installer
Jonathan Druart [Tue, 22 Sep 2015 08:50:15 +0000 (09:50 +0100)]
Bug 13632: Populate user_flags and permissions tables in the web installer

Move the 2 specific 'en' files outside of the language directory.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 13632: Do not use userflags.flagdesc and permissions.description
Jonathan Druart [Tue, 22 Sep 2015 08:48:27 +0000 (09:48 +0100)]
Bug 13632: Do not use userflags.flagdesc and permissions.description

These 2 fields are not used anymore, but we want to keep them anyway.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 13632: Use an include file to display permissions
Jonathan Druart [Tue, 22 Sep 2015 08:47:25 +0000 (09:47 +0100)]
Bug 13632: Use an include file to display permissions

This patch set moves the permissions' descriptions to the po files
instead of having them in the DB.

Test plan:
0/ Apply all patches
1/ Create a new installation
2/ Confirm the userflags and permissions tables are correctly populated
3/ Update the po file for a translated language
4/ Confirm you are able to translate the permissions descriptions
5/ Install the template files for this language
6/ Switch the interface to use this language and confirm the string are
correctly translated.

QA Note: At this point we could remove the userflags.flagdesc and
permissions.description DB fields, but I would prefer to keep them:
developers will know what the permission do without the need to go and
see the include file (we have it in the sql files and so, in the DB).

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 15005: Replace $ENV{SCRIPT_NAME} with the hardcoded script paths
Jonathan Druart [Fri, 16 Oct 2015 08:05:46 +0000 (08:05 +0000)]
Bug 15005: Replace $ENV{SCRIPT_NAME} with the hardcoded script paths

Since I don't manage to make SCRIPT_NAME works directly with RequestHeader and/or
ReverseProxyPath, the easier way it to fix all the different occurrences.

Test plan:
On the import patrons page, confirm that the "Import" button does not redirect to a 'Not found' page.
You should stay on the import patrons page.

Note that if this change works, all others should work too.
Have a look at the diff of this patch and confirm there is no typo.

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Tested in patron import and item batch modification

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 15005: Fix pagination_bar calls
Jonathan Druart [Tue, 13 Oct 2015 15:51:29 +0000 (15:51 +0000)]
Bug 15005: Fix pagination_bar calls

Test plan:
Create an order for an existing biblio, confirm that the pagination links work correctly.

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 15005: Remove CGI->url calls from pl scripts
Jonathan Druart [Tue, 13 Oct 2015 15:38:54 +0000 (15:38 +0000)]
Bug 15005: Remove CGI->url calls from pl scripts

Same as previous patch for calls in pl scripts.

Test plan:
- delete an entry of your search history from intranet and opac
- with IndependentBranches=OFF, go on the waiting holds and confirm that the
link next to 'Holds awaiting pickup for your library on' is correct.
- search for items, the pagination should work correctly

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 15005: Replace CGI->url with the corresponding url
Jonathan Druart [Tue, 13 Oct 2015 14:56:10 +0000 (14:56 +0000)]
Bug 15005: Replace CGI->url with the corresponding url

CGI->url does not return the correct url on install using packages.

Test plan:
1/ Try to reproduce the bug from the description of bug 15005.
You should be able to login to the intranet and the OPAC
2/ Send a basket and a list from the intranet and the OPAC.

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 14966: Table header broken at detail.tt
Rafal Kopaczka [Tue, 6 Oct 2015 12:57:52 +0000 (14:57 +0200)]
Bug 14966: Table header broken at detail.tt

For user without item edit permission, table at catalogue/detail.pl is
corrupted.

Test plan:
1) Log in as staff member, without edit item permission.
2) Go to biblio view, with items attached:
/cgi-bin/koha/catalogue/detail.pl?biblionumber=X. Confirm that table
does not display correctly.
3) Apply patch.
4) Repeat steps 1 and 2. Confirm patch works.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 14653: Acq planning export always use default active period
Fridolin Somers [Thu, 6 Aug 2015 08:49:03 +0000 (10:49 +0200)]
Bug 14653: Acq planning export always use default active period

In Acq planning /cgi-bin/koha/admin/aqplan.pl, left side filter and export forms have no parameter budget_period_id nor authcat, so the use the default active period.
As said in code
- IF PERIOD_ID IS DEFINED,  GET THE PERIOD - ELSE GET THE ACTIVE PERIOD BY DEFAULT
my $period = GetBudgetPeriod($budget_period_id);

This patch corrects the export form.

Test plan :
- Create an active budget "B_ACTIVE" with 1 fund
- Create an inactive budget "B_OLD" with 3 funds
- Go to "B_OLD" planning by libraries
- You see 3 funds
- Click on "Submit" in export form
=> Without patch, you get the planning of "B_ACTIVE" with 1 fund
=> Without patch, you get the planning of "B_OLD" with 3 funds by libraries

Signed-off-by: Hector Castro <hector.hecaxmmx@gmail.com>
Works as advertised

Signed-off-by: Hector Castro <hector.hecaxmmx@gmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 14653: Acq planning filter always use default active period
Fridolin Somers [Thu, 6 Aug 2015 08:49:03 +0000 (10:49 +0200)]
Bug 14653: Acq planning filter always use default active period

In Acq planning /cgi-bin/koha/admin/aqplan.pl, left side filter and export forms have no parameter budget_period_id nor authcat, so the use the default active period.
As said in code :
- IF PERIOD_ID IS DEFINED,  GET THE PERIOD - ELSE GET THE ACTIVE PERIOD BY DEFAULT
my $period = GetBudgetPeriod($budget_period_id);

This patch corrects the filter form.

Test plan :
- Create an active budget "B_ACTIVE" with 1 fund
- Create an inactive budget "B_OLD" with 3 funds
- Go to "B_OLD" planning by libraries
- You see 3 funds
- In filter form, select "by months" in "Select planning type"
=> Without patch, you see planning of "B_ACTIVE" with 1 fund
=> Without patch, you see planning of "B_OLD" with 3 funds

Signed-off-by: Hector Castro <hector.hecaxmmx@gmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 14975: Fine grace period label is incorrect
Kyle M Hall [Wed, 7 Oct 2015 16:15:22 +0000 (12:15 -0400)]
Bug 14975: Fine grace period label is incorrect

The column heading for grace period is "Fine grace period (day)" but the
grace period works based on the unit selected ( hours or days ). The
"(day)" part should be removed as it caused confusion for librarians.

Test Plan:
1) Apply this patch
2) Go to the circ rules editor
3) Note the header and footer columns for grace period no longer
   have "(days)" at the end.

Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 10020: (RM followup) DBIx update / delete leftover file
Tomas Cohen Arazi [Tue, 13 Oct 2015 15:10:58 +0000 (12:10 -0300)]
Bug 10020: (RM followup) DBIx update / delete leftover file

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 14920: Simplify the date management on reserveratios
Jonathan Druart [Tue, 13 Oct 2015 10:46:18 +0000 (11:46 +0100)]
Bug 14920: Simplify the date management on reserveratios

Note that the previous patch was wrong, the start date defaulted to yesterday,
the original behavior is to default to last year.

This patch removes some unecessary variable declarations and tests.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 14920: Remove C4::Dates from circ/reserveratios.pl
Marc Véron [Tue, 29 Sep 2015 12:22:33 +0000 (14:22 +0200)]
Bug 14920: Remove C4::Dates from circ/reserveratios.pl

This patch removes C4::Dates from circ/reserveratios.pl

To test:
- Make sure you have many holds for biblios with not so much items (e.g. 5 holds, 1 item)
  or follow hint below
- Go to Home > Circulation > Hold ratios
- Verify that everything works the same without an dwith patch

Hint: To get a big table you can set 'Hod ratio' in the filter to 0.1  (default value is 3).
This was will trigger biblios with less holds than items.

Signed-off-by: Hector Castro <hector.hecaxmmx@gmail.com>
Works as advertised. Tested with dateformat syspref, datepiker Ok

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 14841: Fine column is not manage by columns settings
Jonathan Druart [Thu, 17 Sep 2015 07:40:19 +0000 (08:40 +0100)]
Bug 14841: Fine column is not manage by columns settings

Bug 9481 added the "Fine" columns to the checkouts table and bug 13492
added the columns settings to these table.
They overlapped each others in the bugs queue.

Test plan:
Confirm that you are able to hide/show the "Fine" columns on both
checkouts table.

Signed-off-by: Joonas Kylmälä <j.kylmala@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 14841: Columns settings are not taken into account for checkout table / moremember
Jonathan Druart [Thu, 17 Sep 2015 07:34:28 +0000 (08:34 +0100)]
Bug 14841: Columns settings are not taken into account for checkout table / moremember

There is a typo member vs members in the template when retrieving the
existing settings.
So that all columns are displayed, even the ones which are hidden
(sort_order, due_date_unformatted, etc.)

Test plan:
0/ Does not apply this patch
1/ Go on the columns config page and check some fields not to display by
default for Patrons > moremember > issues-table
2/ Go on the patron detail page (with checkouts), click on the "show/hide
columns" button (top right of the table).
Confirm that the config is not taken into account and that it's ugly
(hidden columns are displayed)
3/ Apply this patch
4/ Everything should be fine now :)

Signed-off-by: Joonas Kylmälä <j.kylmala@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 14727: koha-indexer tab completion in bash
Tomas Cohen Arazi [Tue, 25 Aug 2015 15:17:17 +0000 (12:17 -0300)]
Bug 14727: koha-indexer tab completion in bash

This patch introduces tab-completion in bash to the koha-indexer
command. It completes using valid option switches and instance names.
It stops completing then -h or --help are issued, and once a command
switch is chosen (either --start, --stop or --restart) it goes ahead
with valid instances completion.

To test:
- Have a packages install (kohadevbox works)
- Run:
  $ . debian/koha-common.bash-completion
- Type
  koha-indexer <tab>
- Play with all the options
=> SUCCESS: They work as they should.
- Sign off :-D

Note: it fixes a small glitch on the plack completion.

Signed-off-by: Jesse Weaver <pianohacker@gmail.com>
Verified working, including filtering out already used options and
instances.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 14045: DBRev 3.21.00.035
Tomas Cohen Arazi [Tue, 13 Oct 2015 14:27:32 +0000 (11:27 -0300)]
Bug 14045: DBRev 3.21.00.035

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 14045: Fix typo in template
Jonathan Druart [Tue, 6 Oct 2015 17:22:36 +0000 (18:22 +0100)]
Bug 14045: Fix typo in template

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 14045: DBIC Changes
Jonathan Druart [Wed, 13 May 2015 15:53:19 +0000 (17:53 +0200)]
Bug 14045: DBIC Changes

Signed-off-by: Nicolas Legrand <nicolas.legrand@bulac.fr>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 14045: DB Changes
Jonathan Druart [Wed, 13 May 2015 14:51:49 +0000 (16:51 +0200)]
Bug 14045: DB Changes

This patch is the DB changes for the feature.
It adds 5 new columns named 'maxonsiteissueqty' to the following tables:
- branch_borrower_circ_rules
- default_borrower_circ_rules
- default_branch_circ_rules
- default_circ_rules
- issuingrules

It also adds the pref ConsiderOnSiteCheckoutsAsNormalCheckouts.

See main patch for more details.

Signed-off-by: Nicolas Legrand <nicolas.legrand@bulac.fr>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 14045: Make GetBranchBorrowerCircRule return maxonsiteissueqty
Jonathan Druart [Wed, 13 May 2015 15:08:03 +0000 (17:08 +0200)]
Bug 14045: Make GetBranchBorrowerCircRule return maxonsiteissueqty

GetBranchBorrowerCircRule should return the value for maxissueqty and
maxonsiteissueqty. It's what this patch does.

Signed-off-by: Nicolas Legrand <nicolas.legrand@bulac.fr>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 14045: Introduce the maxonsiteissueqty field as a copy of maxissueqty
Jonathan Druart [Wed, 13 May 2015 15:07:28 +0000 (17:07 +0200)]
Bug 14045: Introduce the maxonsiteissueqty field as a copy of maxissueqty

This patch adds the new fields maxonsiteissueqty as a copy of the
existing maxissueqty field.

There is no brainy code here, it only adds the ability to fill the new
field from the admin interface (admin/smart-rules.pl).

Signed-off-by: Nicolas Legrand <nicolas.legrand@bulac.fr>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 14045: Change prototype of TooMany to raise a better warning
Jonathan Druart [Wed, 13 May 2015 12:04:50 +0000 (14:04 +0200)]
Bug 14045: Change prototype of TooMany to raise a better warning

With this patch, the user will know why the checkout is refused.

Signed-off-by: Nicolas Legrand <nicolas.legrand@bulac.fr>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 14045: Add specific quotas to on-site checkouts
Jonathan Druart [Wed, 13 May 2015 14:56:03 +0000 (16:56 +0200)]
Bug 14045: Add specific quotas to on-site checkouts

This patch set adds the ability to defined independent quotas for on-site
checkouts.
This will be done using the circulation rules matrix where a new column
“Current on-site checkouts allow” will be added.

This feature is going to use the same method as the existing fields maxissueqty
("Current checkouts allowed"), the new fields will be added to the
different tables (see the "DB changes" patch) and will be named
maxonsiteissueqty (for consistency).

In order to keep the existing behavior and to let more flexibility,
a new system preference is added (ConsiderOnSiteCheckoutsAsNormalCheckouts).
This syspref will let the liberty to the library to decide if an on-site
checkout should be considered as a "normal" checkout or not.

To keep the existing behavior, the syspref will be disabled (i.e. an on-site
checkout is considered as a normal checkout) and the number of on-site
checkouts will be the same as the number of checkout (maxissueqty ==
maxonsiteissueqty).

Technically:
There are only very few tests for the Circulation module, and the 2
subroutines impacted by this patch set were not tested at all.
It is necessary to introduce non-regression tests for this area.
The 2 subroutines are: C4::Circulation::GetBranchBorrowerCircRule
and C4::Circulation::TooMany (only called by
C4::Circulation::CanBookBeIssued, so we will take the liberty to change
the prototype to raise a better warning to the end user).

Test plan:
I. Confirm there is no regression and the existing behavior is kept
 0/ Let the syspref disabled
 1/ Set a rule to limit to 2 the number of checkouts allowed
 2/ Do a normal checkout
 3/ Do an on-site checkout
 4/ Try to checkout (on-site or normal) an item again.
 You should not be allowed.

II. Test the new feature - pref disabled
 0/ Let the syspref disabled
 1/ Set a rule to limit to 2 the number of checkouts allowed and to 1
 the number of on-site checkouts allowed.
 2/ Do an on-site checkout
 3/ Try to do another one, you should not be allowed to do it.
 4/ A normal checkout should pass successfully
Note that it does not make sense to have the number of on-site checkouts
alowed > number of checkouts allowed.

III. Test the new feature - pref enabled
 0/ Enable the syspref
Now an on-site checkout is *not* counted as a normal checkout.
This means you can have the number of on-site checkouts > number of
checkouts allowed.
 1/ Set the values you want for the 2 types of checkouts (normal vs
on-site).
 2/ Even if a patron has reached the maximum of checkouts allowed, he
 will be allowed to do a on-site checkout (vice versa).

IV. Stress the developper
 Using the different configurations available in the circulation matrix,
 try to find one where the checkout is allowed and not should be.

Sponsored-by: BULAC - http://www.bulac.fr/
Signed-off-by: Nicolas Legrand <nicolas.legrand@bulac.fr>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 12368: Die if the --table value is not allowed.
Jonathan Druart [Thu, 12 Jun 2014 07:31:35 +0000 (09:31 +0200)]
Bug 12368: Die if the --table value is not allowed.

If the table given in parameter is not in the white list, the script
should die rathen than correct to a default value.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 12368: Rebuild Zebra improvement: allow to specify a DB table
Jonathan Druart [Wed, 4 Jun 2014 15:03:51 +0000 (17:03 +0200)]
Bug 12368: Rebuild Zebra improvement: allow to specify a DB table

Currently the --where parameter only allow to specify a condition on
fields in the biblioitems table.
For some needs it would be great to specify a condition on the field in
the items table.

The use case is the following: you want to reindex biblios with items
modified since a specific timestamp.

Test plan:
1/ Pick an item randomly in your catalogue
2/ Edit it and save
3/ Note that the items.timestamp has been set to today but not the
biblioitems.timestamp
4/ launch rebuild_zebra without the new parameter
  perl misc/migration_tools/rebuild_zebra.pl -b -v --where
  "timestamp >= XXX"
where XXX is the today date (e.g. "2014-06-05 00:00:00").
Note that the biblio has not been indexed.
5/ launch rebuild_zebra using the new parameter:
  perl misc/migration_tools/rebuild_zebra.pl -b -v -t items --where
  "timestamp >= XXX"
Note the biblio has been indexed.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 13805: (Plack) Disable syspref cache
Jonathan Druart [Fri, 6 Mar 2015 13:42:38 +0000 (14:42 +0100)]
Bug 13805: (Plack) Disable syspref cache

When going to the installer (without the DB structure), you have to log
twice before starting the installation.

Test plan:
0/ Create a new database and fill the database entry in the koha conf
with its name
1/ Go on the mainpage, you should be redirected to the installer
2/ Try to log in
Without this patch, you will get the login form again.
With this patch, you can start the installation

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 14925: (QA followup) tidy code block
Tomas Cohen Arazi [Fri, 9 Oct 2015 13:39:12 +0000 (10:39 -0300)]
Bug 14925: (QA followup) tidy code block

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 14925: Remove C4::Dates from members/moremember.pl
Marc Véron [Tue, 29 Sep 2015 16:14:30 +0000 (18:14 +0200)]
Bug 14925: Remove C4::Dates from members/moremember.pl

This patch removes C4::Dates from members/moremember.pl

To test:
- Go to Details page of several members
- Verify that all dates display OK, including restrictions

Signed-off-by: Hector Castro <hector.hecaxmmx@gmail.com>
Works as advertised. All dates displayed OK

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 14928: Remove C4::Dates from files acqui/pdfformat/layout*.pm
Marc Véron [Wed, 30 Sep 2015 13:57:19 +0000 (15:57 +0200)]
Bug 14928: Remove C4::Dates from files acqui/pdfformat/layout*.pm

This patch removes C4::Dates from:
- acqui/pdfformat/layout2pages.pm
- acqui/pdfformat/layout2pagesde.pm
- acqui/pdfformat/layout3pages.pm
- acqui/pdfformat/layout3pagesfr.pm

To test:
- Apply patch
- Go to Home > Acquisitions > [Vendor] > Basket groups
- Print a basket (order)
- Verify that the current date is formatted respects syspref 'dateformat'
- Do the same with syspref 'OrderPdfFormat' set to the four different choices

Signed-off-by: Hector Castro <hector.hecaxmmx@gmail.com>
Works as advertised. Date printed in PDF Ok

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 14890: Simplify processing to display a date with hours
Jonathan Druart [Thu, 8 Oct 2015 08:52:27 +0000 (09:52 +0100)]
Bug 14890: Simplify processing to display a date with hours

The KohaDates plugin does that, it's not necessary to split the output.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 14890: Remove C4::Dates from circ/bookcount.pl
Marc Véron [Wed, 23 Sep 2015 08:19:42 +0000 (10:19 +0200)]
Bug 14890: Remove C4::Dates from circ/bookcount.pl

This patch removes deprecated C4::Dates from circ/bookcount.pl

To test:
- Search for biblio with an item that has been checked out several
  times and that has been transferred
- In left navigation click on 'Items'
- In list of items click on 'View item's checkout history'
- Verify that dates in 'Date arrived at current library' and in
  column 'Last seen' display properly.

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: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 14924: Remove C4::Dates from members/memberentry.pl
Marc Véron [Tue, 29 Sep 2015 15:32:56 +0000 (17:32 +0200)]
Bug 14924: Remove C4::Dates from members/memberentry.pl

This patch removes C4::Dates from members/memberentry.pl

To test:
- Apply patch
- Add and edit patrons with and without birthdate as
  mandatory field (syspref BorrowerMandatoryField)
- Verify that dates (birtdate, registration, expiration)
  display and are stored correctly

Signed-off-by: Hector Castro <hector.hecaxmmx@gmail.com>
Works as advertised. Tested with syspref BorrowerMandatoryField and
table borrowers.dateofbirth

Bug 14924 - (follow-up) Add date validation using eval

This patch adds a date validation (see comment #3).

To test:

- Apply patch
- Create a new user or edit an existing user
- Try valid dates for date of birth
- Try invalid dates as 0000-00-00 or 32/01/1970. You can can
  copy/paste such strings to the date field, ignore the warning
  message and submit. Verify that after submit you get a message
  "Date of birth is invalid"
- Try the same with enrollement /expiry dates

Signed-off-by: Hector Castro <hector.hecaxmmx@gmail.com>
Works as advertised. Tested with invalid dates.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Amended patch: I have splitted them to make them much more readable
(some lines were removed then added).
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 14667: (QA followup) remove useless labels-menu.inc file
Tomas Cohen Arazi [Tue, 6 Oct 2015 14:51:48 +0000 (11:51 -0300)]
Bug 14667: (QA followup) remove useless labels-menu.inc file

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 14667: (QA followup) make the UI show 'Label creator' consistently
Tomas Cohen Arazi [Tue, 6 Oct 2015 14:37:15 +0000 (11:37 -0300)]
Bug 14667: (QA followup) make the UI show 'Label creator' consistently

The tool is documented and accessed (via Tools >) as 'Label creator'. But the
pages titles say 'Labels' and the breadcumbs 'Labels home'. It should be called
'Label creator' for consistency. This patch changes the tt files so they are
consistent.

It also makes the title show the same page name as the breadcumbs.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 14667: Make some strings translatable
Jonathan Druart [Tue, 18 Aug 2015 16:40:46 +0000 (17:40 +0100)]
Bug 14667: Make some strings translatable

This patch 1/ Fixes a regression introduced by the previous patch: the
"Are you sure to delete..." strings was translatable and 2/ Make the
table headers translatable.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 14667: UI/UX improvements for the Label creator
Liz Rea [Wed, 5 Aug 2015 03:36:10 +0000 (03:36 +0000)]
Bug 14667: UI/UX improvements for the Label creator

Note: It would be good to adopt these same changes in the Patron Card creator for consistency and push
      them in conjunction with these changes. -Chris_n

Reasoning

Librarians will be doing label things in the following frequencies, from most frequent to least frequent:
1. Creating new label batches - every day/every few days
2. Managing existing label batches - every day/every few days
3. Managing existing label layouts - as needed, infrequent
5. Managing existing label templates - as needed, infrequent
6. Creating new label layouts - as needed, infrequent
7. Creating new label templates - as needed, infrequent
8. Managing existing printer profiles - possibly once only!
9. Creating new printer profiles - possibly once only!

This change to the label creator aims to make the most frequently used items easily accessible at the top of the main area,
reduces clutter on the page, and makes the label creator fall in line with UI paradigms found elsewhere in Koha.

To test:

Open the label creator: More -> Tools -> Label creator
Note that the toolbar has changed. It should be consistent across all of the label creator (it is an include).

+ New menu:

Label batch
1. make sure it looks ok - toolbar buttons are consistent at the top of the main block.
2. add items both by barcode, and by search (note this patch does not touch the pop up window. Another day.)
3. note that the usual buttons have moved below the textarea, and now have icons.
4. delete and export single items using the buttons corresponding to each item
5. select multiple and use the buttons above the table to remove and export selected items
6. export a full batch
7. deduplicate a batch
There should be no regressions in functionality.

Layout
1. This menu item should take you directly to the "Edit layout" screen.
2. no functional changes here.
3. note toolbar at top is consistent

Label template
1. this menu item should take you directly to the "Edit label template" page.
2. no functional changes here.
3. note toolbar at top is consistent.

Printer profile
1. this menu item should take you directly to the "Edit printer profile" page.
2. no functional changes here.
3. note toolbar at top is consistent.

+ Manage menu:

Label batches
1. This menu item should take you directly to the "currently available batches" page.
2. select a batch to edit using the buttons
3. select a batch to delete using the buttons - it should ask for confirm.
4. select several batches using the tickboxes, and select Export selected. Batches should be exported as normal.
5. note toolbar at top is consistent.

Layouts
1. This menu item should take you directly to the "currently available layouts" page.
2. select a layout to edit using the buttons
3. select a layout to delete using the buttons
4. note toolbar at top is consistent.

Label templates
1. This menu item should take you directly to the "currently available templates" page.
2. select a template to edit using the buttons
3. select a template to delete using the buttons
4. note toolbar at top is consistent.

Printer profiles
1. This menu item should take you directly to the "currently available profiles" page.
2. select a profile to edit using the buttons
3. select a profile to delete using the buttons
4. note toolbar at top is consistent

+ General
* note that sidebar now only has "labels home" instead of the full "manage" list. It seemed redundant with the toolbar tidied up.

Please note that I am happy to take suggestions/amendments to these changes.

Signed-off-by: Chris Nighswonger <cnighswonger@foundations.edu>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 14840: Added new cron script send membership expiry reminder notices in crontab...
Amit Gupta [Thu, 17 Sep 2015 07:22:59 +0000 (12:52 +0530)]
Bug 14840: Added new cron script send membership expiry reminder notices in crontab.example file

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Amended: Added koha-common.cron.daily.
Note that the cronjob only does something when the pref is set now.
See corresponding change on bug 6810.
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 6810: DBRev 3.21.00.034
Tomas Cohen Arazi [Tue, 6 Oct 2015 14:18:32 +0000 (11:18 -0300)]
Bug 6810: DBRev 3.21.00.034

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 6810: [QA Follow-up] Exit cronjob if pref not set
Marcel de Rooy [Fri, 18 Sep 2015 11:22:42 +0000 (13:22 +0200)]
Bug 6810: [QA Follow-up] Exit cronjob if pref not set

As per suggestion of Robin on report 14840, it would be better to always
run the cronjob and only do something when the pref is set.
This patch adds a test in the cronjob and clears the former default of 14
days.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Removed the pref and ran the dbrev again: Fine.
Run the cronjob with -c -v -n: Prints exit warning.
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 6810: [QA Follow-up] Some minor tidying up of cron script
Marcel de Rooy [Wed, 16 Sep 2015 14:26:14 +0000 (16:26 +0200)]
Bug 6810: [QA Follow-up] Some minor tidying up of cron script

Moved some POD lines and removed some duplicated POD lines.
Corrected some indentation.
Did some minor spelling changes, rewording.
Removed the C4::Dates module. No longer needed.
Removed a label in front of the for statement.
Removed the Do you wish to continue-code. Should not be in a cron job.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 6810: [QA Follow-up] Move test file to db_dependent
Marcel de Rooy [Wed, 16 Sep 2015 12:49:11 +0000 (14:49 +0200)]
Bug 6810: [QA Follow-up] Move test file to db_dependent

Note that this was already mentioned by Jonathan on comment48.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 6810: Fix QA failures
Amit Gupta [Fri, 26 Jun 2015 17:21:28 +0000 (22:51 +0530)]
Bug 6810: Fix QA failures

    - remove DateTime->now()
    - use Koha::DateUtils->dt_from_string;
    - use Pod2usage for the usage
    - use Modern::Perl
    - use branches table
    - Change letter code from MEMEXP to MEMBERSHIP_EXPIRY
    - review comments implemented
    - fix qa script comments

Bug 6810 - Fix QA failures

    - MembershipExpiryDaysNotice system preferences arragned alphabetical order.

Bug 6810 - Add sample notices

    - review comments implemented
    - default value of is_html field in letter table is 0

Signed-off-by: Alex Arnaud <alex.arnaud@biblibre.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 6810: Add new systempreference (MembershipExpiryDaysNotice)
Alex Arnaud [Thu, 11 Jun 2015 10:17:07 +0000 (12:17 +0200)]
Bug 6810: Add new systempreference (MembershipExpiryDaysNotice)

Signed-off-by: Indranil Das Gupta (L2C2 Technologies) <indradg@gmail.com>
Bug 6810 - Fix QA failures

- Use KohaDates to convert dateexpiry
- remove MYSQL specifics methods for date handling in
  GetUpcomingMembershipExpires
- make the script membership_expiry.pl write in Koha system logs
- add tests

Signed-off-by: Indranil Das Gupta (L2C2 Technologies) <indradg@gmail.com>
Bug 6810 - Fix QA failures:

  - use Koha::DateUtils instead of Koha::Template::Plugin::KohaDates,
  - Add test with syspref MembershipExpiryDaysNotice equals 0 and undef,
  - fix (new) test failure (when MembershipExpiryDaysNotice is undef).

Signed-off-by: Indranil Das Gupta (L2C2 Technologies) <indradg@gmail.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
9 years agoBug 6810: Send membership expiry reminder notices.
Amit Gupta [Tue, 8 Oct 2013 08:20:51 +0000 (13:50 +0530)]
Bug 6810: Send membership expiry reminder notices.

A new crontab based perl script to send membership expiry reminders. A
system preference controls the number of days in advance of membership
expiry that the notices will be sent on.

To Test:
1) Create a new Patron and set membership expiry date 14 days from the
   date of registration.
2) Check your systemprefence ( MemExpDayNotice to 14 days default value)
3) Manual testing Run ( perl membership_expiry.pl -h)
    It would give you various option:
    This script prepares for membership expiry reminders to be sent to
    patrons. It queues them in the message queue, which is processed by
    the process_message_queue.pl cronjob.
    See the comments in the script for directions on changing the script.
    This script has the following parameters :
     -c Confirm and remove this help & warning
     -n send No mail. Instead, all mail messages are printed on screen.
        Useful for testing purposes.
     -v verbose
    Do you wish to continue? (y/n)
4) Choose option for ex: perl membership_expiry.pl -c
5) Go to your koha database and check message_queue table you see some
   results.
6) Run (perl process_message_queue.pl) it will send email to those
   patron whose membership after 14 days from today.
7) Cron testing: (10   1 * * *  $KOHA_CRON_PATH/membership_expiry.pl -c)
8) Set your 15   * * * *  $KOHA_CRON_PATH/process_message_queue.pl
9) After running membership_expiry.pl, (process_message_queue.pl will
   send emails to those patron whose membership after 14 days from
   today).

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>