koha.git
7 years agoBug 10694 - Allow arbitrary backdating of returns
Kyle M Hall [Fri, 13 Sep 2013 15:26:30 +0000 (11:26 -0400)]
Bug 10694 - Allow arbitrary backdating of returns

Sometimes libraries need to backdate returns further back in time than
Koha's dropbox mode will allow. The returns backdating will check in an
item as if it had been returned on the specified date, and will reduce
any fine accordingly.

This feature is activated by a new system preference, SpecifyReturnDate.

Test Plan:
1) Apply this patch
2) Check out an item, and backdate the due date by 1 month or so
   * This issue needs to generate a fine
3) Run fines.pl to generate the fine
4) Browse to returns.pl
5) Specify a return date of the day after the specified due date
6) Check the borrowers issue history, you should see the backdated
   return date, rather than today's date
7) Check the fine, it should be reduced to a fine for a single day
   overdue, rather than the previous larger fine.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Barbara Knibbs <BKnibbs@farmingtonlibraries.org>
Signed-off-by: Petter Goksoyr Asen <boutrosboutrosboutros@gmail.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Works as described, passes tests and QA script.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 9016: (follow-up) standardize case of message transport type columns
Galen Charlton [Fri, 2 May 2014 21:17:49 +0000 (21:17 +0000)]
Bug 9016: (follow-up) standardize case of message transport type columns

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 9016: (follow-up) treat missing transports for overdue notices as warnings
Galen Charlton [Fri, 2 May 2014 21:11:30 +0000 (21:11 +0000)]
Bug 9016: (follow-up) treat missing transports for overdue notices as warnings

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 9016: (follow-up) treat missing transports for predue and item due notices as...
Galen Charlton [Fri, 2 May 2014 21:01:45 +0000 (21:01 +0000)]
Bug 9016: (follow-up) treat missing transports for predue and item due notices as warnings, not fatal errors

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 9016: (follow-up) treat missing transports for hold available notices as warnings...
Galen Charlton [Fri, 2 May 2014 20:54:55 +0000 (20:54 +0000)]
Bug 9016: (follow-up) treat missing transports for hold available notices as warnings, not fatal errors

This patch fixes a situation where a patron that has preferences
set for transport of a notice via a method that is not supported
for that notice type can result in a failure.  Rather than
make it a fatal error during checkin, simply log a warning and skip.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 9016: (follow-up) move insertAtCaret plugin out of language-specific directory
Galen Charlton [Fri, 2 May 2014 19:40:42 +0000 (19:40 +0000)]
Bug 9016: (follow-up) move insertAtCaret plugin out of language-specific directory

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11696: ensure that print overdue notices use the print template
Jonathan Druart [Thu, 6 Feb 2014 10:41:35 +0000 (11:41 +0100)]
Bug 11696: ensure that print overdue notices use the print template

This reordering avoids the case where a print notice is sent with an
email or sms template is no email or SMS is defined.

Test plan:
Check print, sms and email for an overdue rule
Don't define an email address and generate an overdue for a user
Define 3 templates for the notice used
Launch the cronjob script and verify the print notice is generated using
the print template.

Signed-off-by: Olli-Antti Kivilahti <olli-antti.kivilahti@jns.fi>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 3.15.00.041: DBrev 11867
Galen Charlton [Fri, 2 May 2014 19:30:51 +0000 (19:30 +0000)]
Bug 3.15.00.041: DBrev 11867

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11867: (follow-up) Change the sql query in order to win beauty prices
Jonathan Druart [Fri, 2 May 2014 15:03:56 +0000 (17:03 +0200)]
Bug 11867: (follow-up) Change the sql query in order to win beauty prices

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11867: MTT: Manage *_PHONE notices
Jonathan Druart [Thu, 27 Feb 2014 13:57:55 +0000 (14:57 +0100)]
Bug 11867: MTT: Manage *_PHONE notices

The *_PHONE notices (HOLD_PHONE, PREDUE_PHONE and OVERDUE_PHONE) should
be "merged" into the main code (i.e. HOLD, PREDUE and OVERDUE).

Test plan:
1/ Make sure you have HOLD_PHONE, PREDUE_PHONE and OVERDUE_PHONE notices
2/ Execute the update DB entry
3/ Verify the 3 notices have been merged into "phone" template of the
HOLD, PREDUE and OVERDUE notices
4/ Verify there is no regression in the Talking Tech feature (how?)

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
No koha-qa errors

Verified that notices are merged
TalkingTech_itiva_outbound.pl runs without problem... but can't produce
any output, may be not correctly configured (my setup), no warnings
nor log messages

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 10833: (follow-up) add message transport type to a warning message
Olli-Antti Kivilahti [Fri, 3 Jan 2014 13:29:48 +0000 (15:29 +0200)]
Bug 10833: (follow-up) add message transport type to a warning message

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 10833: Multi transport types for advanced notices
Jonathan Druart [Fri, 6 Sep 2013 09:39:51 +0000 (11:39 +0200)]
Bug 10833: Multi transport types for advanced notices

Test plan:
- Choose 2 patrons P1 and P2
- Edit "Patron messaging preferences" and
check SMS + email with 2 days in advance for P1
check email with 5 days in advance for P2
- defined a message for the letter code PREDUE for sms and email
  (tools/letters.pl).
- select 2 barcodes (B1, B2).
    * checkout B1 to P1 with a due date = NOW - 2 days
    * checkout B2 to P2 with a due date = NOW - 5 days
- into the mysql cli, note the value of unsent message:
  select count(*) from message_queue where status != "send";
- launch the cronjob:
  perl misc/cronjobs/advance_notices.pl -c
- retry the previous sql query, you should have X + 3 unsent messages
  (depending of current checkouts in your DB!).
- view all unsent message:
  select borrowernumber, letter_code, message_transport_type, content
  from message_queue where status != "send";
  You should see:
    2 messages for P1, 1 for sms, 1 for email and the letter code PREDUE
    1 message for P2, email and the letter code PREDUE

Signed-off-by: Olli-Antti Kivilahti <olli-antti.kivilahti@jns.fi>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 10832: (follow-up) add the transport type in the warning message
Jonathan Druart [Wed, 23 Apr 2014 15:35:33 +0000 (17:35 +0200)]
Bug 10832: (follow-up) add the transport type in the warning message

If no template is defined for a letter and the needed MTT, we
should display the MTT.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 10832: (follow-up) fix case where some print overdue notices were not being sent
Jonathan Druart [Thu, 13 Feb 2014 13:54:45 +0000 (14:54 +0100)]
Bug 10832: (follow-up) fix case where some print overdue notices were not being sent

If overdues should be sent to some patron (on the same branch), only the
first one was notified.

This patch fixes this issue.

Signed-off-by: Olli-Antti Kivilahti <olli-antti.kivilahti@jns.fi>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 10832: Multi transport types for overdue notices
Jonathan Druart [Fri, 6 Sep 2013 09:23:44 +0000 (11:23 +0200)]
Bug 10832: Multi transport types for overdue notices

