From d3b9f7df248c5aae29d99e0191011f7141dd7f5a Mon Sep 17 00:00:00 2001 From: dbs Date: Thu, 22 Jul 2010 18:55:03 +0000 Subject: [PATCH] Separate the readers from the writer to avoid transaction race fun git-svn-id: svn://svn.open-ils.org/ILS-Contrib/conifer/branches/rel_1_6_0@936 6d9bc8c9-1ec2-4278-b937-99fde70a366f --- web/js/ui/default/cat/storage/move.js | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/web/js/ui/default/cat/storage/move.js b/web/js/ui/default/cat/storage/move.js index f595a25a7e..24e9a7bf12 100644 --- a/web/js/ui/default/cat/storage/move.js +++ b/web/js/ui/default/cat/storage/move.js @@ -5,6 +5,7 @@ dojo.require('openils.CGI'); dojo.require('openils.XUL'); var pcrud; +var pcrudRead; var staff; var copy; var volume; @@ -18,6 +19,7 @@ if(!window.xulG) var xulG = null; function load() { staff = new openils.User().user; pcrud = new openils.PermaCrud(); + pcrudRead = new openils.PermaCrud(); cgi = new openils.CGI(); var barcode = cgi.param('barcode'); @@ -43,20 +45,21 @@ function moveCopy(barcode) { return; } - copy = fieldmapper.standardRequest( - ['open-ils.search', 'open-ils.search.asset.copy.find_by_barcode'], - {params: [barcode]} - ); + copy = pcrud.search('acp', {"barcode":barcode}); + // There can be only one copy + copy = copy[0]; if (!copy.location) { dojo.place('
Barcode [' + barcode + '] was not found!
', 'resultsDiv', 'only'); return; } + copy.location(152); copy.ischanged(1); pcrud.update(copy); - volume = pcrud.retrieve("acn", copy.call_number()); - record = pcrud.retrieve("bre", volume.record()); + volume = pcrudRead.retrieve("acn", copy.call_number()); + record = pcrudRead.retrieve("bre", volume.record()); + dojo.place("
" + copy.barcode() + "
", 'resultsDiv', 'only'); dojo.place("
" + volume.label() + "
", 'resultsDiv', 'last'); dojo.place("
" + record.marc() + "
", dojo.body(), 'last'); -- 2.11.0