Commit graph

124 commits

Author SHA1 Message Date
74c5d1aed6 Bug 8606 - Talking Tech broken by user-configurable slips feature - QA Followup
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
(not tested it actually fixes talking tech, trusting signoff & sounds
logical)
2012-09-20 14:12:45 +02:00
Koha user
025528a157 Bug 8606 - Talking Tech broken by Bug 7001
The patches for bug 7001 removed the parseletter subroutine from
C4::Letters without updating the talking tech script to use the
new alternative. This patch rectifies that situation.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
2012-09-20 14:12:41 +02:00
wajasu
40f9914e60 Bug 8378 - <fine> syntax not working on overdues anymore
Bug 8378 - <fine> syntax broken NFC and charset utf8

NFC normalize enqueued letters and add content-type charset=utf-8

This prevents utf8 codes from causing mysql to truncate the 'content'
from the point of certain codes, when stored in the message_queue table.
This was happenning with the currency symbol generated by
Locale::Currency:Format currency_format routine. NFC normalization
was only done on the attachment content with its content-type
containing "text", as in text/plain.

For emails AND attachments, the charset="utf-8" was added to the
content-type so mail clients would correctly iterate the utf8 codes,
thus preventing mobijake.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Ran through test plan before and after applying patch. Verified
that fine syntax does not work pre-patch and does work post-patch
for both direct emails and emails to the KohaAdminEmailAddress.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-09-14 17:52:25 +02:00
9e948438ef Bug 8434 - Notice generation fails for Advanced Notices, Item Due, and Overdues when run in shell (due to error in Letters.pm)
Patch introduces a check for C4::Context->userenv in Letters.pm, so that script doesn't fail when it calls to C4::Context->userenv->{branch}, when run from shell.

Without the check, Advanced Notices, Item Due, and Overdues fail to generate.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-07-24 17:34:05 +02:00
0765d81640 Bug 8063 - Followup - Make C4/Letters.pm conform to PBP
Perlcritic reported the following errors:
Subroutine prototypes used at line 96, column 1.  See page 194 of PBP.  (Severity: 5)
Subroutine prototypes used at line 120, column 1.  See page 194 of PBP.  (Severity: 5)
Subroutine prototypes used at line 152, column 1.  See page 194 of PBP.  (Severity: 5)
Subroutine prototypes used at line 173, column 1.  See page 194 of PBP.  (Severity: 5)
Subroutine prototypes used at line 190, column 1.  See page 194 of PBP.  (Severity: 5)
Subroutine prototypes used at line 227, column 1.  See page 194 of PBP.  (Severity: 5)
"return" statement with explicit "undef" at line 228, column 31.  See page 199 of PBP.  (Severity: 5)
"return" statement with explicit "undef" at line 229, column 31.  See page 199 of PBP.  (Severity: 5)
"return" statement with explicit "undef" at line 236, column 9.  See page 199 of PBP.  (Severity: 5)
Subroutine prototypes used at line 668, column 1.  See page 194 of PBP.  (Severity: 5)
"return" statement with explicit "undef" at line 669, column 27.  See page 199 of PBP.  (Severity: 5)
Subroutine prototypes used at line 719, column 1.  See page 194 of PBP.  (Severity: 5)
Subroutine prototypes used at line 865, column 1.  See page 194 of PBP.  (Severity: 5)
Subroutine prototypes used at line 899, column 1.  See page 194 of PBP.  (Severity: 5)
Subroutine prototypes used at line 981, column 1.  See page 194 of PBP.  (Severity: 5)
"return" statement with explicit "undef" at line 982, column 28.  See page 199 of PBP.  (Severity: 5)
Subroutine prototypes used at line 1000, column 1.  See page 194 of PBP.  (Severity: 5)
"return" statement with explicit "undef" at line 1001, column 27.  See page 199 of PBP.  (Severity: 5)
"return" statement with explicit "undef" at line 1004, column 9.  See page 199 of PBP.  (Severity: 5)

Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
2012-07-16 14:35:07 +02:00
e1df3a573b Bug 8063 - Hold print notices do not sort by branch
Adds the option -s/--split to enable notices to be separated
into different files by borrower home library.

Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
2012-07-16 14:35:05 +02:00
f380a6c804 Bug 7848 - Issues data missing from circulation notices
For the CHECKIN and CHECKOUT notices, any data that is issue specific
does not show. For example, date due.

