2 [% INCLUDE 'doc-head-open.inc' %]
3 <title>Home › Tools › Tags › [% IF ( do_it ) %]Review › [% ELSE %]Review tags[% END %]</title>
4 [% INCLUDE 'doc-head-close.inc' %]
5 <link rel="stylesheet" type="text/css" href="[% interface %]/[% theme %]/en/css/datatables.css" />
6 [% INCLUDE 'datatables.inc' %]
7 [% INCLUDE 'calendar.inc' %]
8 <script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.checkboxes.min.js"></script>
9 <style type="text/css">
10 .setlabel {width: 6em; font-family: courier; background-color:#E8E8E8;}
11 tr > td.red {color:darkred; background-color: pink;}
12 tr > td.green {color:darkgreen; background-color: #D1EFD5; text-align: center;}
13 tr > td.pending {background-color: lightyellow;}
14 tr > td input,td input[type="submit"] { font-size: 85%; padding: 1px; }
16 <script type="text/javascript">
20 url: "/cgi-bin/koha/tags/review.pl",
28 function pull_counts () {
29 ok_count = parseInt(document.getElementById("terms_summary_approved_count" ).innerHTML);
30 nok_count = parseInt(document.getElementById("terms_summary_unapproved_count").innerHTML);
31 rej_count = parseInt(document.getElementById("terms_summary_rejected_count" ).innerHTML);
33 function count_approve () {
36 $("#terms_summary_unapproved_count").html(nok_count -1);
37 $("#terms_summary_approved_count" ).html( ok_count +1);
40 function count_reject () {
43 $("#terms_summary_unapproved_count").html(nok_count -1);
44 $("#terms_summary_rejected_count" ).html(rej_count +1);
47 function warn_once (evt) {
48 if (alerted <= 1 && ($(evt.target).is('.ok') || $(evt.target).is('.rej'))) {
50 window.alert("this is: " + this + "is '.ok': " + $(evt.target).is('.ok') + " is '.rej': " + $(evt.target).is('.rej'));
53 var success_approve = function(tag){
54 // window.alert(_("AJAX approved tag: ") + tag);
56 var failure_approve = function(tag){
57 window.alert(_("AJAX failed to approve tag: ") + tag);
59 var success_reject = function(tag){
60 // window.alert(_("AJAX rejected tag: ") + tag);
62 var failure_reject = function(tag){
63 window.alert(_("AJAX failed to reject tag: ") + tag);
65 var success_test = function(tag){
66 $('#verdict').html(tag + _(" is permitted!"));
68 var failure_test = function(tag){
69 $('#verdict').html(tag + _(" is prohibited!"));
71 var indeterminate_test = function(tag){
72 $('#verdict').html(tag + _(" is neither permitted nor prohibited!"));
75 var success_test_call = function() {
76 $('#test_button').removeAttr("disabled");
77 $('#test_button').attr("value","test");
79 $(document).ready(function() {
80 $('.ajax_buttons' ).css({visibility:"visible"});
81 $("p.check").html("<strong>"+_("Select:")+" <\/strong><a id=\"CheckAll\" href=\"/cgi-bin/koha/tags/review.pl\">"+_("All")+"<\/a> <a id=\"CheckPending\" href=\"/cgi-bin/koha/tags/review.pl\">"+_("Pending")+"<\/a> <a id=\"CheckNone\" href=\"/cgi-bin/koha/tags/review.pl\">"+_("None")+"<\/a>");
82 $("#CheckAll").click(function(){
83 $(".checkboxed").checkCheckboxes();
86 $("#CheckNone").click(function(){
87 $(".checkboxed").unCheckCheckboxes();
90 $("#CheckPending").click(function(){
91 $(".checkboxed").checkCheckboxes(".pending");
94 $('body').click(function(event) {
96 // window.alert(_("Click detected on ") + event.target + ": " + $(event.target).html);
97 if ($(event.target).is('.ok')) {
99 "data": {ok: $(event.target).attr("title")},
100 "success": count_approve // success_approve
102 $(event.target).next(".rej").removeAttr("disabled").attr("value",_("Reject")).css("color","#000");
103 $(event.target).attr( "value",_("Approved")).attr("disabled","disabled").css("color","#666");
104 return false; // cancel submit
106 if ($(event.target).is('.rej')) {
108 "data": {rej: $(event.target).attr("title")},
109 "success": count_reject // success_reject
111 $(event.target).prev(".ok").removeAttr("disabled").attr("value",_("Approve")).css("color","#000");
112 $(event.target).attr( "value",_("Rejected")).attr("disabled","disabled").css("color","#666");
113 return false; // cancel submit
115 if ($(event.target).is('#test_button')) {
116 $(event.target).attr( "value",_("Testing...")).attr("disabled","disabled");
118 "data": {test: $('#test').attr("value")},
119 "success": success_test_call // success_reject
121 return false; // cancel submit
124 $("*").ajaxError(function(evt, request, settings){
125 if ((alerted +=1) <= 1){ window.alert(_("AJAX error")+" (" + alerted + " alert)"); }
127 $("#tagst").dataTable($.extend(true, {}, dataTablesDefaults, {
129 [% IF ( filter_approved_pending ) %]
130 { "aTargets": [ 0,1,-2 ], "bSortable": false, "bSearchable": false }
132 { "aTargets": [ 0,1,-3 ], "bSortable": false, "bSearchable": false }
136 null,null,null,null,null,null,[% UNLESS ( filter_approved_pending ) %]null,[% END %]{ "sType": "title-string" }
138 "aaSorting": [[ 4, "desc" ]],
139 "aLengthMenu": [[10, 20, 50, 100, -1], [10, 20, 50, 100, "All"]],
140 "iDisplayLength": 20,
141 "sPaginationType": "four_button"
143 var reviewerField = $("#approver");
144 reviewerField.autocomplete({
145 source: "/cgi-bin/koha/circ/ysearch.pl",
147 select: function( event, ui ) {
148 reviewerField.val( ui.item.borrowernumber );
152 .data( "autocomplete" )._renderItem = function( ul, item ) {
153 return $( "<li></li>" )
154 .data( "item.autocomplete", item )
155 .append( "<a>" + item.surname + ", " + item.firstname + " (" + item.cardnumber + ") <small>" + item.address + " " + item.city + " " + item.zipcode + " " + item.country + "</small></a>" )
162 <body id="tags_review" class="tools">
163 [% INCLUDE 'header.inc' %]
164 [% INCLUDE 'cat-search.inc' %]
166 <div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/tools/tools-home.pl">Tools</a> › Tags</div>
168 <div id="doc3" class="yui-t2">
174 <div class="yui-u first">
176 <form method="post" action="/cgi-bin/koha/tags/review.pl" class="checkboxed">
178 [% IF ( filter_approved_all ) %]ALL[% END %]
179 [% IF ( filter_approved_ok ) %]Approved[% END %]
180 [% IF ( filter_approved_pending ) %]Pending[% END %]
181 [% IF ( filter_approved_rej ) %]Rejected[% END %]
185 [% IF ( op_count ) %]
186 <div class="dialog message" id="main_status">
187 [% IF ( op == 'approve' ) %] Approved
188 [% ELSIF ( op == 'reject' ) %] Rejected
189 [% ELSIF ( op == 'test' ) %] Tested
190 [% ELSE %]Unknown Operation ([% op %]) on
192 [% op_count %] Term(s).
195 [% IF ( message_loop ) %]
196 <div class="dialog alert" id="main_error">
197 [% FOREACH message_loo IN message_loop %]
198 [% IF ( message_loo.date_from ) %]ERROR: <em>Date from</em> is not a legal value ("[% message_loo.date_from %]").
199 [% ELSIF ( message_loo.date_to ) %]ERROR: <em>Date to</em> is not a legal value ("[% message_loo.date_to %]").
200 [% ELSIF ( message_loo.failed_ok ) %]ERROR: Failed to approve term ([% message_loo.failed_ok %]).
201 [% ELSIF ( message_loo.failed_rej ) %]ERROR: Failed to reject term ([% message_loo.failed_rej %]).
202 [% ELSIF ( message_loo.approver ) %]ERROR: No match for user ([% message_loo.approver %]). FILTER REQUIRES BORROWERNUMBER (not name).
203 [% ELSIF ( message_loo.approved_by ) %]ERROR: No match for borrowernumber ([% message_loo.approved_by %]).
204 [% ELSIF ( message_loo.op_zero ) %]ERROR: The root koha user in your KOHA_CONF file
205 (default: kohaadmin) is not a valid tag moderator. These actions are logged
206 by borrowernumber, so the moderator must exist in your borrowers table.
207 Please login as a different authorized staff user to moderate tags.
208 [% ELSE %] Unrecognized error!
214 [% IF ( pagination_bar ) %]
215 <div class="pages" id="pagination_top">
220 <p class="check"></p>
230 [% UNLESS ( filter_approved_pending ) %]<th>Reviewer</th>[% END %]
235 [% FOREACH tagloo IN tagloop %]
237 <td class="count">[% offset + loop.count %]
239 [% IF ( tagloo.approved == 0 ) %]<td><span><input type="checkbox" value="[% tagloo.term %]" name="tags" class="pending" /></span>
240 [% ELSE %]<td><span><input type="checkbox" value="[% tagloo.term %]" name="tags" /></span>[% END %]
242 [% IF ( tagloo.approved == -1 ) %]<td class="red">rejected
243 [% ELSIF ( tagloo.approved == 1 ) %]<td class="green"><img alt="OK" src="[% interface %]/[% theme %]/img/approve.gif" />
244 [% ELSE %]<td class="pending">
247 <td><a href="/cgi-bin/koha/tags/list.pl?tag=[% tagloo.term|uri %]">[% tagloo.term %]</a>
249 <td>[% tagloo.weight_total %]
251 [% IF ( tagloo.approved ) %]
252 <td><span class="ajax_buttons" style="visibility:hidden">
253 [% IF ( tagloo.approved == -1 ) %]
254 <input class="ok" type="submit" title="[% tagloo.term %]" value="Approve" name="approve" />
255 <input class="rej" disabled="disabled" type="submit" title="[% tagloo.term %]" value="Rejected" name="reject" />
257 <input class="ok" disabled="disabled" type="submit" title="[% tagloo.term %]" value="Approved" name="approve" />
258 <input class="rej" type="submit" title="[% tagloo.term %]" value="Reject" name="reject" />
262 <td>[% IF ( tagloo.approved_by_name ) %]<a href="/cgi-bin/koha/tags/review.pl?approved_by=[% tagloo.approved_by %]&approved=all">[% tagloo.approved_by_name %]</a>[% ELSE %] [% END %]
265 <td><span class="ajax_buttons" style="visibility:hidden">
266 <input class="ok" type="submit" title="[% tagloo.term %]" value="Approve" name="approve" />
267 <input class="rej" type="submit" title="[% tagloo.term %]" value="Reject" name="reject" />
270 [% UNLESS ( filter_approved_pending ) %]<td> </td>[% END %]
273 <span title="[% tagloo.date_approved %]">[% tagloo.date_approved | $KohaDates %]</span>
280 [% IF ( tagloop ) %]<fieldset class="action">
281 <input type="submit" value="Approve" id="approve_button" name="op-approve" />
282 <input type="submit" value="Reject" id="reject_button" name="op-reject" />
287 <fieldset class="brief">
288 <h4>Terms summary</h4>
290 <li><a href="/cgi-bin/koha/tags/review.pl?approved=1">Approved</a>:
291 <span id="terms_summary_approved_count">[% approved_count %]</span>
293 <li><a href="/cgi-bin/koha/tags/review.pl?approved=-1">Rejected</a>:
294 <span id="terms_summary_rejected_count">[% rejected_count %]</span>
296 <li><a href="/cgi-bin/koha/tags/review.pl?approved=0">Pending</a>:
297 <span id="terms_summary_unapproved_count">[% unapproved_count %]</span>
299 <li><a href="/cgi-bin/koha/tags/review.pl?approved=all">Total</a>:
300 <span id="terms_summary_approved_total">[% approved_total %]</span>
303 <span id="terms_summary_status"> </span>
305 <fieldset class="brief">
307 <div class="description">Enter a word or phrase to check against approved/rejected lists: </div>
308 <form method="post" action="/cgi-bin/koha/tags/review.pl">
309 <input type="text" size="14" name="test" id="test" />
310 <fieldset class="action"><input type="submit" value="Test" id="test_button" name="op-test" /></fieldset>
312 [% IF ( test_term ) %]
313 [% IF ( verdict_ok ) %]
314 "[% test_term %]" is permitted.
315 [% ELSIF ( verdict_rej ) %]
316 "[% test_term %]" is prohibited.
317 [% ELSIF ( verdict_indeterminate ) %]
318 "[% test_term %]" is neither permitted nor prohibited.
331 <form method="post" action="/cgi-bin/koha/tags/review.pl">
332 <fieldset class="brief">
335 <li><label for="tag">Term</label> <input type="text" name="tag" id="tag" value="[% filter_tag %]" />
337 <li><label for="approved">Status</label>
338 <select name="approved" id="approved">
339 [% IF ( filter_approved_all ) %]<option selected="selected" value="all">all</option>
340 [% ELSE %]<option value="all">all</option>[% END %]
341 [% IF ( filter_approved_ok ) %]<option selected="selected" value="1">approved</option>
342 [% ELSE %]<option value="1">approved</option>[% END %]
343 [% IF ( filter_approved_pending ) %]<option selected="selected" value="0">pending</option>
344 [% ELSE %]<option value="0">pending</option>[% END %]
345 [% IF ( filter_approved_rej ) %]<option selected="selected" value="-1">rejected</option>
346 [% ELSE %]<option value="-1">rejected</option>[% END %]
349 <li><label for="approver">Reviewer</label> <input type="text" name="approver" id="approver" value="[% filter_approver %]" />
352 <label for="from">Date: from </label>
353 <input type="text" size="10" id="from" name="from" value="[% filter_date_approved_from %]" class="datepickerfrom" />
354 <div class="hint">[% INCLUDE 'date-format.inc' %]</div>
356 <label for="to">...to </label>
357 <input type="text" size="10" id="to" name="to" value="[% filter_date_approved_to %]" class="datepickerto" />
358 <div class="hint">[% INCLUDE 'date-format.inc' %]</div>
361 <fieldset class="action"><input type="submit" value="Apply filter(s)" /></fieldset>
366 [% INCLUDE 'intranet-bottom.inc' %]