Test plan:
- define some complex overdue rules (tools/overduerules.pl).
For example:
First overdue from 2 to 5 days by sms and email with letter code L1
Second overdue from 5 to 15 days by email with letter code L2
Third overdue from 15 days by print with letter code L3
- define a message for each transport type selected (tools/letters.pl).
- select 3 patrons (P1, P2, P3) and 3 barcodes (B1, B2, B3).
    * checkout B1 to P1 with a due date = NOW + 3 days
    * checkout B2 to P2 with a due date = NOW + 10 days
    * checkout B3 to P3 with a due date = NOW + 20 days
- into the mysql cli, note the value of unsent message:
  select count(*) from message_queue where status != "send";
- launch the cronjob:
  perl misc/cronjobs/overdue_notices.pl
- retry the previous sql query, you should have X + 4 unsent messages
  (depending of current checkouts in your DB!).
- view all unsent message:
  select borrowernumber, letter_code, message_transport_type, content
  from message_queue where status != "send";
  You should see:
    2 messages for P1, 1 for sms, 1 for email and the letter code L1
    1 message for P2, 1 for email and the letter code L2
    1 message for P3, 1 for print and the letter code L3

- Specific case: If a user don't have a smsalertnumber and a sms is
  required or if a user don't have an email defined and an email is
  required, a print notice is generated.
  A print notice is generated only 1 time per borrower and per level.

Signed-off-by: Olli-Antti Kivilahti <olli-antti.kivilahti@jns.fi>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11561: restore previous behavior of generation of hold print notices
Olli-Antti Kivilahti [Wed, 15 Jan 2014 14:25:17 +0000 (16:25 +0200)]
Bug 11561: restore previous behavior of generation of hold print notices

This patch prevents duplicate hold available print notices from being
sent and enforces making a print notice if no other transports can be
used.

-------------------------
- REPLICATING THE ISSUE -
-------------------------

1. Set a Patrons "Hold filled"-messaging preference to SMS + Email
2. Remove the SMS number (sms notification number) and all email
   addresses.
3. Make a reservation for this Patron.
4. Check-in the reserved Item.
5. message_queue-table has two generated print notices for the
   Hold_filled event.
   One for both failed message transport types, email and sms.

1. Set a Patrons "Hold filled"-messaging preference to empty, remove all
   checks from boxes.
2. Make a reservation for this Patron
3. Check-in the reserved Item.
4. message_queue-table has no message for the Hold-filled event. This is
   problematic because a Patron should get some kind of a notification
   for a filled Hold.

-----------------------------
- AFTER APPLYING THIS PATCH -
-----------------------------

If all message transport types for "Hold filled" fail, a print notice is
queued in the message_queue table. Only one print message is queued even
if many transports attempts fail.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 10845: (follow-up) update how a test case counts print hold available notices
Galen Charlton [Fri, 2 May 2014 19:01:37 +0000 (19:01 +0000)]
Bug 10845: (follow-up) update how a test case counts print hold available notices

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 10845: DBrev 3.15.00.040
Galen Charlton [Fri, 2 May 2014 19:01:07 +0000 (19:01 +0000)]
Bug 10845: DBrev 3.15.00.040

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 10845: (follow-up) fix message_transport_type parameter for Itiva cronjob
Jonathan Druart [Thu, 1 May 2014 13:41:31 +0000 (15:41 +0200)]
Bug 10845: (follow-up) fix message_transport_type parameter for Itiva cronjob

The message_transport_type param should passed to GetPreparedLetter, not
part of the "tables" parameter.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 10845: (follow-up) add the MTT in the die message
Jonathan Druart [Wed, 23 Apr 2014 14:48:54 +0000 (16:48 +0200)]
Bug 10845: (follow-up) add the MTT in the die message

If no template is defined for the HOLD letter and the needed MTT, we
should display the MTT.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 10845: Multi transport types for holds
Jonathan Druart [Mon, 9 Sep 2013 14:58:22 +0000 (16:58 +0200)]
Bug 10845: Multi transport types for holds

The HOLD_PRINT and HOLD_PHONE notices become useless.
This patch modifies existing notices in order to group them into the
main notice type 'HOLD', with any pre-existing print and phone
templates in the appropriate places.

Test plan:
- Apply the patch and execute the update database entry.
- Verify that your previous HOLD_PHONE and HOLD_PRINT are displayed
  when editing the HOLD notice (under phone and print).
- Choose a patron and check SMS, email, phone for "Hold filled"
  (on the patron messaging preferences).
- Place a hold.
- Check the item in and confirm the hold.
- If the patron has an email *and* a SMS number, 2 new messages are put
  into the  message_queue table: 1 sms and 1 email.
  If the patron does not have 1 of them, there are 2 new messages: 1
  sms/email and 1 print.
  If the user has neither of them, there is 1 new message: 1 print.
- The generated messages should correspond with the notices defined,
  depending the message transport type.

Signed-off-by: Olli-Antti Kivilahti <olli-antti.kivilahti@jns.fi>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Just noting that if email and SMS are disabled in the msg prefs, the user
will not have a print message.
And if the SMS driver fails, the record status in message_queue is 'failed',
but staff may not be aware of that.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 10845: Remove the notice code HOLD_PRINT in seed data
Jonathan Druart [Mon, 9 Sep 2013 15:12:21 +0000 (17:12 +0200)]
Bug 10845: Remove the notice code HOLD_PRINT in seed data

This patch converts the HOLD_PRINT notice to a HOLD notice
with a message transport type of 'print'.

Signed-off-by: Olli-Antti Kivilahti <olli-antti.kivilahti@jns.fi>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11868: (follow-up) correct case of "SMS"
Galen Charlton [Fri, 2 May 2014 18:32:02 +0000 (18:32 +0000)]
Bug 11868: (follow-up) correct case of "SMS"

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11868: MTT: disable SMS and phone if not in use
Jonathan Druart [Thu, 27 Feb 2014 13:30:50 +0000 (14:30 +0100)]
Bug 11868: MTT: disable SMS and phone if not in use

On both pages "Notices and slips" and "Overdue rules", it would be great
to disable SMS and phone if there are not in use.  This patch implements
this.

Test plan:
1/ Edit a notice
2/ Enable/disable the SMSSendDriver pref and verify the sms block is
enabled/disabled.
3/ Enable/disable the TalkingTechItivaPhoneNotification pref and verify
the phone block is enabled/disabled.

4/ Go on tools/overdues.pl
5/ Enable/disable the SMSSendDriver pref and verify the sms checkboxes
are enabled/disabled.
6/ Enable/disable the TalkingTechItivaPhoneNotification pref and verify
the phone checkboxes are enabled/disabled.

Signed-off-by: Olli-Antti Kivilahti <olli-antti.kivilahti@jns.fi>
---------------
Testing report:
---------------
Followed the test plan. Reviewed the code modifications.
Feature works as expected.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 9016: (follow-up) update DBIC schema classes
Galen Charlton [Fri, 2 May 2014 18:05:09 +0000 (18:05 +0000)]
Bug 9016: (follow-up) update DBIC schema classes

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 9016: DBRev 3.15.00.039
Galen Charlton [Fri, 2 May 2014 18:03:37 +0000 (18:03 +0000)]
Bug 9016: DBRev 3.15.00.039

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 9016: (QA Follow-up) Remove warning from content.length test
Marcel de Rooy [Fri, 28 Mar 2014 08:50:11 +0000 (09:50 +0100)]
Bug 9016: (QA Follow-up) Remove warning from content.length test

