LP#902255: Protect against hold double-capture
authorMike Rylander <mrylander@gmail.com>
Mon, 8 Jun 2015 15:11:04 +0000 (11:11 -0400)
committerMike Rylander <mrylander@gmail.com>
Mon, 8 Jun 2015 15:20:25 +0000 (11:20 -0400)
commit8e0799c2b112802a5744fb5b19af4050d399e37b
treedd8e4db6c52b8554c6dd01a2e8f701d63235b58a
parent6bb8ea5599d39d41d623d1891b3c509c4e439178
LP#902255: Protect against hold double-capture

When the staff client is in Fast Scan (async) mode, it is possible
to double-scan at checkin and cause two holds to be captured by the
same item.  By creating a specially crafted unique index we ensure
that the database rejects this situation.

This protection would cause unhandled errors in the staff client, so
we also register a new string to be displayed when this particular
situation occurs, alerting staff to the possible double-scan of a
barcode at checkin IFF they are using async mode.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Open-ILS/src/sql/Pg/090.schema.action.sql
Open-ILS/src/sql/Pg/upgrade/XXXX.schema.disallow-double-capture.sql [new file with mode: 0644]
Open-ILS/xul/staff_client/server/circ/util.js
Open-ILS/xul/staff_client/server/locale/en-US/circ.properties