From a7e3cd1564855336448c2b2476743220b6b8a517 Mon Sep 17 00:00:00 2001 From: erickson Date: Thu, 3 Jun 2010 19:56:53 +0000 Subject: [PATCH] implemented a simple mechanism to allow for linking to record detail pages by ISBN. If no record ID is present in the URL and the URL has a search type of isbn and an isbn value, do an ISBN lookup and display the first record we get back from the search. git-svn-id: svn://svn.open-ils.org/ILS/trunk@16585 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- Open-ILS/web/opac/skin/default/js/rdetail.js | 31 +++++++++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) diff --git a/Open-ILS/web/opac/skin/default/js/rdetail.js b/Open-ILS/web/opac/skin/default/js/rdetail.js index bfe7b0566e..8af53a51b1 100644 --- a/Open-ILS/web/opac/skin/default/js/rdetail.js +++ b/Open-ILS/web/opac/skin/default/js/rdetail.js @@ -1,3 +1,4 @@ + /* */ detachAllEvt('common', 'run'); @@ -123,9 +124,33 @@ function rdetailDraw() { if(getLocation() == globalOrgTree.id()) hideMe(G.ui.rdetail.cp_info_all); - var req = new Request(FETCH_RMODS, getRid()); - req.callback(_rdetailDraw); - req.send(); + if(getRid()) { + + var req = new Request(FETCH_RMODS, getRid()); + req.callback(_rdetailDraw); + req.send(); + + } else { // No record ID was specified + + // If we have an ISBN in the URL, let's try to find that record + // This allows direct linking by ISBN. + // Note, this uses the first record it finds + if(getRtype() == RTYPE_ISBN) { + var req = new Request(FETCH_ADV_ISBN_RIDS, getAdvTerm() ); + req.callback( + function(r) { + var blob = r.getResultObject(); + if(blob && blob.count > 0) + RID = blob.ids[0]; + var req2 = new Request(FETCH_RMODS, getRid()); + req2.callback(_rdetailDraw); + req2.send(); + } + ); + req.send(); + } + } + if (rdetailDisplaySerialHoldings) { var req = new Request(FETCH_MFHD_SUMMARY, getRid()); -- 2.11.0