If the letter.content is undef, the content.length test in the letter
template will trigger warning:

    Argument "" isn't numeric in numeric gt (>).

This patch eliminates that warning.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 9016: (follow-up) Improve number of characters display when mtt=sms
Jonathan Druart [Thu, 27 Mar 2014 15:18:07 +0000 (16:18 +0100)]
Bug 9016: (follow-up) Improve number of characters display when mtt=sms

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 9016: (follow-up) Add some validation on the letter form
Jonathan Druart [Thu, 27 Mar 2014 15:01:22 +0000 (16:01 +0100)]
Bug 9016: (follow-up) Add some validation on the letter form

1/ Code and Name are mandatory.
2/ At least 1 template should be filled on saving.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 9016: (follow-up) FIX letter name is not displayed on editing a letter
Jonathan Druart [Thu, 27 Mar 2014 15:00:57 +0000 (16:00 +0100)]
Bug 9016: (follow-up) FIX letter name is not displayed on editing a letter

If the name is not in email, the name is not correctly retrieved.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 9016: (follow-up) letter name is not displayed on editing a letter
Jonathan Druart [Thu, 13 Mar 2014 08:30:22 +0000 (09:30 +0100)]
Bug 9016: (follow-up) letter name is not displayed on editing a letter

On editing a letter, the letter name is not displayed. So if you save
it, the letter name is erased with an empty string.

Signed-off-by: Olli-Antti Kivilahti <olli-antti.kivilahti@jns.fi>
Tested by setting the "Name"-field in letter.pl, saving, re-editing and verifying
that the email is present in the letter's "Name"-field.
The letter "Name" is replicated for each template in the DB, but that doesn't
incur any performance penalty.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 9016: (follow-up) additional mtt's name should be displayed in header
Jonathan Druart [Wed, 12 Mar 2014 17:42:40 +0000 (18:42 +0100)]
Bug 9016: (follow-up) additional mtt's name should be displayed in header

If you insert a new line in your message_transport_types table, the
overdues configuration table did not displayed an header.

Signed-off-by: Olli-Antti Kivilahti <olli-antti.kivilahti@jns.fi>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 9016: (follow-up) make GetLetters return all letters
Jonathan Druart [Thu, 6 Mar 2014 14:18:12 +0000 (15:18 +0100)]
Bug 9016: (follow-up) make GetLetters return all letters

GetLetters only returns letters with a mtt = email. It should return all
letter codes in the DB.

The message_transport_type parameter is never used.

To reproduce the issue:
Create a notice with a sms template and no email template.
Go on the overdue rules configucation page.
The notice does not appear in the notice list.

Signed-off-by: Olli-Antti Kivilahti <kivilahtio@ProBook6570b>
---------------
Testing report:
---------------
Testing this subroutine from a test stub. Calling the method without arguments
and with argument 'circulation' and 'circulat'.
Works as supposed to.
Related Bug 11931 discovered but not within the scope of this featureset.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 9016: (follow-up) various fixes
Jonathan Druart [Mon, 24 Feb 2014 15:13:35 +0000 (16:13 +0100)]
Bug 9016: (follow-up) various fixes

* Fixes POD of GetMessageTransportTypes.
* Removes the useless map in GetMessageTransportTypes.
* Textual: "You must specify a title and a content" ->
           "Please specify title and content".
* Reintroduces << and >> around the field name.
* Change message for the update DB entry.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 9016: (follow-up) add insertAtCaret library to about page
Kyle M Hall [Fri, 7 Feb 2014 13:54:24 +0000 (08:54 -0500)]
Bug 9016: (follow-up) add insertAtCaret library to about page

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 9016: (follow-up) fix some translate issues
Jonathan Druart [Mon, 3 Feb 2014 13:15:38 +0000 (14:15 +0100)]
Bug 9016: (follow-up) fix some translate issues

On tools/letter.pl and tools/overduerules.pl, some strings were not
translatable. This patch should fix that.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 9016: (follow-up) fix tab characters and POD.
Jonathan Druart [Mon, 16 Dec 2013 08:48:39 +0000 (09:48 +0100)]
Bug 9016: (follow-up) fix tab characters and POD.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 9016: (follow-up) fix unit tests
Jonathan Druart [Fri, 8 Nov 2013 12:40:07 +0000 (13:40 +0100)]
Bug 9016: (follow-up) fix unit tests

The unit tests should insert overdue rules.
+ Fix the doc for GetOverdueMessageTransportTypes

Signed-off-by: Olli-Antti Kivilahti <olli-antti.kivilahti@jns.fi>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 9016: DB changes: new table overduerules_transport_types
Jonathan Druart [Fri, 6 Sep 2013 07:36:42 +0000 (09:36 +0200)]
Bug 9016: DB changes: new table overduerules_transport_types

This patch adds:
- a new table overduerules_transport_types.
- a new column letter.message_transport_type.
- a new primary key for letter.
- fill the new table with existing values.

Test plan:
After applying this patch and executing the updatedatabase entry, verify
that the overduerules_transport_types table contains a row for each
entry in the overduerules table.
The message_transport_type column should contain 'email'.

Signed-off-by: Olli-Antti Kivilahti <olli-antti.kivilahti@jns.fi>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 9016: (follow-up) GetMessageTransportTypes returns an arrayref, not hashref
Jonathan Druart [Mon, 9 Sep 2013 14:52:29 +0000 (16:52 +0200)]
Bug 9016: (follow-up) GetMessageTransportTypes returns an arrayref, not hashref

Signed-off-by: Olli-Antti Kivilahti <olli-antti.kivilahti@jns.fi>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 9016: Define different transport types for overdues
Jonathan Druart [Fri, 6 Sep 2013 08:28:39 +0000 (10:28 +0200)]
Bug 9016: Define different transport types for overdues

This patch adds:
- a new routine C4::Overdues::GetOverdueMessageTransportTypes.
- the ability to define one or more transport types for an overdue
  level.

Test plan:
- go on tools/overduerules.pl.
- verify that previous rules still exist and that the 'email' checkboxes
  is checked if a rule is defined.
- redefined rules at different levels and check the transport type
  needed. Currently, only email, sms and print are relevant
- Save the changes.

Signed-off-by: Olli-Antti Kivilahti <olli-antti.kivilahti@jns.fi>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 9016: Create a message for each transport type.
Jonathan Druart [Fri, 6 Sep 2013 08:27:04 +0000 (10:27 +0200)]
Bug 9016: Create a message for each transport type.

This patch adds:
- a new jquery plugin : insertatcaret.
- the ability to define a notice template for each transport type.
- a new routine C4::Letters::GetMessageTransportTypes.

Test plan:
- Go on tools/letter.pl and check that all existing notices are still
  there.
- Modify one. A new empty message is present for sms, print, etc. The
  email message is filled with the existant value.
