copy counts come back, but must be interpreted differently
authormiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Fri, 4 Apr 2008 21:18:09 +0000 (21:18 +0000)
committermiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Fri, 4 Apr 2008 21:18:09 +0000 (21:18 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@9234 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/web/opac/common/js/config.js
Open-ILS/web/opac/common/js/opac_utils.js
Open-ILS/web/opac/common/js/org_utils.js
Open-ILS/web/opac/skin/default/js/result_common.js
Open-ILS/web/opac/skin/default/js/rresult.js

index d8925ef..accdcd6 100644 (file)
@@ -9,6 +9,7 @@ var DO_AUTHORITY_LOOKUPS = true;
 var PARAM_TERM                 = "t";                  /* search term */
 var PARAM_STYPE                = "tp";                 /* search type */
 var PARAM_LOCATION     = "l";                  /* current location */
+var PARAM_LASSO        = "sg";                 /* current location */
 var PARAM_DEPTH                = "d";                  /* search depth */
 var PARAM_FORM                 = "f";                  /* search format */
 var PARAM_OFFSET               = "o";                  /* search offset */
@@ -42,6 +43,7 @@ var PARAM_AVAIL     = 'av'; /* limit search results to available items */
 var TERM;  
 var STYPE;  
 var LOCATION;  
+var LASSO;  
 var DEPTH;  
 var FORM; 
 var OFFSET;
index 0b166f6..cd13411 100644 (file)
@@ -109,21 +109,21 @@ function initParams() {
        /* handle the location var */
        var org;
        var loc = cgi.param(PARAM_LOCATION);
+       var lasso = cgi.param(PARAM_LASSO);
+
+    if ( lasso ) {
+               lasso = findOrgLasso( lasso );
+               LASSO = lasso ? lasso.id() : null;
+       }
 
     if (loc) {
                org = findOrgUnit(loc);
                LOCATION = org ? org.id() : null;
 
-           if( !LOCATION ) {
-            if ( loc < 0 ) {
-                               org = findOrgLasso( -loc );
-                               LOCATION = org ? -org.id() : null;
-                       }
-                       if ( !LOCATION ){
-                               org = findOrgUnit(loc);
-                               LOCATION = org ? org.id() : null;
-                       }
-       } 
+               if ( !LOCATION ){
+                       org = findOrgUnit(loc);
+                       LOCATION = org ? org.id() : null;
+               }
     }
 
        org = null;
@@ -224,6 +224,7 @@ function initCookies() {
 function getTerm(){return TERM;}
 function getStype(){return STYPE;}
 function getLocation(){return LOCATION;}
+function getLasso(){return LASSO;}
 function getDepth(){return DEPTH;}
 function getForm(){return FORM;}
 function getTform(){return TFORM;}
@@ -357,6 +358,8 @@ function  buildOPACLink(args, slim, ssl) {
                string += _appendParam(STYPE,           PARAM_STYPE, args, getStype, string);
        if(getLocation() != 1) 
                string += _appendParam(LOCATION, PARAM_LOCATION, args, getLocation, string);
+       if(getLasso() != null) 
+               string += _appendParam(LASSO, PARAM_LASSO, args, getLasso, string);
        if(getDepth() != null) 
                string += _appendParam(DEPTH,           PARAM_DEPTH, args, getDepth, string);
        if(getForm() && (getForm() != 'all') ) 
index 53186f1..2acf826 100644 (file)
@@ -44,9 +44,7 @@ function findOrgType(type_id) {
 /* returns an org unit by id.  if an object is passed in as the id,
        then the object is assumed to be an org unit and is returned */
 function findOrgUnit(org_id) {
-       var o = (typeof org_id == 'object') ? org_id : orgArraySearcher[org_id];
-       if (!o) o = new aou();
-       return o;
+       return (typeof org_id == 'object') ? org_id : orgArraySearcher[org_id];
 }
 
 function findOrgLasso(lasso_id) {
index 3f757b0..f24c192 100644 (file)
@@ -63,7 +63,11 @@ function resultCollectSearchIds( type, method, handler ) {
                        limit = getHitCount() - getOffset();
        }
 
-       args.org_unit = getLocation();
+       var lasso = getLasso();
+
+       if (lasso) args.org_unit = -lasso;
+       else args.org_unit = getLocation();
+
        args.depth    = getDepth();
        args.limit    = limit;
        args.offset   = getOffset();
@@ -673,7 +677,12 @@ function resultAddCopyCounts(rec, pagePosition) {
 /* collect copy counts for a record using method 'methodName' */
 function resultCollectCopyCounts(rec, pagePosition, methodName) {
        if(rec == null || rec.doc_id() == null) return;
-       var req = new Request(methodName, getLocation(), rec.doc_id(), getForm() );
+
+       var loc = getLasso();
+       if (loc) loc = -loc;
+       else loc= getLocation();
+
+       var req = new Request(methodName, loc, rec.doc_id(), getForm() );
        req.request.userdata = [ rec, pagePosition ];
        req.callback(resultHandleCopyCounts);
        req.send();
index 39b7301..a0aeafe 100644 (file)
@@ -76,6 +76,10 @@ function rresultCollectIds() {
                defaut:
                        var form = rresultGetForm();
                        var args = { format : form, org : getLocation(), depth : rresultGetDepth() };
+
+                       var lasso = getLasso();
+                       if (lasso) args.org = -lasso;
+
                        var req = new Request(FETCH_RIDS, getMrid(), args);
                        req.callback( rresultHandleRIds );
                        req.send();
@@ -210,6 +214,10 @@ function rresultHandleRIds(r) {
                rresultTries++;
                var form = rresultGetForm();
                var args = { format : form, org : getLocation(), depth : findOrgDepth(globalOrgTree) };
+
+               var lasso = getLasso();
+               if (lasso) args.org = -lasso;
+
                var req = new Request(FETCH_RIDS, getMrid(), args );
                req.callback( rresultHandleRIds );
                req.send();