Koha/misc/cronjobs
Magnus Enger 6d1890fc8e
Bug 29354: Make overdue_notices.pl send .html
If you have EmailOverduesNoEmail = Send and specify "--html somedir",
overdue_notices.pl will send a file by email that contains partial
HTML, as a file called attachment.txt. This patch fixes that.

To reproduce in koha-testing-docker:
- EmailOverduesNoEmail = Send
- Make sure you have a loan that was due yesterday, by backdating the
  due date
- Set up an overdue action to send "Overdue Notice" (ODUE) to the
  category you made the loan to above, when a loan is one day overdue
- Run this command:
  $ sudo koha-shell -c "perl misc/cronjobs/overdue_notices.pl -v -t -html /tmp/" kohadev
- Look at the file /tmp/notices-<DATE>.html and make sure it is a full
  HTML document, with <html>, <head>, <body> etc.
- Create a report like this:
  SELECT message_id, letter_id, borrowernumber, subject, CONCAT( '<pre>', content, '</pre>' ) AS content,
    metadata, letter_code, message_transport_type, time_queued, updated_on, to_address, content_type, failure_code
  FROM message_queue
  WHERE subject = 'Overdue Notices'
  ORDER BY message_id DESC
- Run the report and verify there is a line like this in the "content"
  of the newest message:
  Content-Type: text/plain; name=attachment.txt
- A part of the "content" will be a block of several lines of gibberish
  (base64) that look something like "RGVhciAga29oYSwNCg0KQWN...". Copy
  this block of text to somewhere like base64decode.org and decode the
  text. You should see a fragment of HTML, without <html>, <head>,
  <body> etc.

To test:
- Apply the patch
- Run overdue_notices.pl again, with the same arguments as above
- Make sure /tmp/notices-<DATE>.html is still a full HTML document
- Re-run the report, and make sure you now have this in the "content":
  Content-Type: text/html; name=attachment.html
- Decode the base64 and make sure it is now a full HTML document, with
  <html>, <head>, <body> etc.
- Re-run overdue_notices.pl as above, but replace "-html /tmp/" with
  "-csv /tmp/test.csv"
- Make sure /tmp/test.csv and the decoded base64 from the report
  contains CSV data
- Re-run overdue_notices.pl as above, but replace "-html /tmp/" with
  "-text /tmp/"
- Make sure /tmp/notices-<DATE>.txt and the decoded base64 from the
  report contains no HTML

Note:
- The actual text from the different messages will be enclosed in
  <pre>-tags
- If you have HTML in your ODUE message template and run with -v, you
  will have warnings saying "The following terms were not matched and
  replaced"
These are due to Bug 14347, and are not adressed by the current patch.

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-03-14 08:49:31 -03:00
..
holds Bug 32518: (QA follow-up) Fix alignment 2023-03-02 14:46:17 -03:00
recalls
rss
social_data
thirdparty
advance_notices.pl Bug 29100: (QA follow-up) Rename issue(s) keys to checkout(s) 2023-02-07 15:36:21 -03:00
archive_purchase_suggestions.pl
automatic_checkin.pl
automatic_item_modification_by_age.pl
automatic_renewals.pl Bug 30642: (QA follow-up) Do not rely on script names in modules, add unit test 2023-02-10 11:07:59 -03:00
backup.sh
batch_anonymise.pl
build_browser_and_cloud.pl
cart_to_shelf.pl
check-url-quick.pl
cleanup_database.pl Bug 30069: (QA follow-up) Use pure DBIC for select and delete with single query 2023-03-02 12:00:22 -03:00
cloud-kw.pl
cloud-sample.conf
CONFIGURE.gmail
create_koc_db.pl
crontab.example
delete_items.pl Bug 32922: Remove space in shebang 2023-02-20 09:44:06 -03:00
delete_patrons.pl
delete_records_via_leader.pl
edi_cron.pl
fines.pl
gather_print_notices.pl
import_webservice_batch.pl
longoverdue.pl
membership_expiry.pl
merge_authorities.pl
notice_unprocessed_suggestions.pl
overdue_notices.pl Bug 29354: Make overdue_notices.pl send .html 2023-03-14 08:49:31 -03:00
patron_emailer.pl
plugins_nightly.pl
printoverdues.sh
process_message_queue.pl Bug 31453: Add ability to filter messages to process using process_message_queue.pl via a command line parameter 2023-03-02 09:37:44 -03:00
purge_suggestions.pl
reconcile_balances.pl
remove_temporary_edifiles.pl
runreport.pl
serialsUpdate.pl
share_usage_with_koha_community.pl
sitemap.pl
staticfines.pl
stockrotation.pl
update_patrons_category.pl
update_totalissues.pl
writeoff_debts.pl