- Add a message for sms for example (don't forget the subject) and save.
- edit again and verify the sms message has been saved.

Signed-off-by: Olli-Antti Kivilahti <olli-antti.kivilahti@jns.fi>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11182: (follow-up) fix regression where session branch wasn't initialized
Galen Charlton [Fri, 2 May 2014 20:25:22 +0000 (20:25 +0000)]
Bug 11182: (follow-up) fix regression where session branch wasn't initialized

C4::Context->userenv() won't return a valid value until the
user session set up, e.g., via get_template_and_user().  Consequently,
the change introduced by a previous commit for bug 11182 ended
up making it appear that when checking an item that fills a hold
that it always needs to be transferred.

This patch fixes the regression and moves the "no-branch-set" check
to where it belongs.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 6273: (follow-up) fix various issues
Galen Charlton [Wed, 30 Apr 2014 17:11:58 +0000 (17:11 +0000)]
Bug 6273: (follow-up) fix various issues

This patch fixes various issues that prevented the account
type from being set correctly when recording SIP2 payments:

- the fixed fields in the fee paid message were not getting
  parsed correclty
- accountlines.accounttype is only five characters wide, so
  SIP2 payments are now records as 'Pay00', 'Pay02', etc. rather
  than 'Pay-00'.
- removed regression on bug 2546 and made the new payment types
  translatable

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 6273: add support for recording type of payment made via SIP2
Ian Walls [Fri, 2 Dec 2011 15:49:07 +0000 (10:49 -0500)]
Bug 6273: add support for recording type of payment made via SIP2

Adds support for recording in Koha accountlines a different accounttype
depending on how the fee was paid at the SIP2 station (cash, credit,
etc.)

Adds a new param to recordpayment(), $sip_paytype, which is appended to
the 'Pay' type if present.  The payment description is also appended
with " (via SIP2)" if this is present.

In order for other scripts to keep working as expected, "eq 'Pay'"
needed to be replaced with a regex comparison "=~ /^Pay/", so that 'Pay'
and 'Pay-##' would continue to group together.

To test:
1.  Make a payment over a SIP2 connection
2.  Check the patron record in the staff client; you should see the
    modified description
3.  Attempt to print a invoice or a reciept for the borrower; the
    payment should show up where expected

Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no>
Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 9865 (follow-up) give better usage examples in example SIPconfig.xml
Kyle M Hall [Fri, 10 Jan 2014 13:36:28 +0000 (08:36 -0500)]
Bug 9865 (follow-up) give better usage examples in example SIPconfig.xml

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 9865: make SIP msg encoding configurable via SIPconfig.xml
Adrien Saurat [Fri, 8 Nov 2013 10:49:56 +0000 (11:49 +0100)]
Bug 9865: make SIP msg encoding configurable via SIPconfig.xml

The accounts->login tag in SIPconfig.xml can now accept a new
parameter, "encoding". It will be mostly used to encode to utf8.

For this, simply add the parameter: encoding="utf8"

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Works as advertised, does nothing if encoding is not set.
Blows up all the machines that can't handled utf8 if it is set :) But
that's not Koha's fault. :)

Patch rebased by Christophe Croullebois  <christophe.croullebois@biblibre.com>

Signed-off-by: Petter Goksoyr Asen <boutrosboutrosboutros@gmail.com>
But now I did it the right way! And I can confirm that this patch solves
all issues with mangled characters in SIP messages. Confirmed that it
looks good with Norwegian characters in patron name and in book titles.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11334: (follow-up) teach the search tests to mock the DisplayLibraryFacets syspref
Galen Charlton [Wed, 30 Apr 2014 03:29:46 +0000 (03:29 +0000)]
Bug 11334: (follow-up) teach the search tests to mock the DisplayLibraryFacets syspref

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 7844: (follow-up) don't test koha.psgi for ability to compile (yet)
Galen Charlton [Tue, 29 Apr 2014 19:34:23 +0000 (19:34 +0000)]
Bug 7844: (follow-up) don't test koha.psgi for ability to compile (yet)

Given the experimental nature of Plack support, for now we're
excluding koha.psgi from the Perl compilation tests.  This should be
changed as we get closer to making Plack support a first-class option.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11182: (QA followup) fix warning if itemBarcodeFallbackSearch set
Tomas Cohen Arazi [Fri, 31 Jan 2014 16:00:18 +0000 (13:00 -0300)]
Bug 11182: (QA followup) fix warning if itemBarcodeFallbackSearch set

To reproduce:
- On top of the previous patches, if you enable the
  itemBarcodeFallbackSearch syspref and do a search for a term that
  returns at least one result, there will be warnings for each result
  without items attached.

To test:

- In the checkout form enter a term that should return results (some of
  them without items attached)
=> There are warnings on the logs regarding a split of undef variable
- Apply the patch
- Repeat the first step
=> No warnings

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11182: get rid of some warnings in circulation
Srdjan [Fri, 1 Nov 2013 07:17:40 +0000 (20:17 +1300)]
Bug 11182: get rid of some warnings in circulation

TEST PLAN
---------
 1) Log into staff client
 2) Koha administration
 3) Global system preferences
 4) Circulation
 5) Make sure FineNotifyAtCheckin is set to Notify.
 6) Check out tab
 7) Type patron's name and click 'Submit'
 8) Select patron if required
 9) Check out an item, but set the due date to be overdue.
10) Check in the overdue item.
11) Check the error log
     $ cat ~/koha-dev/var/log/koha-error_log
     NOTE: only the warnings from lines 269 and 540 in returns.pl
           are the ones to note.
12) Apply this patch
13) Repeat steps 6 through 11, there should no new
    warnings related to lines 269 or 540 from returns.pl.

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11182: (follow-up) improve initialization of the $waiting_holds variable
Galen Charlton [Tue, 29 Apr 2014 17:55:01 +0000 (17:55 +0000)]
Bug 11182: (follow-up) improve initialization of the $waiting_holds variable

Rather than check whether it's defined, since its holding an
integer, simply initialize it to 0.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11182: remove another warning in circulation
Mark Tompsett [Fri, 10 Jan 2014 19:45:17 +0000 (14:45 -0500)]
Bug 11182: remove another warning in circulation

This deals with the warning when Circulation system preference
'WaitingNotifyAtCheckin' is set to 'Notify' and an overdue item
is checked in.

TEST PLAN
---------
 0) Feel free to backup your koha-error_log file, and then toast it.
     $ echo > ~/koha-dev/var/log/koha-error_log
 1) Log into staff client
 2) Koha administration
 3) Global system preferences
 4) Circulation
 5) Make sure WaitingNotifyAtCheckin is set to Notify.
 6) Check out tab
 7) Type patron's name
 8) Select patron if required
 9) Check out an item, but set the due date to be overdue.
10) Check in the overdue item.
11) Check the error log
     $ cat ~/koha-dev/var/log/koha-error_log | grep 284
     NOTE: the returns.pl one that will be fixed by this.
12) Apply this patch
13) Repeat steps 6 through 7, there should no new line 284 entries.

Signed-off-by: Jesse Weaver <pianohacker@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11182: remove spurious logged warnings in circulation
Mark Tompsett [Fri, 10 Jan 2014 18:07:10 +0000 (13:07 -0500)]
Bug 11182: remove spurious logged warnings in circulation