For CHECKOUT, this is caused not passing in the issues table as part
of the 'table' hash used by C4::Letters::GetPreparedLetter.

For CHECKIN notices, we need the old_issues table instead, as the item
has already been returned.

Signed-off-by: Liz Rea <wizzyrea@gmail.com>
passes tests, correct information shows in notices.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-07-10 13:50:10 +02:00
Julian Maurice
1e6644f597 Bug 6090: Do not enqueue empty messages
This patch avoid enqueuing messages that have an empty body. It can
happen when letter is empty or becomes empty after being processed by
parseletter

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-06-25 17:56:05 +02:00
Chris Cormack
509d673f10 Bug 7941 : Fix version numbers in modules
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-06-11 17:29:38 +02:00
Ian Walls
d29efac4f3 Talking Tech Support - Phase I
Implements support for Talking Tech I-tiva phone notification for OVERDUE, PREDUE and HOLD notifications.
Overdues respect triggers as configured for the patron's branch.
Predue and Holds notifications respect patron's messaging preference choices.
A new column for phone notification is added if the TalkingTechItivaPhoneNotification system preference is turned on

Record of phone messages being sent to patrons is added to the patron's Notices
tab; notice of success or failure can be retrieved from I-tiva.

See the TalkingTech.README for installation and set-up instructions.

Aside from the control system preference, and the necessary changes to Messaging Preferences
forms to make use of phone notifications, the bulk of the code resides in external
cronjobs.

TalkingTech_itiva_outbound.pl generates the Spec C file to send to I-tiva.  Actual transmission
of the file must be handled by the system administrator.

TalkingTech_itiva_inbound.pl processes the received Results file from I-tiva.  Getting the
file from I-tiva to Koha is the job of the system administrator, as well.

Both scripts have a --help option with full documentation.

The only necessary change to core Koha behavior is in C4::Letters::EnqueueLetter.  The return
value was changed from 0 or 1 (successful addition of letter to message_queue or not), to the actual
insert ID of the letter.  This was required by the outbound script to present a unique Transaction ID
for the notice added to the patron's record (so a 'sent' or 'failed' status could be updated).  Since
the dbh and sth are not shared, and the last_insert_id() command is table-specific, this should be thread-safe.
No changes are necessary to any parts of Koha, as all usage of EnqueueLetter currently ignores the return value.

To Test:

1. Turn on TalkingTechItivaPhoneNotification system preference
2. Verify that 'phone' is now a valid notification option for patrons on both staff and OPAC side
3. Attempt to set a 'phone' preference for PREDUE or HOLD messaging; attempt should succeed
4. Set up the patron for notices to triggers:
   a. include checked out items due in a range of days, including the value set up in their messaging preferences.
   b. place several holds, some in position, others waiting for pickup, others in transit.
   c. set the patron up to have overdues, overdue by a range of days that includes the delay values for
the patrons branch and categorycode
5. Run TalkingTech_itiva_outbound.pl --type=RESERVE --type=PREOVERDUE --type=OVERDUE --outfile=/tmp/talkingtechtest.csv

