Koha/koha-tmpl/intranet-tmpl/prog/en/modules/members/notices.tt
Owen Leonard 9c3137bbf4 Bug 9463 [Revised] Use DataTables on patron sent notices page
Replace the tablesorter plugin with the DataTables plugin on the
patron sent notices page.

This patch adds default sorting by time (descending).

This patch depends on the one for Bug 9887, which introduces a new
DataTables plugin to allow sorting on data embedded in a <span>'s
"title" attribute. This allows sorting to be done on an unformatted
datetime.

To test, open the sent notices page for a patron who has multiple sent
notices. Confirm that table sorting works correctly with various date
format settings.

Revision corrects an error which occurs when there are no notices:
Instead of displaying an empty table with a message the table is not
displayed and a standard dialog message is displayed. In order to
prevent page-specific CSS and JS from conflicting with the standard
"message" class the page-specific classes have been changed from
"message*" to "notice*" Test this change by viewing a page with existing
notices and clicking the titles to show/hide the notice contents.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-04-15 09:16:02 -04:00

96 lines
3.2 KiB
Text

[% USE KohaDates %]
[% INCLUDE 'doc-head-open.inc' %]
<title>Sent notices for [% INCLUDE 'patron-title.inc' %]</title>
[% INCLUDE 'doc-head-close.inc' %]
<link rel="stylesheet" type="text/css" href="[% themelang %]/css/datatables.css" />
<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.dataTables.min.js"></script>
[% INCLUDE 'datatables-strings.inc' %]
<script type="text/javascript" src="[% themelang %]/js/datatables.js"></script>
<script type="text/javascript">
//<![CDATA[
$(document).ready(function() {
$("#noticestable").dataTable($.extend(true, {}, dataTablesDefaults, {
"aaSorting": [[ 3, "desc" ]],
"aoColumns": [ null,null,null,{ "sType": "title-string" } ],
"aLengthMenu": [[10, 20, 50, 100, -1], [10, 20, 50, 100, "All"]],
"iDisplayLength": 20,
"sPaginationType": "four_button"
}));
$(".notice").hide();
$(".notice-title").click(function(e){
$(this).next(".notice").toggle();
e.preventDefault();
});
});
//]]>
</script>
<style type="text/css">
p.notice { display: none; }
a.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> &rsaquo; <a href="/cgi-bin/koha/members/members-home.pl">Patrons</a> &rsaquo; Sent notices for [% INCLUDE 'patron-title.inc' %]</div>
<div id="doc3" class="yui-t2">
<div id="bd">
<div id="yui-main">
<div class="yui-b">
[% 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>Time</th>
</tr>
</thead>
<tbody>
[% FOREACH QUEUED_MESSAGE IN QUEUED_MESSAGES %]
<tr>
<td>
<a class="notice-title" href="#">[% QUEUED_MESSAGE.subject %]</a>
<p class="notice">
[% QUEUED_MESSAGE.content FILTER html_line_break %]
</p>
</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 %][% 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 %][% END %]
</td>
<td><span title="[% QUEUED_MESSAGE.time_queued %]">[% 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 %]
</div>
</div>
<div class="yui-b">
[% INCLUDE 'circ-menu.inc' %]
</div>
</div>
[% INCLUDE 'intranet-bottom.inc' %]