Lines 1-337
Link Here
|
1 |
[% INCLUDE 'doc-head-open.inc' %] |
1 |
[% INCLUDE 'doc-head-open.inc' %] |
2 |
<title>Koha › Serials › Claims</title> |
2 |
<title>Koha › Serials › Claims</title> |
3 |
[% INCLUDE 'doc-head-close.inc' %] |
3 |
<link rel="stylesheet" type="text/css" href="[% themelang %]/css/datatables.css" /> |
4 |
<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.tablesorter.min.js"></script> |
4 |
[% INCLUDE 'doc-head-close.inc' %] |
5 |
<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.uitablefilter.js"></script> |
5 |
[% INCLUDE 'calendar.inc' %] |
6 |
<script type="text/JavaScript" language="JavaScript"> |
6 |
<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.dataTables.min.js"></script> |
7 |
//<![CDATA[ |
7 |
<script type="text/javascript" src="[% themelang %]/js/datatables.js"></script> |
8 |
$(document).ready(function() { |
|
|
9 |
$("#claimst").tablesorter({[% IF ( dateformat == 'metric' ) %] |
10 |
dateFormat: 'uk',[% END %] |
11 |
headers: { 0: { sorter: false },1:{sorter:false}} |
12 |
}); |
13 |
$('#supplierid').change(function() { |
14 |
$('#claims').submit(); |
15 |
}); |
16 |
|
17 |
// Case-insensitive version of jquery's contains function |
18 |
jQuery.extend( |
19 |
jQuery.expr[':'], { |
20 |
icontains : "jQuery(a).text().toUpperCase().indexOf(m[3].toUpperCase())>=0" |
21 |
} |
22 |
); |
23 |
|
24 |
|
8 |
|
25 |
// Checkboxes : Select All / None |
9 |
<script type="text/JavaScript" language="javascript"> |
26 |
$("span.checkall").html("<input type=\"checkbox\" name=\"CheckAll\"> "+_("Check All")+"</input>"); |
10 |
//<![CDATA[ |
27 |
$("span.exportSelected").html("<a id=\"ExportSelected\" href=\"/cgi-bin/koha/serials/claims.pl\"> "+_("Export selected items data") +"<\/a>"); |
11 |
$(document).ready(function() { |
|
|
12 |
// Case-insensitive version of jquery's contains function |
13 |
jQuery.extend( |
14 |
jQuery.expr[':'], { |
15 |
icontains : "jQuery(a).text().toUpperCase().indexOf(m[3].toUpperCase())>=0" |
16 |
} |
17 |
); |
18 |
|
19 |
// Checkboxes : Select All / None |
20 |
$("span.checkall").html("<input type=\"checkbox\" name=\"CheckAll\"> "+_("Check All")+"</input>"); |
21 |
$("span.exportSelected").html("<a id=\"ExportSelected\" href=\"/cgi-bin/koha/serials/claims.pl\"> "+_("Export selected items data") +"<\/a>"); |
28 |
|
22 |
|
29 |
$("#CheckAll").click(function() { |
23 |
$("#CheckAll").click(function() { |
30 |
$("#claimst tr:visible :checkbox").attr('checked', $("#CheckAll").is(':checked')); |
24 |
$("#claimst tr:visible :checkbox").attr('checked', $("#CheckAll").is(':checked')); |
31 |
}); |
25 |
}); |
32 |
|
26 |
|
33 |
// Generates a dynamic link for exporting the selection's data as CSV |
27 |
// Generates a dynamic link for exporting the selection's data as CSV |
34 |
$("#ExportSelected").click(function() { |
28 |
$("#ExportSelected").click(function() { |
35 |
// We use input:checked because it's faster, but if there must new checkboxes |
29 |
// We use input:checked because it's faster, but if there must new checkboxes |
36 |
// used for other purpose on this page, please use [name=serialid]:checked instead |
30 |
// used for other purpose on this page, please use [name=serialid]:checked instead |
37 |
var selected = $("input:checked"); |
31 |
var selected = $("input:checked"); |
38 |
|
32 |
|
39 |
if (selected.length == 0) { |
33 |
if (selected.length == 0) { |
40 |
alert(_('Please select at least one item to export.')); |
34 |
alert(_('Please select at least one item to export.')); |
41 |
return false; |
35 |
return false; |
42 |
} |
36 |
} |
43 |
|
37 |
|
44 |
// Building the url from currently checked boxes |
38 |
// Building the url from currently checked boxes |
45 |
var url = '/cgi-bin/koha/serials/lateissues-excel.pl?supplierid=&op=claims'; |
39 |
var url = '/cgi-bin/koha/serials/lateissues-excel.pl?supplierid=&op=claims'; |
46 |
for (var i = 0; i < selected.length; i++) { |
40 |
for (var i = 0; i < selected.length; i++) { |
47 |
url += '&serialid=' + selected[i].value; |
41 |
url += '&serialid=' + selected[i].value; |
48 |
} |
42 |
} |
49 |
// And redirecting to the CSV page |
43 |
// And redirecting to the CSV page |
50 |
location.href = url; |
44 |
location.href = url; |
51 |
return false; |
45 |
return false; |
52 |
}); |
46 |
}); |
53 |
|
|
|
54 |
$("#titlefilter").keyup(function() { |
55 |
$.uiTableFilter($("#claimst"), $("#titlefilter").val()) |
56 |
}); |
57 |
|
58 |
$("#branchfilter").keyup(function() { |
59 |
$.uiTableFilter($("#claimst"), $("#branchfilter").val()) |
60 |
}); |
61 |
}); |
62 |
|
63 |
// Checks if the form can be sent (at least one checkbox must be checked) |
64 |
function checkForm() { |
65 |
if ($("input:checked").length == 0) { |
66 |
alert(_('Please select at least one item.')); |
67 |
return false; |
68 |
} |
69 |
} |
70 |
|
71 |
// Filter by status |
72 |
function filterByStatus() { |
73 |
selectedStatus = $("#statusfilter").val(); |
74 |
if (selectedStatus == "all") { |
75 |
clearFilters(); |
76 |
} else { |
77 |
$("table#claimst tbody tr").hide(); |
78 |
$("table#claimst tbody tr:contains(" + selectedStatus + ")").show(); |
79 |
} |
80 |
} |
81 |
|
82 |
// Filter by branch |
83 |
function filterByBranch() { |
84 |
selectedBranch = $("#branchfilter").val(); |
85 |
if (selectedBranch == "all") { |
86 |
clearFilters(); |
87 |
} else { |
88 |
$("table#claimst tbody tr").hide(); |
89 |
$("table#claimst tbody tr:contains(" + selectedBranch + ")").show(); |
90 |
} |
91 |
} |
92 |
// Filter by date |
93 |
function filterByDate() { |
94 |
var beginDate = Date_from_syspref($("#begindate").val()).getTime(); |
95 |
var endDate = Date_from_syspref($("#enddate").val()).getTime(); |
96 |
|
97 |
// Checks if the beginning date is valid |
98 |
if (!parseInt(beginDate)) { |
99 |
alert(_('The beginning date is missing or invalid.')); |
100 |
return false; |
101 |
} |
102 |
|
47 |
|
103 |
// Checks if the ending date is valid |
48 |
$("span.replace_me").each(function(){ |
104 |
if (!parseInt(endDate)) { |
49 |
replace_html(this); |
105 |
alert(_('The ending date is missing or invalid.')); |
50 |
}); |
106 |
return false; |
|
|
107 |
} |
108 |
|
51 |
|
109 |
// Checks if beginning date is before ending date |
52 |
var claimst = $("#claimst").dataTable($.extend(true, {}, dataTablesDefaults, { |
110 |
if (beginDate > endDate) { |
53 |
"bAutoWidth": false, |
111 |
// If not, we swap them |
54 |
"bProcessing": true, |
112 |
var tmpDate = endDate; |
55 |
"bServerSide": true, |
113 |
endDate = beginDate; |
56 |
"sAjaxSource": "/cgi-bin/koha/serials/tables/claims.pl", |
114 |
beginDate = tmpDate; |
57 |
'fnServerData': function(sSource, aoData, fnCallback) { |
115 |
} |
58 |
aoData.push( |
116 |
|
59 |
{ |
117 |
// We hide everything |
60 |
'name': 'planneddate_from', |
118 |
$("table#claimst tbody tr").hide(); |
61 |
'value': $("#planneddatefrom").val() |
|
|
62 |
}, |
63 |
{ |
64 |
'name': 'planneddate_to', |
65 |
'value': $("#planneddateto").val() |
66 |
}, |
67 |
{ |
68 |
'name': 'claimdatefrom', |
69 |
'value': $("#claimdatefrom").val() |
70 |
}, |
71 |
{ |
72 |
'name': 'claimdateto', |
73 |
'value': $("#claimdateto").val() |
74 |
} |
75 |
); |
76 |
$.ajax({ |
77 |
'dataType': 'json', |
78 |
'type': 'POST', |
79 |
'url': sSource, |
80 |
'data': aoData, |
81 |
'success': fnCallback |
82 |
}); |
83 |
}, |
84 |
"oLanguage": { |
85 |
"sSearch": _("Search all columns:"), |
86 |
}, |
87 |
"aaSorting": [ [3, 'asc'] ], // sorting on title by default |
88 |
"aoColumnDefs": [ |
89 |
{ "aTargets": [ 0 ], "mDataProp": "dt_checkbox", "bSortable":false, "bSearchable":false }, // No sorting on first column |
90 |
{ "aTargets": [ 1 ], "mDataProp": "dt_suppliername" }, |
91 |
{ "aTargets": [ 2 ], "mDataProp": "dt_branchname" }, |
92 |
{ "aTargets": [ 3 ], "mDataProp": "dt_title" }, |
93 |
{ "aTargets": [ 4 ], "mDataProp": "dt_serialseq" }, |
94 |
{ "aTargets": [ 5 ], "mDataProp": "dt_status", "bSortable":false, "bSearchable":false }, |
95 |
{ "aTargets": [ 6 ], "mDataProp": "dt_planneddate" }, |
96 |
{ "aTargets": [ 7 ], "mDataProp": "dt_claims_count" }, |
97 |
{ "aTargets": [ 8 ], "mDataProp": "dt_claimdate" }, |
98 |
{ "aTargets": [ '_all' ], "bSortable": true } |
99 |
], |
100 |
"sPaginationType": "full_numbers", |
101 |
}) ); |
102 |
|
103 |
claimst.fnAddFilters("filter", 750); |
104 |
|
105 |
|
106 |
$("#status_filter").change(function() { |
107 |
claimst.fnFilter($(this).val(), 5); |
108 |
}); |
119 |
|
109 |
|
120 |
// For each date in the table |
|
|
121 |
$(".planneddate").each(function() { |
122 |
|
110 |
|
123 |
// We make a JS Date Object, according to the locale |
111 |
$('#planneddatefrom').change( function() {claimst.fnDraw(); } ); |
124 |
var pdate = Date_from_syspref($(this).text()).getTime(); |
112 |
$('#planneddateto').change( function() { claimst.fnDraw(); } ); |
|
|
113 |
$('#claimdatefrom').change( function() {claimst.fnDraw(); } ); |
114 |
$('#claimdateto').change( function() {claimst.fnDraw(); } ); |
125 |
|
115 |
|
126 |
// And checks if the date is between the beginning and ending dates |
116 |
}); |
127 |
if (pdate > beginDate && |
|
|
128 |
pdate < endDate) { |
129 |
// If so, we can show the row |
130 |
$(this).parent().show(); |
131 |
} |
132 |
|
117 |
|
133 |
}); |
118 |
function clearDate(nodeid) { |
134 |
} |
119 |
$("#"+nodeid).val(""); |
|
|
120 |
$("#"+nodeid).change(); |
121 |
} |
135 |
|
122 |
|
136 |
// Clears filters : shows everything |
123 |
// Checks if the form can be sent (at least one checkbox must be checked) |
137 |
function clearFilters() { |
124 |
function checkForm() { |
138 |
$("table#claimst tbody tr").show(); |
125 |
if ($("input:checked").length == 0) { |
139 |
} |
126 |
alert(_('Please select at least one item.')); |
|
|
127 |
return false; |
128 |
} |
129 |
} |
140 |
|
130 |
|
141 |
//]]> |
131 |
//]]> |
|
|
132 |
|
142 |
</script> |
133 |
</script> |
143 |
[% INCLUDE 'calendar.inc' %] |
|
|
144 |
</head> |
134 |
</head> |
145 |
<body id="ser_claims" class="ser"> |
135 |
<body> |
146 |
[% INCLUDE 'header.inc' %] |
136 |
[% INCLUDE 'header.inc' %] |
147 |
[% INCLUDE 'serials-search.inc' %] |
137 |
[% INCLUDE 'serials-search.inc' %] |
148 |
|
138 |
|
149 |
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/serials/serials-home.pl">Serials</a> › Claims</div> |
139 |
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/serials/serials-home.pl">Serials</a> › Claims</div> |
150 |
|
140 |
|
151 |
<div id="doc3" class="yui-t2"> |
141 |
<div id="doc3" class="yui-t2"> |
152 |
|
|
|
153 |
<div id="bd"> |
154 |
<div id="yui-main"> |
155 |
<div class="yui-b"> |
156 |
|
142 |
|
157 |
<h1>Claims</h1> |
143 |
<div id="bd"> |
|
|
144 |
<div id="yui-main"> |
145 |
<div class="yui-b"> |
158 |
|
146 |
|
159 |
[% IF error_claim %] |
147 |
<h1>Claims</h1> |
160 |
[% IF ( error_claim == "no_email" ) %] |
148 |
[% IF ( error_claim ) %] |
161 |
<div class="error">This vendor has no email</div> |
149 |
<div class='error'>[% error_claim %]</div> |
162 |
[% ELSE %] |
|
|
163 |
<div class="error">[% error_claim %]</div> |
164 |
[% END %] |
165 |
[% END %] |
150 |
[% END %] |
166 |
[% IF info_claim %] |
151 |
[% IF ( info_claim ) %] |
167 |
<div class="dialog message">Email has been sent.</div> |
152 |
<div class="dialog message">Email has been sent.</div> |
168 |
[% END %] |
153 |
[% END %] |
|
|
154 |
[% UNLESS ( letter ) %] |
155 |
<div class="dialog alert">No claims notice defined. <a href="/cgi-bin/koha/tools/letter.pl">Please define one</a></div> |
156 |
[% END %] |
169 |
|
157 |
|
170 |
[% IF ( letter ) %][% UNLESS ( missingissues ) %][% IF ( supplierid ) %] <div class="dialog alert">No missing issues found.</div>[% ELSE %]<div class="dialog message">Please choose a vendor.</div>[% END %][% END %][% END %] |
|
|
171 |
|
172 |
[% IF ( SHOWCONFIRMATION ) %] |
173 |
<div class="dialog alert">Your notification has been sent.</div> |
174 |
[% END %] |
175 |
[% UNLESS ( letter ) %]<div class="dialog alert">No claims notice defined. <a href="/cgi-bin/koha/tools/letter.pl">Please define one</a>.</div>[% END %] |
176 |
<form id="claims" name="claims" action="claims.pl" method="post"> |
177 |
<fieldset> |
178 |
<label for="supplierid">Vendor: </label> |
179 |
<select id="supplierid" name="supplierid"> |
180 |
[% FOREACH suploo IN suploop %] |
181 |
[% IF ( suploo.selected ) %] |
182 |
<option value="[% suploo.id %]" selected="selected" > |
183 |
[% ELSE %] |
184 |
<option value="[% suploo.id %]"> |
185 |
[% END %] |
186 |
[% suploo.name %] |
187 |
([% suploo.count %]) |
188 |
</option> |
189 |
[% END %] |
190 |
</select> |
191 |
<input type="submit" value="OK" /> |
192 |
[% IF ( phone ) %]Phone: [% phone %][% END %] |
193 |
[% IF ( booksellerfax ) %]Fax: [% booksellerfax %][% END %] |
194 |
[% IF ( bookselleremail ) %]</p><p><a href="mailto:[% bookselleremail %]">[% bookselleremail %]</a>[% END %] |
195 |
</fieldset> |
196 |
</form> |
197 |
|
198 |
[% IF ( missingissues ) %] |
199 |
<h3>Missing Issues</h3> |
158 |
<h3>Missing Issues</h3> |
200 |
<form action="claims.pl" onsubmit="return false;"> |
|
|
201 |
<fieldset class="rows"> |
202 |
<legend>Filters :</legend> |
203 |
|
204 |
<ol> |
205 |
<li> |
206 |
<label for="statusfilter">Status : </label> |
207 |
<select id="statusfilter" onchange="filterByStatus();"> |
208 |
<option value="all" selected="selected">(All)</option> |
209 |
<option>Expected</option> |
210 |
<option>Arrived</option> |
211 |
<option>Late</option> |
212 |
<option>Missing</option> |
213 |
<option>Claimed</option> |
214 |
</select> |
215 |
</li> |
216 |
|
217 |
<li> |
218 |
<label for="titlefilter">Title : </label> |
219 |
<input id="titlefilter" type="text" /> |
220 |
<label for="branchfilter">Library: </label> |
221 |
<select id="branchfilter" onchange="filterByBranch();"> |
222 |
[% FOREACH branchloo IN branchloop %] |
223 |
[% IF ( branchloo.selected ) %] |
224 |
<option value="[% branchloo.value %]" selected="selected">[% branchloo.branchname %]</option> |
225 |
[% ELSE %] |
226 |
<option value="[% branchloo.value %]">[% branchloo.branchname %]</option> |
227 |
[% END %] |
228 |
[% END %] |
229 |
</select> |
230 |
</li> |
231 |
|
232 |
<li> |
233 |
<label for="begindate">From</label> |
234 |
<img src="[% themelang %]/lib/calendar/cal.gif" id="begindatebutton" style="cursor: pointer;" alt="Show Calendar" title="Show Calendar" /> |
235 |
<input type="text" name="begindate" id="begindate" value="[% begindate %]" size="10" maxlength="10" /> |
236 |
<script type="text/javascript"> |
237 |
//<![CDATA[ |
238 |
Calendar.setup({ |
239 |
inputField : "begindate", |
240 |
button : "begindatebutton", |
241 |
ifFormat : "[% DHTMLcalendar_dateformat %]" |
242 |
}); |
243 |
//]]> |
244 |
</script> |
245 |
|
159 |
|
246 |
<label for="enddate" style="float:none;">To</label> |
160 |
<form action="claims.pl" method="post" class="checkboxed" onsubmit="return checkForm()"> |
247 |
<img src="[% themelang %]/lib/calendar/cal.gif" id="enddatebutton" style="cursor: pointer;" alt="Show Calendar" title="Show Calendar" /> |
161 |
<fieldset> |
248 |
<input type="text" name="enddate" id="enddate" value="[% enddate %]" size="10" maxlength="10" /> |
162 |
<input type="hidden" name="order" value="[% order %]" /> |
249 |
<script type="text/javascript"> |
163 |
<table id="claimst" class="display"> |
250 |
//<![CDATA[ |
164 |
<thead><tr> |
251 |
Calendar.setup({ |
165 |
<th><input type="checkbox" id="CheckAll"></th> |
252 |
inputField : "enddate", |
166 |
<th>Vendor</th> |
253 |
button : "enddatebutton", |
167 |
<th>Branch</th> |
254 |
ifFormat : "[% DHTMLcalendar_dateformat %]" |
168 |
<th>Title</th> |
255 |
}); |
169 |
<th>Issue number</th> |
256 |
//]]> |
170 |
<th>Status</th> |
257 |
</script> <span class="hint">[% INCLUDE 'date-format.inc' %]</span> |
171 |
<th>Since</th> |
258 |
<input type="button" value="OK" onclick="filterByDate();" /> |
172 |
<th>Claims count</th> |
259 |
</li> |
173 |
<th>Claim Date</th> |
260 |
|
174 |
</tr></thead> |
261 |
<li> |
175 |
<tbody></tbody> |
262 |
<input type="reset" value="Clear Filters" onclick="clearFilters();" /> |
176 |
<tfoot> |
263 |
</li> |
177 |
<tr> |
264 |
</ol> |
178 |
<th></th> |
265 |
</fieldset> |
179 |
<th><input type="text" class="filter" id="suppliername_filter" data-column_num="1" placeholder="Search vendor" /></th> |
|
|
180 |
<th><input type="text" class="filter" id="branchname_filter" data-column_num="2" placeholder="Search branch" /></th> |
181 |
<th><input type="text" class="filter" id="title_filter" data-column_num="3" placeholder="Search title" /></th> |
182 |
<th><input type="text" class="filter" id="serialseq_filter" data-column_num="4" placeholder="Search issue number" /></th> |
183 |
<th> |
184 |
<select id="status_filter" data-column_num="5"> |
185 |
<option value="">All</option> |
186 |
<option value="1">Expected</option> |
187 |
<option value="2">Arrived</option> |
188 |
<option value="3">Late</option> |
189 |
<option value="4">Missing</option> |
190 |
<option value="7">Claimed</option> |
191 |
</select> |
192 |
</th> |
193 |
<th> |
194 |
<span class="replace_me" data-id="planneddate" data-type="range_dates" data-format="[% DHTMLcalendar_dateformat %]"></span> |
195 |
</th> |
196 |
<th><input type="text" class="filter" id="claimscount_filter" data-column_num="7" placeholder="Search claims count" /></th> |
197 |
<th><span class="replace_me" data-type="range_dates" data-id="claimdate" data-format="[% DHTMLcalendar_dateformat %]"></span></th> |
198 |
</tfoot> |
199 |
</table> |
200 |
|
201 |
<div class="spacer"></div> |
202 |
<p style="display:block;"><span class="exportSelected"></span></p> |
203 |
|
204 |
[% IF ( letter ) %] |
205 |
<fieldset class="action"> |
206 |
<label for="letter_code">Select notice:</label> |
207 |
<select name="letter_code" id="letter_code"> |
208 |
[% FOREACH letter IN letters %] |
209 |
<option value="[% letter.code %]">[% letter.name %]</option> |
210 |
[% END %] |
211 |
</select> |
212 |
<input type="hidden" name="op" value="send_alert" /><input type="submit" name="submit" class="button" value="Send notification" /></fieldset> |
213 |
</fieldset> |
214 |
[% END %] |
215 |
</fieldset> |
266 |
</form> |
216 |
</form> |
267 |
|
217 |
|
268 |
<fieldset> |
218 |
</div> |
269 |
<form action="claims.pl" method="post" class="checkboxed" onsubmit="return checkForm()"> |
219 |
</div> |
270 |
<input type="hidden" name="order" value="[% order %]" /> |
220 |
<div class="yui-b"> |
271 |
<table id="claimst"> |
|
|
272 |
<thead> |
273 |
<tr> |
274 |
[% IF ( letter ) %] |
275 |
<th><input type="checkbox" id="CheckAll"></th> |
276 |
[% END %] |
277 |
<th>Vendor</th> |
278 |
<th>Library</th> |
279 |
<th>Title</th> |
280 |
<th>Issue number</th> |
281 |
<th>Status</th> |
282 |
<th>Since</th> |
283 |
<th>Claims count</th> |
284 |
<th>Claim date</th> |
285 |
</tr> |
286 |
</thead> |
287 |
<tbody>[% FOREACH missingissue IN missingissues %] |
288 |
<tr> |
289 |
[% IF ( letter ) %] |
290 |
<td> |
291 |
<input type="checkbox" name="serialid" value="[% missingissue.serialid %]" /> |
292 |
</td> |
293 |
[% END %] |
294 |
<td>[% missingissue.name %]</td> |
295 |
<td>[% missingissue.branchcode %]</td> |
296 |
<td> |
297 |
<a href="/cgi-bin/koha/serials/subscription-detail.pl?subscriptionid=[% missingissue.subscriptionid %]">[% missingissue.title |html %]</a> |
298 |
</td> |
299 |
<td>[% missingissue.serialseq %]</td> |
300 |
<td> |
301 |
[% IF ( missingissue.status1 ) %]Expected[% END %] |
302 |
[% IF ( missingissue.status2 ) %]Arrived[% END %] |
303 |
[% IF ( missingissue.status3 ) %]Late[% END %] |
304 |
[% IF ( missingissue.status4 ) %]Missing[% END %] |
305 |
[% IF ( missingissue.status7 ) %]Claimed[% END %] |
306 |
</td> |
307 |
<td class="planneddate">[% missingissue.planneddate %]</td> |
308 |
<td>[% missingissue.claims_count %]</td> |
309 |
<td>[% missingissue.claimdate %]</td> |
310 |
</tr> |
311 |
[% END %]</tbody> |
312 |
</table> |
313 |
<p><span class="exportSelected"></span></p> |
314 |
|
315 |
[% IF ( letter ) %] |
316 |
<fieldset class="action"> |
317 |
<label for="letter_code">Select notice:</label> |
318 |
<select name="letter_code" id="letter_code"> |
319 |
[% FOREACH letter IN letters %] |
320 |
<option value="[% letter.code %]">[% letter.name %]</option> |
321 |
[% END %] |
322 |
</select> |
323 |
<input type="hidden" name="op" value="send_alert" /> |
324 |
<input type="submit" name="submit" class="button" value="Send notification" /> |
325 |
</fieldset> |
326 |
[% END %] |
327 |
</form> |
328 |
</fieldset> |
329 |
[% END %] |
330 |
|
331 |
</div> |
332 |
</div> |
333 |
|
334 |
<div class="yui-b"> |
335 |
[% INCLUDE 'serials-menu.inc' %] |
221 |
[% INCLUDE 'serials-menu.inc' %] |
336 |
</div> |
222 |
</div> |
337 |
</div> |
223 |
</div> |