2 url: "/cgi-bin/koha/tags/review.pl",
12 function pull_counts () {
13 ok_count = parseInt(document.getElementById("terms_summary_approved_count" ).innerHTML);
14 nok_count = parseInt(document.getElementById("terms_summary_unapproved_count").innerHTML);
15 rej_count = parseInt(document.getElementById("terms_summary_rejected_count" ).innerHTML);
18 function count_approve () {
21 $("#terms_summary_unapproved_count").html(nok_count -1);
22 $("#terms_summary_approved_count" ).html( ok_count +1);
26 function count_reject () {
29 $("#terms_summary_unapproved_count").html(nok_count -1);
30 $("#terms_summary_rejected_count" ).html(rej_count +1);
34 var success_approve = function(tag){
35 // window.alert(_("AJAX approved tag: ") + tag);
37 var failure_approve = function(tag){
38 window.alert( __("AJAX failed to approve tag: %s").format(decodeURIComponent(tag)) );
40 var success_reject = function(tag){
41 // window.alert(_("AJAX rejected tag: ") + tag);
43 var failure_reject = function(tag){
44 window.alert( __("AJAX failed to reject tag: %s").format(decodeURIComponent(tag)) );
46 var success_test = function(tag){
47 $('#verdict').html( __("%s is permitted!").format(decodeURIComponent(tag)) );
49 var failure_test = function(tag){
50 $('#verdict').html( __("%s is prohibited!").format(decodeURIComponent(tag)) );
52 var indeterminate_test = function(tag){
53 $('#verdict').html( __("%s is neither permitted nor prohibited!").format(decodeURIComponent(tag)) );
56 var success_test_call = function() {
57 $('#test_button').prop('disabled', false);
58 $('#test_button').html("<i class='fa fa-check-square-o' aria-hidden='true'></i>" +_(" Test"));
61 $(document).ready(function() {
62 $("#tagst").dataTable($.extend(true, {}, dataTablesDefaults, {
64 { "bSortable": false, "bSearchable": false, 'aTargets': [ 'NoSort' ] },
65 { "sType": "anti-the", "aTargets" : [ "anti-the" ] }
67 "aaSorting": [[ 2, "desc" ]],
68 "sPaginationType": "full"
70 $('.ajax_buttons' ).css({visibility:"visible"});
71 $("p.check").html("<div id=\"searchheader\"><a id=\"CheckAll\" href=\"/cgi-bin/koha/tags/review.pl\"><i class=\"fa fa-check\" aria-hidden=\"false\"><\/i> " + __("Select all") + "<\/a> | <a id=\"CheckNone\" href=\"/cgi-bin/koha/tags/review.pl\"><i class=\"fa fa-remove\" aria-hidden=\"false\"><\/i> " + __("Clear all") + "<\/a> | <a id=\"CheckPending\" href=\"/cgi-bin/koha/tags/review.pl\"> " + __("Select all pending") + "<\/a><\/div>");
73 $("#CheckAll").on("click", function (e) {
75 $("#tagst input:checkbox").each(function () {
76 $(this).prop("checked", true);
80 $("#CheckNone").on("click", function(e){
82 $("#tagst input:checkbox").each(function(){
83 $(this).prop("checked", false );
87 $("#CheckPending").on("click", function (e) {
89 $("#tagst input:checkbox").each(function () {
90 if( $(this).hasClass("pending") ){
91 $(this).prop("checked", true);
93 $(this).prop("checked", false);
98 $(".approval_btn").on('click',function(event) {
99 event.preventDefault();
103 // window.alert(_("Click detected on ") + event.target + ": " + $(event.target).html);
104 if ($(event.target).is('.ok')) {
105 $.ajax(Object.assign({}, review_ajax_params, {
107 ok: $(event.target).attr("title")
109 success: count_approve // success_approve
111 $(event.target).next(".rej").prop('disabled', false).css("color","#000");
112 $(event.target).next(".rej").html("<i class='fa fa-remove' aria-hidden='false'></i> " + __("Reject"));
113 $(event.target).prop('disabled', true).css("color","#666");
114 $(event.target).html("<i class='fa fa-check' aria-hidden='false'></i> " + __("Approved") );
115 getelement = $(event.target).data("num");
116 gettitle = ".status" + getelement;
117 $(gettitle).text( __("Approved") );
118 $("#checkbox" + getelement ).attr("class", "approved");
119 if ($(gettitle).hasClass("pending") ){
120 $(gettitle).toggleClass("pending approved");
122 $(gettitle).toggleClass("rejected approved");
125 if ($(event.target).is('.rej')) {
126 $.ajax(Object.assign({}, review_ajax_params, {
128 rej: $(event.target).attr("title")
130 success: count_reject // success_reject
132 $(event.target).prev(".ok").prop('disabled', false).css("color","#000");
133 $(event.target).prev(".ok").html("<i class='fa fa-check' aria-hidden='false'></i> " + __("Approve"));
134 $(event.target).prop('disabled', true).css("color","#666");
135 $(event.target).html("<i class='fa fa-remove' aria-hidden='false'></i> " + __("Rejected"));
136 getelement = $(event.target).data("num");
137 gettitle = ".status" + getelement;
138 $(gettitle).text(__("Rejected"));
139 $("#checkbox" + getelement).attr("class", "rejected");
140 if ($(gettitle).hasClass("pending") ){
141 $(gettitle).toggleClass("pending rejected");
143 $(gettitle).toggleClass("approved rejected");
145 return false; // cancel submit
147 if ($(event.target).is('#test_button')) {
148 $(event.target).text( __("Testing...") ).prop('disabled', true);
149 $.ajax(Object.assign({}, review_ajax_params, {
151 test: $('#test').attr("value")
153 success: success_test_call // success_reject
155 return false; // cancel submit
158 $("*").ajaxError(function(evt, request, settings){
159 if ((alerted +=1) <= 1){ window.alert( __("AJAX error (%s alert)").format(alerted) ); }
162 patron_autocomplete($("#approver"), { 'on-select-callback': function( event, ui ) {
163 $("#approver").val( ui.item.patron_id );