Bug 18397: Add message delivery details to the notices tab
This patch adds further delivery details to the notices tab in patron details in the staff client. Once a message is sent, we display the 'from:', 'to:' and 'cc:' addresses in the 'Delivery note' column when they exist. Test plan 1. Enable KTD to send email [1] (without email configured the delivery note displayed "Unhandled email failure, check the logs for further details"). 2. Add email addresses to two patrons and to KohaAdminEmailAddress, and run misc/cronjobs/process_message_queue.pl after generating notices. 3. For the two patrons with email addresses, make one a guarantor. 4. Sent Welcome messages (Patron account > More > Send welcome email) - nothing in delivery note column. 5. Checkout out an item to the guarantee (item checkout email enabled) - nothing in delivery note column. 6. Send the notices by running misc/cronjobs/process_message_queue.pl again. 7. Now the 'Delivery note' columns should contain from:, to: and cc: address details. [1] Option 1 - smpt-sink (aka the sandboxes way) - Install the postfix package inside ktd (sudo apt install postfix) When asked in the wizard, I named mine 'local' - Start smpt-sink with `nohup smtp-sink -u root -D mail 127.0.0.1:25 100 </dev/null >/dev/null 2>&1 &` Option 2 - To test sending emails using a Google account: - Set up an App password for your Google Account - Edit /etc/koha/sites/kohadev/koha-conf.xml file and add this configuration near the end (where <user_name> = your Google email address; <password> = your APP password, not your Google account password): <smtp_server> <host>smtp.gmail.com</host> <port>587</port> <timeout>5</timeout> <ssl_mode>STARTTLS</ssl_mode> <user_name>GOOGLEACCOUNTUSER</user_name> <password>GOOGLEAPPPASSWORD</password> <debug>1</debug> </smtp_server> Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Aleisha Amohia <aleishaamohia@hotmail.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
This commit is contained in:
parent
d7a633048e
commit
137376ab4b
2 changed files with 21 additions and 13 deletions
|
@ -1116,7 +1116,7 @@ sub GetQueuedMessages {
|
|||
|
||||
my $dbh = C4::Context->dbh();
|
||||
my $statement = << 'ENDSQL';
|
||||
SELECT message_id, borrowernumber, subject, content, message_transport_type, status, time_queued, updated_on, failure_code
|
||||
SELECT message_id, borrowernumber, subject, content, message_transport_type, status, time_queued, updated_on, failure_code, from_address, to_address, cc_address
|
||||
FROM message_queue
|
||||
ENDSQL
|
||||
|
||||
|
|
|
@ -99,20 +99,28 @@
|
|||
<td data-order="[% QUEUED_MESSAGE.time_queued | html %]">[% QUEUED_MESSAGE.time_queued | $KohaDates with_hours => 1 %]</td>
|
||||
<td>
|
||||
[% IF ( QUEUED_MESSAGE.failure_code ) %]
|
||||
[% IF ( QUEUED_MESSAGE.failure_code == "INVALID_BORNUMBER" ) %]<span>Invalid borrowernumber [% borrowernumber | html %]</span>
|
||||
[% ELSIF ( QUEUED_MESSAGE.failure_code == 'NO_EMAIL' ) %]<span>Unable to find an email address for this borrower</span>
|
||||
[% ELSIF (matches = QUEUED_MESSAGE.failure_code.match('INVALID_EMAIL:(\w+)') ) %]<span>Invalid [% matches.0 | html %] email address found [% borrowernumber | html %]</span>
|
||||
[% ELSIF ( QUEUED_MESSAGE.failure_code == 'NO_FROM' ) %]<span>Missing from email address</span>
|
||||
[% ELSIF ( QUEUED_MESSAGE.failure_code == 'MISSING_SMS' ) %]<span>Missing SMS number</span>
|
||||
[% ELSIF ( QUEUED_MESSAGE.failure_code == 'DUPLICATE_MESSAGE' ) %]<span>Message is duplicate</span>
|
||||
[% ELSIF ( QUEUED_MESSAGE.failure_code == 'NO_NOTES' ) %]<span>No notes from SMS driver</span>
|
||||
[% ELSIF ( QUEUED_MESSAGE.failure_code == 'SENDMAIL' ) %]<span>Unhandled email failure, check the logs for further details</span>
|
||||
[% ELSIF ( QUEUED_MESSAGE.failure_code == "UNKNOWN_ERROR" ) %]<span>Unknown error</span>
|
||||
[% ELSE %]<span>Error occurred while sending email.</span>
|
||||
[% IF ( QUEUED_MESSAGE.failure_code == "INVALID_BORNUMBER" ) %]<span class="clearfix">Invalid borrowernumber [% borrowernumber | html %]</span>
|
||||
[% ELSIF ( QUEUED_MESSAGE.failure_code == 'NO_EMAIL' ) %]<span class="clearfix">Unable to find an email address for this borrower</span>
|
||||
[% ELSIF (matches = QUEUED_MESSAGE.failure_code.match('INVALID_EMAIL:(\w+)') ) %]<span class="clearfix">Invalid [% matches.0 | html %] email address found [% borrowernumber | html %]</span>
|
||||
[% ELSIF ( QUEUED_MESSAGE.failure_code == 'NO_FROM' ) %]<span class="clearfix">Missing from email address</span>
|
||||
[% ELSIF ( QUEUED_MESSAGE.failure_code == 'MISSING_SMS' ) %]<span class="clearfix">Missing SMS number</span>
|
||||
[% ELSIF ( QUEUED_MESSAGE.failure_code == 'DUPLICATE_MESSAGE' ) %]<span class="clearfix">Message is duplicate</span>
|
||||
[% ELSIF ( QUEUED_MESSAGE.failure_code == 'NO_NOTES' ) %]<span class="clearfix">No notes from SMS driver</span>
|
||||
[% ELSIF ( QUEUED_MESSAGE.failure_code == 'SENDMAIL' ) %]<span class="clearfix">Unhandled email failure, check the logs for further details</span>
|
||||
[% ELSIF ( QUEUED_MESSAGE.failure_code == "UNKNOWN_ERROR" ) %]<span class="clearfix">Unknown error</span>
|
||||
[% ELSE %]<span class="clearfix">Error occurred while sending email.</span>
|
||||
[% END %]
|
||||
[% END %]
|
||||
[% IF ( QUEUED_MESSAGE.cc_address ) %]
|
||||
<span>Notice copied to: [% QUEUED_MESSAGE.cc_address | html %]</span>
|
||||
[% IF ( QUEUED_MESSAGE.status == 'sent' ) %]
|
||||
[% IF ( QUEUED_MESSAGE.from_address ) %]
|
||||
<span class="clearfix"><span class="label">from:</span> [% QUEUED_MESSAGE.from_address | html %]</span>
|
||||
[% END %]
|
||||
[% IF ( QUEUED_MESSAGE.to_address ) %]
|
||||
<span class="clearfix"><span class="label">to:</span> [% QUEUED_MESSAGE.to_address | html %]</span>
|
||||
[% END %]
|
||||
[% IF ( QUEUED_MESSAGE.cc_address ) %]
|
||||
<span class="clearfix"><span class="label">cc:</span> [% QUEUED_MESSAGE.cc_address | html %]</span>
|
||||
[% END %]
|
||||
[% END %]
|
||||
</td>
|
||||
</tr>
|
||||
|
|
Loading…
Reference in a new issue