The resulting talkingtechtest.csv file should include all the items due on X days (where X is the patrons' preference),
and none of the ones due in other increments.  Similarly, overdues messages should be added for each item due by a delay
value as configured; overdues of other numbers of days should be ignore.  Holds that are waiting pick up or in transit should
have messages, those still pending should not.

Messages should be added to the patron's notices tab for each issue sent.  Verify these messages exist, and all Notices
tokens are replaced with appropriate information.

Repeat, this time with 4c making use of the default branch overdue triggers, instead of branch-specific triggers.

To test the inbound script, create a CSV with rows in the format "<<Message_id>>","<<SUCCESS or FAIL>>"
Message ID should correspond to the final column of the talkingtechtest.csv file (the transaction id) for the message.

Primary Authorship: Ian Walls
Additional modifications: Kyle M Hall

http://bugs.koha-community.org/show_bug.cgi?id=4246
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>

Tested and in use in production by two public libraries : Middletown
and Washoe. Both have given their sign off, but don't have git to
actually sign off.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-06-10 17:46:52 +02:00
Jonathan Druart
763d69732e Bug 7756: FIX send email for late orders
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
- sending claim mails works now
- claim counter is not increased when vendor has no email address

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-04-12 16:50:27 +02:00
Jonathan Druart
9a4873bc4c Bug 7167: Followup: FIX conflicts with Bug 5347
- Fix sql syntax error
- Fix Encoding
- SendAlerts must return an error if no email is defined
- Get error if no email in memberentry

http://bugs.koha-community.org/show_bug.cgi?id=7001
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-03-13 12:27:13 +01:00
Srdjan Jankovic
38e5e15153 bug_7001: protected are only all libraries letters
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
solves my comment 89: when you have a "mandatory" notice defined for a given library, it's not possible to delete it (and switch back to the "default" notification). isn't this a (small) bug ? was it intended ?

thanks!
2012-03-13 12:07:58 +01:00
Srdjan Jankovic
a9ded4fa00 bug_7001: Issue and Reserve slips are notices.
Branches can have their own version of notices - added branchcode to
letter table.
Support html notices - added is_html to letter table.
Support for borrower attributes in templates.
GetPreparedletter() is the interface for compiling letters (notices).
Sysprefs for notice and slips stylesheets
Added TRANSFERSLIP to the letters

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-03-09 10:11:20 +01:00
Jonathan Druart
6c2984e78a Bug 5347: Set translatable the "no email" error
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
This bookseller has no email shows up correctly, when vendor has
no email address.

Small change made: Changed bookseller to vendor.
2012-01-20 14:12:28 +01:00
Katrin Fischer
3e282ff91b Bug 5347: Follow up - Fix warnings, check/uncheck all and makes error message translatable
This patch fixes some minor problems found in late order management:

 1) Silences 2 warns in Letters.p
After patch is applied no more warns should show up in the logs.

 2) Fixes check/uncheck al
When limiting on one vendor the checkbox in the last header column
was doing nothing. I changed the checkbox to 2 links 'check all' and
'uncheck all' as it's done in other templates.

 3) Email has been sent
The message was hardcoded into the lateorders.pl file and not
translatable.
I moved it to the template and changed the wording slightly.

Note: The error message 'The bookseller has no email' comes from
Letters.pm. I didn't change that, because I was not sure where it is
used. The error message as is can not be translated and should be
moved into the templates too.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-01-20 14:12:27 +01:00
Jonathan Druart
ec5d679468 Bug 5347: Followup Adds columns claims_count and claimed_date in aqorders
FIX encoding problem

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Umlauts and diacritics now show up correctly in generated claims notices.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-01-20 14:12:27 +01:00
Jonathan Druart
b8e9829be5 Bug 5347: Adds columns claims_count and claimed_date in aqorders
This patch adds 2 columns in the aqorders table :
- claims_count : number of claims for an orders
- claimed_date : date of the lastest claim

In the lateorders.pl table, you can not select orders from different
supplier because there is just one letter sent after clicking the "Claim
order" button. So, it's logic that you want to select only orders from
this supplier.

Modification in C4/Letters.pm:
refactoring code for claimacquisition and claimissues letter type.
Now, fields for theses letters check the table name. It's not possible
to chooce aqorders.title, this field doesn't exist !
Furthermore, you can add a <order> tag around your item fields, like
this :

-- Begin example
<<LibrarianFirstname>>
<<LibrarianSurname>>

<<aqbooksellers.contact>>
<<aqbooksellers.address1>>
<<aqbooksellers.phone>>
<<aqbasket.basketno>>
<<aqbooksellers.phone>>
<order>Library : <<items.homebranch>>
In your possesssion : <<biblio.author>>. <<biblio.title>>.
<<biblioitems.publishercode>>, <<biblioitems.publicationyear>>.
Callnumber : <<items.itemcallnumber>>. doc type : <<items.itype>>
Barcode : <<items.barcode>>
Date for the return : <<items.onloan>>.</order>

<<LibrarianSurname>>
-- End example

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
2012-01-20 14:12:27 +01:00
2ab11c4892 6302 follow up
Updates to_address in message queue when sending an email (when needed).