TEST PLAN
---------
 1) Log into staff client
 2) Click 'Circulation'
 3) Click 'Check out'
 4a) Type a patron name, click 'Submit'
 4b) If necessary, select which one, and click 'Select'
 5) Check the error logs, new warnings
 6) Apply patch
 7) Click 'Circulation'
 8) Click 'Check out'
 9a) Type a patron name, click 'Submit'
 9b) If necessary, select which one, and click 'Select'
10) Check the error logs, no new warnings
11) Click the 'Restrictions' tab
12) Click 'Add manual restriction'
13) Add a dummy restriction
14) Click the 'Restrictions' tab
15) Click 'Remove'
16) Click 'OK'
17) Confirm that no additional error log entries were added
     and adding/deleting restrictions hasn't broken.

Signed-off-by: Jesse Weaver <pianohacker@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11334: DBRev 3.15.00.038
Galen Charlton [Tue, 29 Apr 2014 16:03:07 +0000 (16:03 +0000)]
Bug 11334: DBRev 3.15.00.038

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11334: (follow-up) add spans for new facets
Galen Charlton [Tue, 29 Apr 2014 16:01:51 +0000 (16:01 +0000)]
Bug 11334: (follow-up) add spans for new facets

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11334: (follow-up) fix errors in database update
Kyle M Hall [Wed, 8 Jan 2014 11:39:57 +0000 (06:39 -0500)]
Bug 11334: (follow-up) fix errors in database update

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11334: add ability to control which library fields are used for facets
Kyle M Hall [Tue, 3 Dec 2013 19:13:24 +0000 (14:13 -0500)]
Bug 11334: add ability to control which library fields are used for facets

The current "Library" facet is somewhat ambiguous for Koha installations
with multiple libraries. It refers to the holdingbranch, but does not
explicitly state this. It would be beneficial to allow the administrator
to choose to show facets for the holding library, home library, or both.
In addition, the facets should be more explicitly labeled.  This patch
adds this flexibility.

Test plan:
1) Apply this patch
2) Check that the facets label "Libraries" now reads "Holding libraries"
3) Update the system preference DisplayLibraryFacets to "home library"
4) Check that the facet now reads "Home libraries"
5) Update the preference again to "both home and holding library"
6) Check that both the facets for home and holding library are now
   displayed.

Signed-off-by: Jen DeMuth <jdemuth@roseville.ca.us>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes all tests and QA script.
Changes apply to both prog and bootstrap OPAC and staff client.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 10893: fix location facet in UNIMARC
Mathieu Saby [Mon, 16 Sep 2013 09:42:44 +0000 (11:42 +0200)]
Bug 10893: fix location facet in UNIMARC

Location facet in UNIMARC is void. In the code, it is build
on 995$c, while location is store in 995$e (see record.abs).
This patch replace 995$c with 995$e in Koha.pm

To test :
1. Use a UNIMARC Koha instance with ONE branch, and SEVERAL
    locations
2. Make a search in opac and staff interface : no location
    facet on the left side of the screen
3. apply the patch
4. Make the same search : location facets will be displayed

NOTE: I, Mark Tompsett, rebased this. I confirmed that 995$c
      should be 995$e (wiki, Holdings_data_fields_(9xx) page)
      Also note that the code relocated based on bug 10078,
      causing the patch to not apply.

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
NOTE: The location facet did not appear in master, but after
      applying the patch, it did appear.
      Because of the code being moved, it is no longer affected
      by the branch count or singleBranchMode.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Fixes wrong subfield code for UNIMARC.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11518: (follow-up) Make unit tests pass
Kyle M Hall [Mon, 21 Apr 2014 12:20:28 +0000 (08:20 -0400)]
Bug 11518: (follow-up) Make unit tests pass

This works around a problem where the database handle
returned by C4::Context->dbh() is not the same as the one
used by Koha::Database.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11518: (follow-up) retrieve syspref value using DBIC
Kyle M Hall [Thu, 10 Apr 2014 17:46:34 +0000 (13:46 -0400)]
Bug 11518: (follow-up) retrieve syspref value using DBIC

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11518: (follow-up) Change method name from 'itemtype' to 'effective_itemtype...
Kyle M Hall [Fri, 10 Jan 2014 15:21:55 +0000 (10:21 -0500)]
Bug 11518: (follow-up) Change method name from 'itemtype' to 'effective_itemtype' for clarity

Test runs without errors.

Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11518: Add new method to K::S::R::Item that will always return the correct itemtype
Kyle M Hall [Fri, 10 Jan 2014 13:03:59 +0000 (08:03 -0500)]
Bug 11518: Add new method to K::S::R::Item that will always return the correct itemtype

There are many disparate areas of Koha that deal with item level
itemtypes vs record level itemtypes. We can take advantage of
DBIx::Class to make smarter objects that automatically return the
correct value depending on the system preference.

Test Plan:
1) Apply this patch
2) Run t/db_dependent/Items.t

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 12100: (follow-up) fix regression
Galen Charlton [Mon, 28 Apr 2014 21:32:45 +0000 (21:32 +0000)]
Bug 12100: (follow-up) fix regression

This patch fixes a regression on bug 5603 introduced by
the previous patch by ensuring that if no preferred transports are
active for a given message, GetMessagingPreferences()
won't try to populate the transports hash with an undef hash
key.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 12100: ensure that messaging preferences displays saved Days in Advance
Marcel de Rooy [Thu, 17 Apr 2014 11:30:44 +0000 (13:30 +0200)]
Bug 12100: ensure that messaging preferences displays saved Days in Advance

If you have enhanced messaging preference, the Days in Advance combo
value (in Patron Messaging Preferences) is saved in the database but
not retrieved when you have not enabled the Email checkbox (or checkbox
for any other transport) next to it.

This patch does the following:
[1] It replaces a JOIN by a LEFT JOIN that is the actual reason of the
    problem described.
[2] Removes a FIXME by saving a hardcoded 30 into a constant.
[3] Fixes a typo in the neighborhood.
[4] Removes a superfluous comma in the map statement.
[5] Simplifies code for the selected field of the days combo. It should
    just be a boolean. The text selected="selected" is in the template.

Test plan:
[1] Enable enhanced messaging preferences.
[2] Fill in Days in advance for Advance notice but uncheck Email.
[3] Save the preferences.
[4] The member home screen does not display the number of days (until you
    decide to apply this patch :)

Followed test plan. Works as expected.
Signed-off-by: Marc Veron <veron@veron.ch>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11679: Add ODS as an export format for reports
Jonathan Druart [Tue, 4 Feb 2014 12:26:54 +0000 (13:26 +0100)]
Bug 11679: Add ODS as an export format for reports

This patch adds the ability to export the data generated by a report
into an Open Document spreadsheet file.

Test plan:
1/ Install the new dependency
2/ Verify you are able to generate an ods file from a
report result.

Tested with several reports and downloaded them as Open Document
Spreadsheet. Wors as expected.
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes all tests and QA script.
Verified tab and comma separated export still works correctly.
Verifid new ODS export works nicely.
Tested with data containing Arabic characters and German umlauts.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11679: Add the new dependency OpenOffice::OODoc
Jonathan Druart [Mon, 28 Apr 2014 14:50:48 +0000 (16:50 +0200)]
Bug 11679: Add the new dependency OpenOffice::OODoc

Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 12089: Remove use of dt_add_type_uk_date() - JavaScript
Owen Leonard [Thu, 17 Apr 2014 16:02:35 +0000 (12:02 -0400)]
Bug 12089: Remove use of dt_add_type_uk_date() - JavaScript

