From: phasefx Date: Thu, 12 Nov 2009 22:41:20 +0000 (+0000) Subject: Filters for the triggered events interface, and support for items instead of patrons... X-Git-Tag: kcls-grey-screen-prod1~3027 X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=8370d2629b8afa40278c81d17ab61d838883eb14;p=evergreen%2Fequinox.git Filters for the triggered events interface, and support for items instead of patrons as an entry point (just need to wire that up). Lists and streaming rows can be brittle if the lists are cleared while data is still streaming in. I've tried to fix that by disabling the buttons until an oncomplete is encountered, but it's still brittle. git-svn-id: svn://svn.open-ils.org/ILS/trunk@14889 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- diff --git a/Open-ILS/web/opac/locale/en-US/lang.dtd b/Open-ILS/web/opac/locale/en-US/lang.dtd index c69d5c10fb..1a2e394a92 100644 --- a/Open-ILS/web/opac/locale/en-US/lang.dtd +++ b/Open-ILS/web/opac/locale/en-US/lang.dtd @@ -1305,6 +1305,16 @@ + + + + + + + + + + diff --git a/Open-ILS/xul/staff_client/chrome/content/main/constants.js b/Open-ILS/xul/staff_client/chrome/content/main/constants.js index 1b0ea841da..a4a833df04 100644 --- a/Open-ILS/xul/staff_client/chrome/content/main/constants.js +++ b/Open-ILS/xul/staff_client/chrome/content/main/constants.js @@ -145,6 +145,8 @@ const api = { 'FM_ATC_RETRIEVE_VIA_AOU' : { 'app' : 'open-ils.circ', 'method' : 'open-ils.circ.transit.retrieve_by_lib', 'secure' : false }, 'FM_ATEV_APROPOS_AHR' : { 'app' : 'open-ils.actor', 'method' : 'open-ils.actor.user.events.ahr', 'secure' : true }, 'FM_ATEV_APROPOS_CIRC' : { 'app' : 'open-ils.actor', 'method' : 'open-ils.actor.user.events.circ', 'secure' : true }, + 'FM_ATEV_APROPOS_AHR_VIA_COPY' : { 'app' : 'open-ils.actor', 'method' : 'open-ils.actor.copy.events.ahr', 'secure' : true }, + 'FM_ATEV_APROPOS_CIRC_VIA_COPY' : { 'app' : 'open-ils.actor', 'method' : 'open-ils.actor.copy.events.circ', 'secure' : true }, 'FM_ATEV_CANCEL' : { 'app' : 'open-ils.actor', 'method' : 'open-ils.actor.user.event.cancel.batch', 'secure' : false }, 'FM_ATEV_RESET' : { 'app' : 'open-ils.actor', 'method' : 'open-ils.actor.user.event.reset.batch', 'secure' : false }, 'FM_AU_ID_RETRIEVE_VIA_BARCODE_OR_USERNAME' : { 'app' : 'open-ils.actor', 'method' : 'open-ils.actor.user.retrieve_id_by_barcode_or_username' }, diff --git a/Open-ILS/xul/staff_client/server/patron/trigger_events.js b/Open-ILS/xul/staff_client/server/patron/trigger_events.js index f7d2dd8d66..d5cecc7630 100644 --- a/Open-ILS/xul/staff_client/server/patron/trigger_events.js +++ b/Open-ILS/xul/staff_client/server/patron/trigger_events.js @@ -1,4 +1,4 @@ -var list; var error; var net; var rows; var archived_rows; +var list; var error; var net; var rows; function $(id) { return document.getElementById(id); } @@ -38,6 +38,11 @@ function trigger_event_init() { init_list(); $('cmd_cancel_event').addEventListener('command', gen_event_handler('cancel'), false); $('cmd_reset_event').addEventListener('command', gen_event_handler('reset'), false); + $('circ').addEventListener('command', function() { populate_list(); }, false); + $('ahr').addEventListener('command', function() { populate_list(); }, false); + $('pending').addEventListener('command', function() { populate_list(); }, false); + $('complete').addEventListener('command', function() { populate_list(); }, false); + $('error').addEventListener('command', function() { populate_list(); }, false); populate_list(); default_focus(); @@ -134,6 +139,8 @@ function handle_selection(ev) { // handler for list row selection event function populate_list() { try { + $('circ').disabled = true; $('ahr').disabled = true; $('pending').disabled = true; $('complete').disabled = true; $('error').disabled = true; + rows = {}; list.clear(); @@ -153,20 +160,28 @@ function populate_list() { function onError(r) { var evt = openils.Util.readResponse(r); alert('error, evt = ' + js2JSON(evt)); + $('circ').disabled = false; $('ahr').disabled = false; $('pending').disabled = false; $('complete').disabled = false; $('error').disabled = false; } - var methods = ['FM_ATEV_APROPOS_CIRC','FM_ATEV_APROPOS_AHR']; - for (var i in methods) { - fieldmapper.standardRequest( - [api[methods[i]].app, api[methods[i]].method ], - { async: true, - params: [ses(), xul_param('patron_id')], - onresponse : onResponse, - onerror : onError, - oncomplete : function() {} + var method = $('circ').checked ? 'FM_ATEV_APROPOS_CIRC' : 'FM_ATEV_APROPOS_AHR'; + if (xul_param('copy_id')) { method += '_VIA_COPY'; } + + var filter = {"event":{"state":"complete"}, "offset":0, "limit":10, "order_by":[{"class":"atev", "field":"run_time", "direction":"desc"}]}; + + if ($('pending').checked) { filter.event.state = 'pending'; filter.order_by[0].direction = 'asc'; } + if ($('error').checked) { filter.event.state = 'error'; } + + fieldmapper.standardRequest( + [api[method].app, api[method].method ], + { async: true, + params: [ses(), xul_param('copy_id') || xul_param('patron_id'), filter], + onresponse : onResponse, + onerror : onError, + oncomplete : function() { + $('circ').disabled = false; $('ahr').disabled = false; $('pending').disabled = false; $('complete').disabled = false; $('error').disabled = false; } - ); - } + } + ); } catch(E) { var err_prefix = 'trigger_events.js -> populate_list() : '; diff --git a/Open-ILS/xul/staff_client/server/patron/trigger_events.xul b/Open-ILS/xul/staff_client/server/patron/trigger_events.xul index a133856157..73d4dbd21a 100644 --- a/Open-ILS/xul/staff_client/server/patron/trigger_events.xul +++ b/Open-ILS/xul/staff_client/server/patron/trigger_events.xul @@ -17,7 +17,7 @@ - @@ -41,12 +41,30 @@ + + + + + + + +