Signed-off-by: Koustubha Kale <kmkale@anantcorp.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2011-12-16 17:59:56 +01:00
Ian Walls
6e497471e3 Bug 7093: placeholds for suggestion table not working in notices
In parseletter_sth, the suggestions table was defined twice.  The first time (which
is the only definition to get called, as it matches first then exists), defined the
primary search keys as borrowernumber and biblionumber.  This is incorrect; the only
usage of the suggestions table tokens is with suggestionid as the key.  This is defined
further down the if/then chain.

This patch removes the erroneous sth query definition.

To test:

1.  Place a suggestion with a patron account with a configured email you can access
2.  Approve or reject it
3.  Verify the message you receive contains suggestion tokens (like title, author and reason)

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Suggestion mails for accepted, rejected and ordered look good now.
I couldn't test the suggestion mail AVAILABLE (bug 7096), but
assuming this would work too.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2011-12-13 16:49:54 +01:00
Chris Nighswonger
57155db213 Bug 5263 - Add support for including fields from the ISSUES table in advanced due notices
Adding support for including fields from the Issues table in advanced due notices.
This is primarily to allow the inclusion of the due date for each item in the
advanced due notice, but will allow the inclusion of any field from the ISSUES
table.

This also adds code to exclude timestamp fields as these are irrelevant to the
end user in this context.

Note: Documentation should be updated to reflect the availability of the additional
fields in all circulation notices.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-08-02 12:44:42 +12:00
Colin Campbell
306dc79217 Bug 5453 : Move declarations out of conditionals
Patched for C4 Modules

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-07-15 15:50:24 +12:00
Alex Arnaud
7c08d7c81e Bug #6130 - Letters: Fixing Subject encoding
Signed-off-by: Stéphane Delaune <stephane.delaune@biblibre.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-04-09 10:35:15 +12:00
Chris Nighswonger
d31c1603cc Bug 5251 : Enhancement: [3.2] (Resubmission) Adding code to support using gmail as an SMTP server
This patch adds support for using a gmail account as an SMTP server.
It includes a basic HOWTO.

Signed-off-by: Magnus Enger <magnus@enger.priv.no>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-04-08 14:01:15 +12:00
Ian Walls
1d6f791541 Bug 3203: ACCTDETAIL notices don't parse branches or borrowers tokens
This patch enables the ACCTDETAIL notices (and any branch-specific derivatives) to use
<<branches.*>> and <<borrowers.*>> tokens

This patch also attempts to send the email from the branch email first, falling back to
KohaAdminEmailAddress if no branch email exists.

To test:

1. Enable AutoEmailOpacUser system preference
2. Add <<branches.*>> tokens to the ACCTDETAIL notice
3. Create a new patron, including:
   a. test email address in the field matching your AutoEmailPrimaryAddress syspref value
   b. username and password (required to send a notice)
   c. any other required fields to save the record
4. Check you inbox.  Notice should send instantly (no need to run process_message_queue.pl)

Signed-off-by: Jared Camins-Esakov <jcamins@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-03-28 21:26:29 +13:00
Chris Cormack
b1c2d560b6 Bug 4211: This patch should provide a working way to send out mail from suggestions
Your suggestion notices template needs to contain things like
<<suggestions.title>>
<<suggestions.author>>
etc

Squashed commit of the following:

commit 3f4278bbe8d4c68be9f72d50e1eef6a411dc873d
Author: Chris Cormack <chrisc@catalyst.net.nz>
Date:   Fri Aug 13 09:41:34 2010 +1200

    bug 4211 parsing the letter before we enqueue it

commit ecdc0ff34c1aa9b96b68d541423ca693e2d63e67
Author: Chris Cormack <chrisc@catalyst.net.nz>
Date:   Fri Aug 13 09:32:09 2010 +1200

    Changing the query to fetch suggestions data, this is needed for suggestion mail to be sent

commit ece11d015b945ce119cf7cbc5e2563f4bc8aecf9
Author: Owen Leonard <oleonard@myacpl.org>
Date:   Thu Aug 12 12:36:26 2010 -0400

    Fix for Bug 4211, Acquisitions actions on suggestions don't generate email

    Assuming 1) The patch for Bug 5126 is approved and 2) Suggestions
    notices are added by hand (or from default sql--see Bug 5127) this
    correction should get suggestions notices properly enqueued.

    Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>