This patch removes the now unused dt_add_type_uk_date function from
Koha's custom DataTables javascript file.

To test, be sure all other patches on Bug 12089 are applied. Apply this
patch and search for instances of dt_add_type_uk_date. There should be
none.

Signed-off-by: David Cook <dcook@prosentient.com.au>
Works as described.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes all tests and QA script, works as described.
No regressions found, sorting and searching in all tables
touched by these patches works ok.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 12089: Remove use of dt_add_type_uk_date() - Acquisitions
Owen Leonard [Thu, 17 Apr 2014 13:40:25 +0000 (09:40 -0400)]
Bug 12089: Remove use of dt_add_type_uk_date() - Acquisitions

This patch removes instances of dt_add_type_uk_date() from acquisitions
templates and updates sorting configurations according to current
guidelines.

In cases where a formatted date was passed from a Perl script, the
script has been modified to pass an unformatted date.

Several instances of the no longer valid align attribute have been
removed from <td> tags in favor of an existing "data" class which is
suitable for display of currency values.

To test, view the following pages in Acquisitions. Columns containing
dates should sort correctly regardless of dateformat system preference
setting. Columns containing bibliographic titles should ignore articles
when sorting.

- Add to an order from a staged file: The table of staged files should
  sort correctly. After clicking "add orders" for one of the staged
  files, the table of titles in that staged file should also be sorted
  correctly.

- Add to an order from a subscription. The table of subscription search
  results should sort correctly.

- Orders search results should sort correctly.

- Late orders should sort correctly.

- Search for a vendor. Click on the vendor name to view the vendor
  detail page. The table of contracts on this page should sort
  correctly.

- From the Acquisitions home page click a number in the "spent" column
  of the table of available funds. The table of orders should sort
  correctly.

- From the Acquisitions home page click a number in the "ordered" column
  of the table of available funds. The table of orders should sort
  correctly.

- From a vendor detail page, click the "Receive shipments" button. On
  the receive shipments page the table of shipments should be sorted
  correctly.

Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 12089: Remove use of dt_add_type_uk_date() - Circulation
Owen Leonard [Tue, 15 Apr 2014 18:04:33 +0000 (14:04 -0400)]
Bug 12089: Remove use of dt_add_type_uk_date() - Circulation

This patch removes instances of dt_add_type_uk_date() from there
circulation templates and updates the sorting configuration according to
current guidelines.

To test, enable the UseTablesortForCirc system preference and open a
patron for circulation who has multiple items checked out. Confirm that
sorting by due date, title, and checkout date work correctly.

Locate a patron who is guarantor to another or is guaranteed by another.
One or both patrons should have checkouts. The "relatives checkouts" tab
on the checkout page should sort correctly on due date, title, and
checkout date.

On the transfers to receive report, confirm that sorting by date of
transfer and title work correctly for all tables.

On the holds awaiting pickup report the "available since" and title
columns should sort correctly for tables in both tabs (waiting and
over).

Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 12089: Remove use of dt_add_type_uk_date() - Budgets
Owen Leonard [Wed, 16 Apr 2014 18:32:24 +0000 (14:32 -0400)]
Bug 12089: Remove use of dt_add_type_uk_date() - Budgets

This patch removes use of dt_add_type_uk_date() from the budgets
administration page and updates the sorting configuration according to
current guidelines. Date sorting is converted to the title-string
method. Invalid <td> "align" attribute is replaced with a class.

Also corrected: Active tab selection based on class.

To test, go to Administration -> Budgets and confirm that sorting works
correctly on both the active and inactive budget tabs. Sorting by date
should work correctly regardless of dateformat system preference.

To test tab selection, append "?tab=2" to the page URL and confirm that
the inactive budget tab is selected.

Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 12089: Remove use of dt_add_type_uk_date() - Members
Owen Leonard [Tue, 15 Apr 2014 19:09:30 +0000 (15:09 -0400)]
Bug 12089: Remove use of dt_add_type_uk_date() - Members

This patch removes use of dt_add_type_uk_date() from the circulation
history page and updates the sorting configuration according to
current guidelines.

The patch also makes corrections for HTML validity.

To test, open the circulation history page for a patron with a history
of checkouts. Confirm that the date, title, checkout date, due date, and
return date columns sort correctly.

Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 12088: Improve date handling and sorting in holds to pull report
Owen Leonard [Tue, 15 Apr 2014 16:15:41 +0000 (12:15 -0400)]
Bug 12088: Improve date handling and sorting in holds to pull report

The holds to pull report could be improved by improving sorting on the
title and date columns. This patch adds "anti-the" sorting to the title
column and "title-string" sorting to the date column.

Date formatting of another variable has been moved to the template for
formatting using KohaDates.

The patch includes other corrections for HTML validity.

To test, apply the patch and view the holds to pull report.
 - Sorting by date should work correctly regardless of dateformat system
   preference setting.
 - Sorting of the title columns should correctly ignore articles.
 - Formatting of the "Reported on" date should be correct.

Revision incorporates the corrections made by Bug 12127 and converts
those changes to use class-based sorting.

Signed-off-by: David Cook <dcook@prosentient.com.au>
The patch works as described. Thanks for including and improving the
changes from Bug 12127, Owen!

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes QA script and tests.
No regressions found, works as advertised.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11719: (follow-up) fixed two more sorting issues
Owen Leonard [Tue, 15 Apr 2014 19:32:34 +0000 (15:32 -0400)]
Bug 11719: (follow-up) fixed two more sorting issues

This second follow-up addresses QA issues:

- Corrected sorting on claims page while converting sorting
  configuration to up-to-date method.
- Removed sorting from routing list column on serial collection page.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11719: (follow-up) fix column sorting configuration
Owen Leonard [Tue, 25 Feb 2014 15:58:40 +0000 (10:58 -0500)]
Bug 11719: (follow-up) fix column sorting configuration

This patch corrects column sorting configuration to avoid an error when
sorting on the call number column. Also changed: removed obsolete UK
sort mention.

To test, search for serial subscriptions. Test sorting on all columns in
the results table with and without the RoutingSerials preference
enabled. Sorting should work correctly without error.

Signed-off-by: Aleisha <aleishaamohia@hotmail.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11719 - Use new DataTables include in serials templates
Owen Leonard [Mon, 10 Feb 2014 15:22:45 +0000 (10:22 -0500)]
Bug 11719 - Use new DataTables include in serials templates

Bug 10649 introduced a new include file for adding DataTables-related
JavaScript assets. This patch adds use of this include file to all
serials-related pages which use DataTables.

Apply the patch and test the following pages to confirm that table
sorting works correctly:

- Serials search results (serials/serials-search.pl): Perform a search
  which will return more than one subscription. The expiration date
  column is now sorted using the "title-string" filter for sorting based
  on the unformatted date. The "anti-the" filter has been added to the
  title column to exclude articles when sorting.

- Serials collection (serials/serials-collection.pl): View the serial
  colection page for an existing subscription. The table of issues
  should be sorted correctly.

