5ac7f3690d
This patch adds "Updated on" column to patron's notices tab. It also adds logic to C4::Letters to retrieve updated_on column. To test: 1. Apply patches. 2. Restart plack. 3. Choose a patron and add a purchase suggestion. 4. Change suggestion status. 5. Open patron's notifications. CHECK => Messages table has now "Updated on" and "Time created" columns, and "Time" column is gone. SUCCESS => There is a message with status pending, with a "time created" that equals "updated on" 6. Execute in the shell in Koha directory $ ./misc/cronjobs/process_message_queue.pl 7. Open patron's notifications one more time. SUCCESS => The message changed status. Time created remained the same, and now "updated on" has the current timestamp. 8. Resend the message and repeat sep 6. SUCCESS => Every time you change the status, time created remains the same and updated on updates. 9. Run `prove t/db_dependant/Letters.t` 10. Sign off Signed-off-by: Kelly McElligott <kelly@bywatersolutions.com> Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
127 lines
5.1 KiB
Text
127 lines
5.1 KiB
Text
[% USE raw %]
|
|
[% USE Asset %]
|
|
[% USE Koha %]
|
|
[% USE AuthorisedValues %]
|
|
[% USE Branches %]
|
|
[% USE KohaDates %]
|
|
[% SET footerjs = 1 %]
|
|
[% INCLUDE 'doc-head-open.inc' %]
|
|
<title>Sent notices for [% INCLUDE 'patron-title.inc' no_html = 1 %]</title>
|
|
[% INCLUDE 'doc-head-close.inc' %]
|
|
<style>
|
|
.notice { display: none; }
|
|
.notice-title { font-weight: bold; display: block; }
|
|
</style>
|
|
</head>
|
|
|
|
<body id="pat_notices" class="pat">
|
|
[% INCLUDE 'header.inc' %]
|
|
[% INCLUDE 'patron-search.inc' %]
|
|
|
|
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/members/members-home.pl">Patrons</a> › Sent notices for [% INCLUDE 'patron-title.inc' %]</div>
|
|
|
|
<div class="main container-fluid">
|
|
<div class="row">
|
|
<div class="col-sm-10 col-sm-push-2">
|
|
<main>
|
|
|
|
[% INCLUDE 'members-toolbar.inc' %]
|
|
<h1>Sent notices for [% INCLUDE 'patron-title.inc' %]</h1>
|
|
|
|
[% IF ( QUEUED_MESSAGES ) %]
|
|
<table id="noticestable">
|
|
<thead>
|
|
<tr>
|
|
<th>Notice</th>
|
|
<th>Type</th>
|
|
<th>Status</th>
|
|
<th>Updated on</th>
|
|
<th>Time created</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
[% FOREACH QUEUED_MESSAGE IN QUEUED_MESSAGES %]
|
|
<tr>
|
|
<td>
|
|
<a class="notice-title" data-noticeid="[% QUEUED_MESSAGE.message_id | html %]" href="#">[% QUEUED_MESSAGE.subject | html %]</a>
|
|
<div id="notice[% QUEUED_MESSAGE.message_id | html %]" class="notice">
|
|
<iframe srcdoc="[% QUEUED_MESSAGE.content | html | html_line_break %]"></iframe>
|
|
</div>
|
|
</td>
|
|
<td>
|
|
[% IF ( QUEUED_MESSAGE.message_transport_type == 'email' ) %]email
|
|
[% ELSIF ( QUEUED_MESSAGE.message_transport_type == 'print' ) %]print
|
|
[% ELSIF ( QUEUED_MESSAGE.message_transport_type == 'feed' ) %]feed
|
|
[% ELSIF ( QUEUED_MESSAGE.message_transport_type == 'sms' ) %]sms
|
|
[% ELSE %][% QUEUED_MESSAGE.message_transport_type | html %][% END %]
|
|
</td>
|
|
<td>
|
|
[% IF ( QUEUED_MESSAGE.status == 'sent' ) %]sent
|
|
[% ELSIF ( QUEUED_MESSAGE.status == 'pending' ) %]pending
|
|
[% ELSIF ( QUEUED_MESSAGE.status == 'failed' ) %]failed
|
|
[% ELSIF ( QUEUED_MESSAGE.status == 'deleted' ) %]deleted
|
|
[% ELSE %][% QUEUED_MESSAGE.status | html %][% END %]
|
|
[% IF ( QUEUED_MESSAGE.status != 'pending' ) %]
|
|
<div id="resend_notice[% QUEUED_MESSAGE.message_id | html %]" class="notice">
|
|
<form action="/cgi-bin/koha/members/notices.pl?borrowernumber=[% borrowernumber | html %]" method="POST">
|
|
<input type="hidden" name="op" value="resend_notice" />
|
|
<input type="hidden" name="borrowernumber" value="[% borrowernumber | html %]" />
|
|
<input type="hidden" name="message_id" value="[% QUEUED_MESSAGE.message_id | html %]" />
|
|
<fieldset class="action">
|
|
<button class="btn btn-default btn-xs" type="submit">Resend</button>
|
|
</fieldset>
|
|
</form>
|
|
</div>
|
|
[% END %]
|
|
</td>
|
|
<td><span title="[% QUEUED_MESSAGE.time_status_changed | html %]">[% QUEUED_MESSAGE.updated_on | $KohaDates with_hours => 1 %]</span></td>
|
|
<td><span title="[% QUEUED_MESSAGE.time_queued | html %]">[% QUEUED_MESSAGE.time_queued | $KohaDates with_hours => 1 %]</span></td>
|
|
</tr>
|
|
[% END %]
|
|
</tbody>
|
|
</table>
|
|
[% ELSE %]
|
|
<div class="dialog message">There is no record of any messages that have been sent to this patron.</div>
|
|
[% END %]
|
|
|
|
</main>
|
|
</div> <!-- /.col-sm-10.col-sm-push-2 -->
|
|
|
|
<div class="col-sm-2 col-sm-pull-10">
|
|
<aside>
|
|
[% INCLUDE 'circ-menu.inc' %]
|
|
</aside>
|
|
</div> <!-- /.col-sm-2.col-sm-pull-10 -->
|
|
</div> <!-- /.row -->
|
|
|
|
[% MACRO jsinclude BLOCK %]
|
|
[% INCLUDE 'datatables.inc' %]
|
|
<script>
|
|
$(document).ready(function() {
|
|
$("#noticestable").dataTable($.extend(true, {}, dataTablesDefaults, {
|
|
"aaSorting": [[ 3, "desc" ]],
|
|
"aoColumns": [ null,null,null, { "sType": "title-string" } ,{ "sType": "title-string" } ],
|
|
"sPaginationType": "full"
|
|
}));
|
|
|
|
$("#noticestable").on("click", ".notice-title", function(e){
|
|
e.preventDefault();
|
|
var rowid = $(this).data("noticeid");
|
|
$("#notice"+rowid).toggle();
|
|
$("#resend_notice"+rowid).toggle();
|
|
var iframe = $("#notice"+rowid).children('iframe');
|
|
// Adding some padding to the height and width to remove scrollbars
|
|
var height = iframe.get(0).contentWindow.document.body.scrollHeight + 25;
|
|
var width = iframe.get(0).contentWindow.document.body.scrollWidth + 25;
|
|
iframe.css({
|
|
'width': width + 'px',
|
|
'height': height + 'px'
|
|
});
|
|
});
|
|
});
|
|
</script>
|
|
[% INCLUDE 'str/members-menu.inc' %]
|
|
[% Asset.js("js/members-menu.js") | $raw %]
|
|
[% END %]
|
|
|
|
[% INCLUDE 'intranet-bottom.inc' %]
|