commit 5c3bbe7d557b1994be72518746217fc6fc4e5b83
Author: Owen Leonard <oleonard@myacpl.org>
Date:   Thu Aug 12 12:27:33 2010 -0400

    Fix for Bug 5126 - Suggestions module missing from "add notice" form

    - Adding "suggestions" entry
    - Re-ordering options in alphabetical order

    Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-11-30 06:47:52 +13:00
4a7bb77e4f Bug 5303 Overdue notices subject is improperly encoded
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-10-21 19:52:05 -04:00
08fb9eadc3 Bug 5194 - Patron notification on new issues not working
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-10-06 06:13:50 -04:00
573ac9488f remove a bunch of unconditional debug warns
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-07-02 10:57:08 -04:00
Ian Walls
6ba2b9c87c Fixes bug 3619: _send_message_by_email not respecting AutoEmailPrimaryAddress = 'OFF'
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-06-19 08:14:27 -04:00
Andrew Elwell
aa9b4d92cd POD Cleanups
Signed-off-by: Andrew Elwell <Andrew.Elwell@gmail.com>
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-06-09 08:38:59 -04:00
J. David Bavousett
e2da272840 Bug 3619 - C4::Letters::_send_message_by_email does not obey AutoEmailPrimaryAddress
This enhancement would cause C4::Letters::_send_message_by_email to obey the
syspref.

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-04-29 23:10:15 -04:00
Lars Wirzenius
7279f55b60 Fix FSF address in directory C4/
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-03-16 20:17:56 -04:00
Jesse Weaver
63e871dd40 Bug 3482 Allow hold notices to be sent in print form
This is done by saving the notices in the message_queue table with
type 'print'. The notices are generated from a notice named
HOLD_PRINT. At the end of the day, they are dumped to an HTML file and
marked as sent by a new cronjob.

This setup is intended to be temporary; modules/batch/ shouldn't be around
forever.

Mandatory SQL:
INSERT INTO message_transport_types (message_transport_type) values ('print');
2010-02-22 10:52:04 -05:00
Jesse Weaver
b7e35a3725 Add expiration date, today to hold notices
This adds the new, virtual placeholders <<today>> and
<<reserves.expirationdate> that can be used in letter templates.
2010-02-22 10:51:44 -05:00
Chris Nighswonger
599887a185 Bugfix: [1/3] overdue_notices.pl does not process all advertised fields
Note: overdue_notices.pl really needs to be completely re-written.

The script does not process all fields advertised in tools/letter.pl
This patch adds code to process all fields advertised as well as any
from the items table.

It also adds two additional tags for use in the letter templates:

<item></item> which should enclose all fields from the biblio, biblioitems,
and items tables.

<fine></fine> which should be enclosed by the item tag and should
enclose a currency identifier per ISO 4217. If this tag is present with
a proper identifier, the fine for that item will be displayed in the
proper currency format. Note: ISO 4217 changes from time to time therefore
all currencies may not be supported. If you find one that is not
supported, please file a bug with the Locale::Currency::Format author
Tan D Nguyen <tnguyen at cpan doe org>.

An example of the implimentation of these two tags in a notice template
might be like:

The following item(s) is/are currently overdue:

<item>"<<biblio.title>>" by <<biblio.author>>, <<items.itemcallnumber>>, Barcode: <<items.barcode>> Fine: <fine>GBP</fine></item>

Which, assuming two items were overdue, would result in a notice like:

The following item(s) is/are currently overdue:

"A Short History of Western Civilization" by Harrison, John B, 909.09821 H2451, Barcode: 08030003 Fine: £3.50
"History of Western Civilization" by Hayes, Carlton Joseph Huntley, 909.09821 H3261 v.1, Barcode: 08030004 Fine: £3.50

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-02-17 06:36:01 -05:00
Colin Campbell
d3e2de3625 Bug 3810 Mail::Sendmail should not fail silently
The return from Mail::Sendmail should always be checked
Output the error message if it fails so we have some
indication of where to start looking if it fails

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-02-08 11:39:22 -05:00
074efa8dce Overdue Notices: Add a Bcc to messages
If a global syspref OverdueNoticeBcc is present, send overdue notices to
this address. This allow a library to track and gather all outgoing
overdue notices.
2010-01-15 09:59:32 +01:00
Henri-Damien LAURENT
88bb1b635b Adding Letters management to Suggestions. 2009-09-30 11:30:28 +02:00
Henri-Damien LAURENT
8802bbf5fe Editing C4::Suggestions.pm
Enhancing C4::SearchSuggestion
And changing its API
Changing C4::Suggestions API taking a hashref for NewSuggestion and ModSuggestion

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2009-09-30 11:29:23 +02:00
Henri-Damien LAURENT
4271bbb738 Modifying Members : Add Mod and GetMember
This update the way Member is added and editing so that import and Edition
 could be best automatized
GetMember evolves and allow ppl to serach on a hash of data

Adding SQLHelper A new package to deal with INSERT UPDATE and SELECT

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2009-09-30 11:29:23 +02:00
Colin Campbell
77e4b2ce9d Stop generation of unnecessary warning messages to log over undef values
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2009-08-01 08:39:57 -04:00
Joe Atzberger
5961c08a9e Bug 3350 - fail on queued emails w/ no address
If a patron has no email address, we need to avoid stockpiling all
their messages indefinitely.  Otherwise they get mailbombed when
their email IS added.

Note that overdues should not be affected, since the overdues job
checks whether the patron email exists before sending the message
(falling back to the admin).  The other messaging features are the
targets affected by this patch.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2009-06-24 08:43:45 -05:00
Joe Atzberger
6ad369f80b Cleanup and tighten Letters module.
Subroutine arguments enforced w/ with more checks, explicit return undef where warranted.
Placeholders used in SQL where applicable.
One logical error corrected :
- next MESSAGE if ( lc( $message->{'message_transport_type'} eq 'rss' ) );
+ next MESSAGE if ( lc($message->{'message_transport_type'}) eq 'rss' );

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2009-04-24 11:16:50 -05:00
Joe Atzberger
35c8a5be58 Introduce sth caching to Letters.pm
The re-creation of statement handles for the same queries, repeatedly,
seriously degrades the performance of notices.  This introduces new
class-level caching to avoid that problem.