- Serial claims (serials/claims.pl): The "since" and
  "claim date" columns have been modified to use the title-string filter
  for sorting based on the unformatted date.
  C4::Serials.pm::GetLateOrMissingIssues has been modified to pass an
  unformatted date along with the formatted date. The "anti-the" filter
  has been added to the title column to exclude articles when sorting.

Signed-off-by: Aleisha <aleishaamohia@hotmail.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Tested all 3 tables, no regressions found.
Passes QA script and tests.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11351: (follow-up) ensure itemtypes.sip_media_type is set to NULL when cleared
Galen Charlton [Mon, 28 Apr 2014 18:08:58 +0000 (18:08 +0000)]
Bug 11351: (follow-up) ensure itemtypes.sip_media_type is set to NULL when cleared

This patch ensures that the sip_media_type is set to NULL
rather than the empty string when it is cleared via item
types administration.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11351: (follow-up) update DBIC schema classes
Galen Charlton [Mon, 28 Apr 2014 18:01:54 +0000 (18:01 +0000)]
Bug 11351: (follow-up) update DBIC schema classes

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11351: DBrev 3.15.00.037
Galen Charlton [Mon, 28 Apr 2014 17:59:21 +0000 (17:59 +0000)]
Bug 11351: DBrev 3.15.00.037

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11351: (follow-up) fix typos in seed SIP2 media types
Galen Charlton [Mon, 28 Apr 2014 17:57:27 +0000 (17:57 +0000)]
Bug 11351: (follow-up) fix typos in seed SIP2 media types

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11351 - Add support for SIP2 media types - French file
Jonathan Druart [Wed, 23 Apr 2014 13:27:01 +0000 (15:27 +0200)]
Bug 11351 - Add support for SIP2 media types - French file

This patch adds the SIP_MEDIA_TYPE AV for the fr-FR file.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
7 years agoBug 11351 - Add support for SIP2 media types
Kyle M Hall [Fri, 6 Dec 2013 18:35:49 +0000 (13:35 -0500)]
Bug 11351 - Add support for SIP2 media types

Koha's SIP2 server implementation does not currently support the SIP2
protocol field "media type" ( CK ).

This patch implements the SIP2 media type by allowing an arbitrary
mapping of itemtypes to SIP2 media types.

Test Plan:
1) Apply this patch
2) Run updatedatabase
3) Edit an itemtype, select a SIP media type, and save the changes
4) Make a SIP2 Item Information Request
5) Verify that the CK field of the Item Information Response contains
   the correct media type code.

Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
7 years agoBug 7125: make MARC framework tag form not suggest that one can change the form
Owen Leonard [Wed, 23 Apr 2014 14:52:14 +0000 (10:52 -0400)]
Bug 7125: make MARC framework tag form not suggest that one can change the form

When you edit an existing tag in a MARC framework the form makes it
appear as if you can change the tag number when in fact you cannot. This
patch changes the template so that the tag number does not appear as an
editable form field during the edit process.

To test, apply the patch and open an existing MARC framework in
Adminstration -> MARC bibliographic framework.

- Choose an existing tag from the list and click 'Edit.'
- The line labeled "Tag" should display the tag as text.
- Making a change to any of the tag's details should work correctly.
- Return to the list of the MARC framework's tags.
- Click 'New tag.'
- The line labeled "Tag" should display a blank form field.
- Create a new tag and confirm that it saves correctly.

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Work as describes, on edit and new.
No koha-qa errors

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Work as described, template change only.
Checked editing and adding tags.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 12127: fix incorrect DataTable types in Holds to Pull list
David Cook [Wed, 23 Apr 2014 05:54:36 +0000 (15:54 +1000)]
Bug 12127: fix incorrect DataTable types in Holds to Pull list

This patch explicitly sets the sType in the Holds to Pull list table
for the libraries, itypes, and locations columns. It appears that the
type is automatically being set to "html" when it should be set to
"string".

It needs to have a sType of "string", since DataTables will strip out
the <br> tags when using "html", and we need them for the regexp
we use to create a more precise filter search.

_TEST PLAN_

Before applying:

1) Place a "next available" hold on a record with an item available
from one library/branch (e.g. "Branch A")
2) Place a "next available" hold on a record with an item available
from two different libraries/branches
3) Place a "next available" hold on a record with an item available
from three different libraries/branches - one of which is the same
as the library/branch from Step 1.
4) Go to the Holds to Pull List
5) Filter the branches by "Branch A".
6) You should only see the hold from Step 1 - not Step 3.
7) Try filtering on a branch for a hold that has multiple
libraries/branches. (They shouldn't appear when filtering, except
when using the "None" filter).

Apply the patch.

After applying:
1) Repeat Steps 4-7 from above. When filtering on "Branch A", you
should be able to see all holds that are available at "Branch A",
even if they are available at other branches (i.e. the holds has
multiple libraries listed).

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11724: Make Funds/Status on suggestions page sortable/searchable
Owen Leonard [Fri, 14 Mar 2014 18:33:51 +0000 (14:33 -0400)]
Bug 11724: Make Funds/Status on suggestions page sortable/searchable

The fund and status columns on the suggestions page are not sortable or
searchable. This patch makes them so.

This patch also amends the DataTables configuration to use class-based
targeting for sorting types as was decided on the koha-devel list. The
table markup has been modified accordingly.

To test you must have existing suggestions. Apply the patch and go to
Acquisitions -> Suggestions. View the table of existing suggestions and
confirm that the funds and status columns are sortable and searchable.

Confirm that the title column correctly ignores articles when sorting.

Signed-off-by: David Cook <dcook@prosentient.com.au>
Works as described.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Works as described, template change only.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11856: Add publication year and edition to French acq PDF template
Katrin Fischer [Thu, 27 Feb 2014 15:30:29 +0000 (16:30 +0100)]
Bug 11856: Add publication year and edition to French acq PDF template

Follow up to the patch for the English templates - repeat tests
with OrderPDFFormat set to pdfformat::layout3pagesfr.

Additional change:
Translates 'published by' to 'publie par'

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11856: Add publication year and edition to German acq PDF template
Katrin Fischer [Thu, 27 Feb 2014 15:29:08 +0000 (16:29 +0100)]
Bug 11856: Add publication year and edition to German acq PDF template

Follow up to the patch for the English templates - repeat tests
with OrderPDFFormat set to pdfformat::layout2pagesde.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11856: Add publication year and edition to English acq PDF templates
Katrin Fischer [Thu, 27 Feb 2014 10:12:11 +0000 (11:12 +0100)]
Bug 11856: Add publication year and edition to English acq PDF templates

To test:
- Switch OrderPdfFormat to pdfformat::layout3pages
- Create one or more  baskets with a few orders, make sure you
  are adding some records that contain a publication year and/or
  edition statement
- Close the basket
- Create a basket group
- Print the PDF and check that edition and publication year
  show up and bibliographic information is printed correctly
- Switch OrderPdfFormat to pdfformat::layout2pages
- Repeat PDF print

This patch also changes the formatting a bit and differentiates between
UNIMARC and MARC21. For MARC21 no additional punctuation is needed as
those are cataloged with the information. Only spaces are added for MARC21,
while UNIMARC is kept they way it was before.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 12134: ensure that patrons are not restricted even when the last restriction...
Kyle M Hall [Thu, 24 Apr 2014 15:23:05 +0000 (11:23 -0400)]
Bug 12134: ensure that patrons are not restricted even when the last restriction has expired

