Protect against slony replication lag, LP#621448
authorMike Rylander <mrylander@gmail.com>
Tue, 8 Nov 2011 17:43:44 +0000 (12:43 -0500)
committerMike Rylander <mrylander@gmail.com>
Tue, 8 Nov 2011 18:05:48 +0000 (13:05 -0500)
Make open-ils.circ.captured_holds.id_list.* API calls authoritative within
the staff client to avoid replication-lag related stale displays.  Inspired
by James Fournie at SITKA.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm
Open-ILS/xul/staff_client/chrome/content/main/constants.js

index 1f4732e..bcc0b50 100644 (file)
@@ -1764,6 +1764,7 @@ __PACKAGE__->register_method(
     method    => 'fetch_captured_holds',
     api_name  => 'open-ils.circ.captured_holds.on_shelf.retrieve',
     stream    => 1,
+    authoritative => 1,
     signature => q/
                Returns a list of un-fulfilled holds (on the Holds Shelf) for a given title id
                @param authtoken The login session key
@@ -1775,6 +1776,7 @@ __PACKAGE__->register_method(
     method    => 'fetch_captured_holds',
     api_name  => 'open-ils.circ.captured_holds.id_list.on_shelf.retrieve',
     stream    => 1,
+    authoritative => 1,
     signature => q/
                Returns list ids of un-fulfilled holds (on the Holds Shelf) for a given title id
                @param authtoken The login session key
@@ -1786,6 +1788,7 @@ __PACKAGE__->register_method(
     method    => 'fetch_captured_holds',
     api_name  => 'open-ils.circ.captured_holds.id_list.expired_on_shelf.retrieve',
     stream    => 1,
+    authoritative => 1,
     signature => q/
                Returns list ids of shelf-expired un-fulfilled holds for a given title id
                @param authtoken The login session key
index b195d2a..a134bdd 100644 (file)
@@ -134,8 +134,8 @@ var api = {
     'FM_AHR_ID_LIST_PULL_LIST' : { 'app' : 'open-ils.circ', 'method' : 'open-ils.circ.hold_pull_list.id_list.retrieve', 'secure' : false },
     'HTML_HOLD_PULL_LIST' : { 'app' : 'open-ils.circ', 'method' : 'open-ils.circ.hold_pull_list.print' },
     'FM_AHR_ONSHELF_RETRIEVE' : { 'app' : 'open-ils.circ', 'method' : 'open-ils.circ.captured_holds.on_shelf.retrieve' },
-    'FM_AHR_ID_LIST_ONSHELF_RETRIEVE' : { 'app' : 'open-ils.circ', 'method' : 'open-ils.circ.captured_holds.id_list.on_shelf.retrieve', 'secure' : false },
-    'FM_AHR_ID_LIST_EXPIRED_ONSHELF_RETRIEVE' : { 'app' : 'open-ils.circ', 'method' : 'open-ils.circ.captured_holds.id_list.expired_on_shelf.retrieve', 'secure' : false },
+    'FM_AHR_ID_LIST_ONSHELF_RETRIEVE' : { 'app' : 'open-ils.circ', 'method' : 'open-ils.circ.captured_holds.id_list.on_shelf.retrieve.authoritative', 'secure' : false },
+    'FM_AHR_ID_LIST_EXPIRED_ONSHELF_RETRIEVE' : { 'app' : 'open-ils.circ', 'method' : 'open-ils.circ.captured_holds.id_list.expired_on_shelf.retrieve.authoritative', 'secure' : false },
     'FM_AHR_COUNT_RETRIEVE' : { 'app' : 'open-ils.actor', 'method' : 'open-ils.actor.user.hold_requests.count', 'cacheable' : true, 'ttl' : 60000  },
     'FM_AHR_COUNT_RETRIEVE.authoritative' : { 'app' : 'open-ils.actor', 'method' : 'open-ils.actor.user.hold_requests.count.authoritative', 'cacheable' : true, 'ttl' : 60000  },
     'FM_AHR_CANCEL' : { 'app' : 'open-ils.circ', 'method' : 'open-ils.circ.hold.cancel' },