notices: add resend button to all pending notices (changes type to email if needed)
[koha_ffzg] / koha-tmpl / intranet-tmpl / prog / en / modules / members / notices.tt
index f3727f7..33dd6e4 100644 (file)
@@ -1,46 +1,30 @@
+[% 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' %]</title>
+<title>Sent notices for [% INCLUDE 'patron-title.inc' no_html = 1 %]</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>
+    .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> &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">
+<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>
 
            [% 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>
+            <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 %][% END %]
+            [% 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 %][% END %]
+            [% ELSE %][% QUEUED_MESSAGE.status | html %][% END %]
+            [% IF ( QUEUED_MESSAGE.status != 'pending' || QUEUED_MESSAGE.message_transport_type == 'print' ) %]
+            <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_queued %]">[% QUEUED_MESSAGE.time_queued | $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>
     <div class="dialog message">There is no record of any messages that have been sent to this patron.</div>
 [% END %]
 
-</div>
-</div>
+            </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" } ],
+                "sPaginationType": "four_button"
+            }));
+
+            $("#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 %]
 
-<div class="yui-b">
-[% INCLUDE 'circ-menu.inc' %]
-</div>
-</div>
 [% INCLUDE 'intranet-bottom.inc' %]