From: Dan Scott Date: Mon, 31 Aug 2015 20:59:46 +0000 (-0400) Subject: Add USudbury "moveto" interface X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=refs%2Fheads%2Ffeature%2Fmove_to_storage_2_7;p=contrib%2FConifer.git Add USudbury "moveto" interface This one also undeletes the copies, call numbers, and records as we go, as presumably we don't want these things to be deleted if we're moving them. Signed-off-by: Dan Scott --- diff --git a/Open-ILS/src/templates/cat/moveto/usudbury.tt2 b/Open-ILS/src/templates/cat/moveto/usudbury.tt2 new file mode 100644 index 0000000000..0fd7181ba4 --- /dev/null +++ b/Open-ILS/src/templates/cat/moveto/usudbury.tt2 @@ -0,0 +1,30 @@ +[% ctx.page_title = 'Move item to University of Sudbury' %] +[% WRAPPER base.tt2 %] + + + + +

Move item to University of Sudbury

+ +
+ + + + + +
+
+ +
+ +[% END %] + + diff --git a/Open-ILS/web/js/ui/default/cat/moveto/usudbury.js b/Open-ILS/web/js/ui/default/cat/moveto/usudbury.js new file mode 100644 index 0000000000..bead3c5ba8 --- /dev/null +++ b/Open-ILS/web/js/ui/default/cat/moveto/usudbury.js @@ -0,0 +1,99 @@ +dojo.require('fieldmapper.IDL'); +dojo.require('openils.PermaCrud'); +dojo.require('dojo.date'); +dojo.require('openils.CGI'); +dojo.require('openils.XUL'); + +var pcrud; +var pcrudReader; +var staff; +var copy; +var volume; +var record; +var rmsr; +var tbody; +var cgi; + +if(!window.xulG) var xulG = null; + +function load() { + staff = new openils.User().user; + pcrud = new openils.PermaCrud(); + pcrudReader = new openils.PermaCrud(); + cgi = new openils.CGI(); + var barcode = cgi.param('barcode'); + + if(xulG) { + if(xulG.ses) openils.User.authtoken = xulG.ses; + if(xulG.usr !== null) userId = xulG.usr + if(xulG.params) { + var parms = xulG.params; + if(parms.ses) + openils.User.authtoken = parms.ses; + if(parms.usr !== null) + userId = parms.usr + } + } + + dojo.byId("barcode").focus(); + moveCopy(barcode); +} + +function moveCopy(barcode) { + if (!barcode) { + // Just display the barcode entry form + return; + } +/* + copy = fieldmapper.standardRequest( + ['open-ils.search', 'open-ils.search.asset.copy.find_by_barcode'], + {params: [barcode]} + ); +*/ + /* Get rid of non-numeric barcode characters - probably need to configure the cheapo scanner */ + barcode = barcode.replace(/[^0-9]/g, ''); + 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(330); + copy.circ_lib(107); + copy.deleted(false) + copy.ischanged(true); + pcrud.update(copy); + + volume = pcrudReader.retrieve("acn", copy.call_number()); + volume.owning_lib(107); + volume.deleted(false); + pcrud.update(volume); + + record = pcrudReader.retrieve("bre", volume.record()); + record.active(true); + record.deleted(false); + pcrud.update(record); + + dojo.place("
" + copy.barcode() + "
", 'resultsDiv', 'only'); + dojo.place("
" + volume.label() + "
", 'resultsDiv', 'last'); + dojo.place("
" + record.marc() + "
", dojo.body(), 'last'); + dojo.place("
", 'resultsDiv', 'last'); + dojo.query("datafield[tag='245'] subfield").forEach(function(node, index, arr) { + dojo.place("" + node.innerHTML + " ", 'titleDiv', 'last'); + }); +} + +function moveCopyRefresh() { + var usr = cgi.param('barcode'); + var href = location.href.replace(/\?.*/, ''); + href += ((usr) ? '?barcode=' + barcode : ''); + location.href = href; +} + +function moveCopyRefreshXUL(newuser) { + if (window.xulG && typeof window.xulG.on_save == 'function') + window.xulG.on_save(newuser); +} + +openils.Util.addOnLoad(load);