Test Plan:
1) Add a manual restriction to a patron and wait until the
   expiration date of the restriction has passed.  This can be
   simulated by modifying borrowers.debarred for a borrower and
   setting the date in the past.
2) Try to check out an item to that patron
3) Note you cannot
4) Apply this patch
5) Repeat step 2
6) Note you can now check out items the patron

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 12134: (follow-up) fix one of the IsDebarred() tests
Galen Charlton [Mon, 28 Apr 2014 17:05:19 +0000 (17:05 +0000)]
Bug 12134: (follow-up) fix one of the IsDebarred() tests

- pass valid ISO date to the debar-date-in-future test
- correctly verify that patron is restricted

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 12134: (follow-up) add more unit tests to reflect the change in IsDebarred
Jonathan Druart [Fri, 25 Apr 2014 10:48:42 +0000 (12:48 +0200)]
Bug 12134: (follow-up) add more unit tests to reflect the change in IsDebarred

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 12134: Add unit tests to reflect the change in IsDebarred
Jonathan Druart [Thu, 24 Apr 2014 15:36:44 +0000 (17:36 +0200)]
Bug 12134: Add unit tests to reflect the change in IsDebarred

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 12115: follow-up fix for tools/inventory's output_pref issues
Mark Tompsett [Mon, 21 Apr 2014 01:13:26 +0000 (21:13 -0400)]
Bug 12115: follow-up fix for tools/inventory's output_pref issues

This should correct issues with the output_prefs in the
compareinv2bar logic section of tools/inventory.pl
It is a follow up to bug 11253.

TEST PLAN
---------
NOTE: There should be no distinguishable difference before and
      after the patch. This corrects a works by accident bug.

Back up DB.
Create a small barcode file from books in a given branch.

Set I18N/L10N system preference of dateformat to mm/dd/yyyy.
Go to inventory/stocktaking tool.
Browse for the barcode file.
Click submit just below the 'Use a barcode file' section.
All looks fine in mm/dd/yyyy format.

Set I18N/L10N system preference of dateformat to yyyy-mm-dd.
Go to inventory/stocktaking tool.
Browse for the barcode file.
Click submit just below the 'Use a barcode file' section.
All looks fine in yyyy-mm-dd format.

Set I18N/L10N system preference of dateformat to dd/mm/yyyy.
Go to inventory/stocktaking tool.
Browse for the barcode file.
Click submit just below the 'Use a barcode file' section.
All looks fine in dd/mm/yyyy format.

Apply patch
Restore DB (so results should be comparable to the first result)
Repeat the three testing blocks above.
There should be no visible difference.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11986: fix searching by tags in OPAC when DOM mode is in use
Jacek Ablewicz [Sun, 23 Mar 2014 20:24:48 +0000 (21:24 +0100)]
Bug 11986: fix searching by tags in OPAC when DOM mode is in use

This patch fixes the following issue: in installations that are using
zebra DOM indexing for bibliographic records, tag searching in OPAC
doesn't work properly (clicking on any tag in OPAC leads to "404 error").

To test: ensure that with patch applied:
1) problems with tag searching get resolved for [some] test
configuration with biblio DOM indexing enabled,
2) there are no apparent tag-searching-related regressions in OPAC,
in some yet another test installation configured with legacy
(grs1) indexing mode for biblios.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 12111: (follow-up) ensure that vendor note is not editable during order receiving
Galen Charlton [Mon, 28 Apr 2014 15:37:43 +0000 (15:37 +0000)]
Bug 12111: (follow-up) ensure that vendor note is not editable during order receiving

This patch removes the ability of finishreceive.pl to change the vendor
note of an order.  It also uses a normal span rather than a disabled
textarea to display the vendor note on the receiving page, to emphasize
that it cannot be changed.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 12111: (follow-up) fix breadcrumbs wording for vendor note
Mathieu Saby [Sat, 26 Apr 2014 12:37:42 +0000 (14:37 +0200)]
Bug 12111: (follow-up) fix breadcrumbs wording for vendor note

As asked by QAer,
this followup fixes wording in modordernotes.tt for vendor note
(Change order vendor note vendor note => Change order vendor note)
It also uses [%- and -%] to make code more readable

Test plan :
try to edit a vendor note, check the wording is correct in breadcrumbs

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Works as described, should be nicely translatable now.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 12111: Improving templates regarding order notes
Mathieu Saby [Sat, 19 Apr 2014 18:34:42 +0000 (20:34 +0200)]
Bug 12111: Improving templates regarding order notes

This bug changes some lines in modordernotes.tt to make them more easily
translatable, especially in german (remark by K. Fisher on bug 9416).
No change should be visible

It also suppresses the ability to edit order "vendor note" in reception,
as the note for vendor is not made to be changed after the document is
received.

Test plan :
- in a basket, try to edit the notes (internal and vendor) of order.
  Check the display is correct
- go in reception module (parcel.pl page) : in the list of all orders
  to receive, you should have a link to change "internal note", but no
  more link to change "vendor note"
- try to receive a specific order which have a "vendor note". On the
  right panel of the page, you must have an editable textarea for
  internal note, and a non-editable (colored in grey) textarea for
  vendor note

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11769: (follow-up) style required fields
Owen Leonard [Mon, 17 Mar 2014 17:13:00 +0000 (13:13 -0400)]
Bug 11769: (follow-up) style required fields

This follow up adds the correct "required" style to the required form
fields as well as the "required" text after each required field.

To test, apply all patches and go to Administration -> MARC
bibliographic framework -> New framework. The framework code and
description fields should show that they are required.

Signed-off-by: David Cook <dcook@prosentient.com.au>
Works as described and feels a million times better.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Works as described, template changes only.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11769 - Use validation plugin when creating new MARC framework
Owen Leonard [Fri, 14 Feb 2014 20:17:44 +0000 (15:17 -0500)]
Bug 11769 - Use validation plugin when creating new MARC framework

The page for adding a new MARC framework includes some custom form
validation JavaScript which can be removed in favor of HTML5 validation
attributes and Koha's built-in validation plugin. This patch does so.

To test, apply the patch and go to Administration -> MARC bibliographic
framework -> New framework. Try submitting the form without entering a
tag number. This should trigger a validation warning.

Submission of the form with valid data should work correctly. Editing an
existing framework should also work correctly.

Patch behaves as expected.
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11227: remove some JavaScript from staff PO files
Bernardo Gonzalez Kriegel [Thu, 3 Apr 2014 13:10:33 +0000 (10:10 -0300)]
Bug 11227: remove some JavaScript from staff PO files

This patch rewrites authorities_js.inc so translate
script will process it correctly. To do that I added
<script></script> at the file

To test:
1) Update po files for your preffered language

2) Check occurrence of mergeAuth on staff PO file
or try
egrep -n  "Merging with authority: |Cancel merge"
strings appear in a JS func

3) Apply the patch

4) Update translations again, check again, old
strings now begin with #~ (obsoleted) and there
are new entries for the messages

5) Check functionality provided by script

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Works as described and fixes a translation difficulty.

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