Note: initial provisions
to do the same with caching of COLUMNS information about tables is
also included, but this would probably be most usefully implemented
in C4::Context (or a separate more central module).  The benefits of
caching that info would probably be even greater.  Note that this
proposed implementation might be obsoleted by ORM integration, where
DB structure info would already be cached.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2009-04-08 13:01:23 -05:00
Nahuel ANGELINETTI
63d2fdd8c6 (bug #2995) Set a default encoding for e-mails
Just set a default encoding as utf8 if none is provided.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2009-03-04 08:02:03 -06:00
John Beppu
062bb9a804 bug 324: Setting to_address
- Enqueue the messages with a to_address.

Signed-off-by: Daniel Sweeney <daniel.sweeney@liblime.com>
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2009-02-04 14:00:18 -06:00
John Beppu
39d0ed3635 Perl Modules
- C4::Letters:EnqueueLetter() is aware of new fields in message_queue table
- C4::Circulation::SendCirculationAlert() actually works
- C4::Category cleanup
- C4::ItemType cleanup
- C4::Message is a new module.
  It presents yet another way to interact with the message_queue.
  You can now take messages that have already been queued and modify
  their contents before they're sent out.

Signed-off-by: Daniel Sweeney <daniel.sweeney@liblime.com>
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2009-02-04 13:58:03 -06:00
Joe Atzberger
54f5ee3332 Prevent multiple warnings per notice filling cron logs.
If a value being substituted in was NULL, then warnings like this
would be emailed to the crontab owner (or MAILTO):

Use of uninitialized value in substitution (s///) at /home/user/kohaclone/C4/Letters.pm line 508.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2009-01-09 12:22:30 -06:00
Jesse Weaver
c9a50403e5 bug 2848 [1/2]: Send notifications to patrons when hold is received
This adds notification code to Reserves.pm to send notifications through email
or SMS to patrons when their hold is filled. It does not send the letter
directly, but instead uses EnqueueLetter. Also, it relies on
EnhancedPatronMessaging being on and the hold notification being turned on for
the specific patron through the 'Messaging' tab.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2008-12-08 08:51:12 -06:00
Joshua Ferraro
aae52f6b70 Fix for 2492: Mail::Sendmail chokes on utf-8 [ process_message_queue.pl ] 2008-08-10 14:42:47 -05:00
Andrew Moore
8ae66932cd Bug 2274 [3/5]: consolidating overdue notice cronjobs into one
This patch adds the misc/cronjobs/overdue_notices.pl script that is intended to replace
overduenotices.pl, overduenotices-30.pl and overduenotices-csv.pl. It adds messages to
the message_queue to be sent later (by process_message_queue.pl). It also marks borrowers
as debarred if their issues become too overdue.

It is intended to be run from cron nightly with usage something like:
0 2 * * * misc/cronjobs/overdue_notices.pl

C4::Members:
 - improved documentation on ModMember
 - made ModMember return a useful value (the return value of the database call)
 - added a DebarMember method
 - adding t/lib/KohaTest/Members/DebarMember.pm to test ModMember

misc/cronjobs/overdue_notices.pl
 - designed to replace overduenotices.pl, overduenotices-30.pl, and overduenotice-csv

Changes to C4::Letters:
 - EnqueueLetter now lets you pass in to_address and from_address which can override defaults
 - _send_message_by_email pays attention to these defaults.
 - now handles attachments with MIME::Lite

C4::Overdues
 - added GetBranchcodesWithOverdueRules
   - added t/lib/KohaTest/Overdues/GerBranchcodesWithOverdueRules.pm to test that.

circ/overdue.pl
 - replaced call to obsolete overduenotices-csv.pl with call to overdue_notices.pl

KohaTest:
 - added three helper methods: random_phone, random_email, random_ip
   - these can be used to populate example records
 - you can now pass an optional lengh to random_string

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-07-10 09:10:46 -05:00
Andrew Moore
4d0e0fec72 Bug 2176 (4/5): adding RSS feed for patron overdue alerts
opac-mymessages.pl and opac-mymessages.tmpl generate an RSS feed of a patron's messages from the message_queue.

Some more methods in C4::Letters to let us pluck out the right entries in the queue.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-20 13:04:53 -05:00
Andrew Moore
2cae4efa0a Bug 2176 (3/5): adding methods to manage message_queue, new advance_notices.pl, new C4::SMS module
I've added methods to to C4::Letters to manage the database table
message_queue. This will let us keep track of messages sent
via email, sms, and rss to patrons. That way, we can show the history,
deal with failures, and reconstruct an RSS feed when needed.

misc/cronjobs/overduenotics.pl has been added. It prepares advance notices
and item due notices and stages messages to be sent in the message_queue
table.

C4::Overdues::Getoverdues now takes two optional arguments to tell it how
old of overdues to fetch.

Also, a C4::Circualtion::getUpcomingDueIssues method was added that
advance_notices.pl uses.

misc/cronjobs/process_message_queue.pl has been added. It sends the email
or SMS messages out of the message queue.

The C4::SMS module didn't work at all, and it has been rebuilt to use
an external perl module from CPAN, SMS::Send.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-20 13:04:52 -05:00
Mason James
90c25f0498 bug-2149, var fix - changing borr.cardnumber to borr.userid.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-30 11:13:02 -05:00
Mason James
b461a041d0 bug-2149, added new block to C4::Letters::SendAlerts() to email 'account creation' notice, and new block in memberentry.pl to call SendAlerts().
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-30 11:11:22 -05:00
Paul POULAIN
dfcdc73be6 bugfix : ship utf-8 encoding in mail header
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-12 10:07:55 -05:00
Galen Charlton
afb36c429e refactor C4::Log::logaction
This fix should resolve in whole or in part several bugs
characterized by the error message 'Can't use string ("0")
as a HASH ref while "strict refs" in use', including
bugs 1101, 1899, and 1910.

There are some possibilities for future work:

[1] Dealing with an operator override, e.g., where
    a circ operator needs to get a supervisor
    to enter a login and password and escalate
    the original operator's privileges for a
    transaction, e.g., to forgive a fine.  This
    is an enhancement, of course.
[2] Creating a dummy operator to represent
    batch job runs; or alternatively, give
    each batch job an option to log its work
    under a specified user ID.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-03-19 06:34:10 -05:00
Paul POULAIN
16c30c0d51 BUGFIXING mail alert on issue arrival
To make this feature work :
- create a "notice" (tools/letter.pl) of the category "serials"
- choose this notice in each subscription you want to enable this feature

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-02-29 09:05:33 -06:00
Galen Charlton
7f654fa140 getalert - do not generate bad SQL for borrowernumber=0
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-02-16 11:29:16 -06:00
Joe Atzberger
f59595d92f C4 - BEGIN blocks and 1; __END__ for modules
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-01-07 20:02:18 -06:00
Joe Atzberger
a428b49167 Letters.pm: Minor change. Unsure if this is "the right" move, but pretty sure the line does not make sense as is.
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-12-04 15:45:51 -06:00
Henri-Damien LAURENT
d2b15eeb9a Adding titles to claimissues letter.
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-10-31 19:40:16 -05:00
Paul POULAIN
1e3e69fe99 Overdues fixes (unfinished)
- reindenting
- upcasing SQL
- the script at least compiles...

... but it does seem not work yet

Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-10-22 07:15:41 -05:00
Chris Cormack
b9c20fa9cf Patch from Galen Charlton, removing $Id$ $Log$ and $Revision$ from files
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-10-18 20:22:01 -05:00
Joe Atzberger
7fecc7cd41 Unnecessary "use" statements commented out.
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-10-11 12:45:52 -05:00
toins
a3135df486 really minor change : POD fixing, indentation & some compilation warn removing. 2007-07-26 15:18:46 +00:00
hdl
097fef712a Removing $dbh from GetMarcFromKohaField (dbh is not used in this function.) 2007-04-27 14:00:48 +00:00
tipaul
2ffd5b7228 rel_3_0 moved to HEAD 2007-03-09 14:28:54 +00:00
tgarip1957
0451359813 New set of routines for HEAD.
Uses a complete new ZEBRA Indexing.
ZEBRA is now XML and comprises of a KOHA meta record. Explanatory notes will be on koha-devel
Fixes UTF8 problems
Fixes bug with authorities
SQL database major changes.
Separate biblioograaphic and holdings records. Biblioitems table depreceated
etc. etc.
Wait for explanatory document on koha-devel
2006-08-25 21:07:08 +00:00
tipaul
3897417124 adding some fields available for Letters 2005-08-05 15:50:46 +00:00
tipaul
735487d1e6 removing my own adress as "From" ;-) 2005-08-05 14:48:52 +00:00
tipaul
791e786944 2 new features :
- a mail is sent everytime an issue if recieved in serial module. The mail is sent to all borrowers that have put an alert on the subscription (remember that you can put an alert only if the librarian have defined a "letter" as mail to send)
- the librarian can see, for a given subscription, who has put an alert.
2005-08-05 14:47:23 +00:00
tipaul
df6c6bcada Letters / alert system, continuing...
* adding a package Letters.pm, that manages Letters & alerts.
* adding feature : it's now possible to define a "letter" for any subscription created. If a letter is defined, users in OPAC can put an alert on the subscription. When an issue is marked "arrived", all users in the alert will recieve a mail (as defined in the "letter"). This last part (= send the mail) is not yet developped. (Should be done this week)
* adding feature : it's now possible to "put to an alert" in OPAC, for any serial subscription. The alert is stored in a new table, called alert. An alert can be put only if the librarian has activated them in subscription (and they activate it just by choosing a "letter" to sent to borrowers on new issues)
* adding feature : librarian can see in borrower detail which alerts they have put, and a user can see in opac-detail which alert they have put too.
Note that the system should be generic enough to manage any type of alert.
I plan to extend it soon to virtual shelves : a borrower will be able to put an alert on a virtual shelf, to be warned when something is changed in the virtual shelf (mail being sent once a day by cron, or manually by the shelf owner. Anyway, a mail won't be sent on every change, users would be spammed by Koha ;-) )
2005-08-04 08:54:54 +00:00