1 <div id="myopac_messages_div">
2 <h3>[% l("Messages") %]</h3>
7 <ul class='start_end_links_span pagination d-inline-flex'>
10 <li class="page-item"> <a class='np_nav_link classic_link btn btn-action' title='[% l("Previous Page") %]'
11 href='[% mkurl('messages', { limit => limit, offset => (offset - limit)} ) %]'><span class="nav_arrow_fix">◄</span> <span class="d-none d-md-inline-block">[% l('Previous') %]</span></a></li>
13 [% IF offset > 0 || count > limit;
15 WHILE curpage * limit < count;
16 IF curpage * limit == offset;
18 <li class="page-item active"><a href="[% mkurl('hold_history', {limit => limit, offset => (curpage * limit)}) %]" class="results-paginator-selected btn page-link disabled">[% curpage + 1%]</a></li>
22 <li class="page-item"><a href="[% mkurl('messages', {limit => limit, offset => (curpage * limit)}) %]" class="btn page-link">[% curpage + 1%]</a></li>
25 curpage = curpage + 1;
28 [% IF count >= limit + offset %]
29 <li class="page-item"><a class='np_nav_link classic_link btn btn-action' title='[% l("Next Page") %]'
30 href='[% mkurl('messages', {limit => limit, offset => (offset + limit)}) %]'><span class="d-none d-md-inline-block">[% l('Next') %]</span> <span class="nav_arrow_fix">►</span></a></li>
37 [% IF ctx.message_update_action.defined %]
38 [% IF ctx.message_update_changed > 0 %]
39 <div class="message-update-summary">
40 [% IF ctx.message_update_action == 'mark_read';
41 l('Marked [_1] message(s) as read.', ctx.message_update_changed);
42 ELSIF ctx.message_update_action == 'mark_unread';
43 l('Marked [_1] message(s) as unread.', ctx.message_update_changed);
44 ELSIF ctx.message_update_action == 'mark_deleted';
45 l('Deleted [_1] message(s).', ctx.message_update_changed);
50 [% IF ctx.message_update_failed > 0 %]
51 <div class="message-update-summary alert">
52 [% IF ctx.message_update_action == 'mark_read';
53 l('Failed to mark [_1] message(s) as read.', ctx.message_update_failed);
54 ELSIF ctx.message_update_action == 'mark_unread';
55 l('Failed to mark [_1] message(s) as unread.', ctx.message_update_failed);
56 ELSIF ctx.message_update_action == 'mark_unread';
57 l('Failed to delete [_1] message(s).', ctx.message_update_failed);
63 <div id="messages_main">
64 <form method="post" id="messages-form"
65 onsubmit="if (document.getElementById('acct_messages_actions').value == 'mark_deleted') { return confirm('[% l("Are you sure you wish to permanently delete the selected message(s)?") %]') } else { return true; }">
67 <button name="action" class="btn btn-action" value="mark_read" id="mark_read" type="submit"><i class="fas fa-glasses"></i> Mark Read</button>
68 <button name="action" class="btn btn-opac" value="mark_unread" id="mark_unread" type="submit"><i class="fas fa-eye-slash"></i> Mark Unread</button>
69 <button name="action" class="btn btn-danger" value="mark_deleted" id="mark_deleted" type="submit" onclick="return confirm('[% l("Are you sure you wish to permanently delete the selected message(s)?") %]')"><i class="fas fa-trash-alt"></i> Delete</button>
72 <div class="warning_box">[% l('No messages found.') %]</div>
74 <div class="d-block d-md-none">
75 <input id="all_message_check" checked="checked"
76 type="checkbox" onclick="var inputs=document.getElementsByTagName('input'); for (i = 0; i < inputs.length; i++) { if (inputs[i].name == 'message_id' && !inputs[i].disabled) inputs[i].checked = this.checked;}"
77 aria-label="[% l('Check/Uncheck All') %]" />
78 <label for="all_message_check">[% l('Check/Uncheck All') %]</label>
80 <table id="acct_messages_main_header" title="[% l('Messages') %]"
81 class="table table-hover table-bordered miniTable messagesTable">
85 <input type="checkbox" aria-label="[% l('Select All Messages') %]"
86 onclick="var inputs=document.getElementsByTagName('input'); for (i = 0; i < inputs.length; i++) { if (inputs[i].name == 'message_id' && !inputs[i].disabled) inputs[i].checked = this.checked;}"/>
88 <th>[% l('Date') %]</th>
89 <th>[% l('Library') %]</th>
90 <th>[% l('Subject') %]</th>
95 [% FOR message IN ctx.patron_messages; %]
96 <tr [% IF !message.is_read %]class="unread-patron-message"[% END %]>
97 <td class="checkCell">
98 <span class="sr-only">Message Number [% count; %]</span>
99 <input type="checkbox" name="message_id" value="[% message.id %]"
100 [% html_text_attr('aria-label', l('Select message [_1]', message.title)) %]/>
103 <span class="sr-only">Date of Message</span>
104 [% date.format(ctx.parse_datetime(message.create_date), DATE_FORMAT); %]
107 <span class="sr-only">Library</span>
108 [% message.library | html %]
111 <span class="sr-only">Title of Message</span>
112 <a href="[% mkurl('messages', { single => 1, message_id => message.id } ) %]">[% message.title | html %]</a>
115 <span class="sr-only">Message Options</span>
116 <a class="btn btn-sm btn-action" href="[% mkurl('messages', { single => 1, message_id => message.id } ) %]" title="Read [% message.title | html %]"><i class="fas fa-glasses"></i> Read</a>