[open-ils-commits] [GIT] Evergreen ILS branch rel_2_1 updated. e3fd5900b8743458c48876a87304087c1d4c025f

Evergreen Git git at git.evergreen-ils.org
Tue Aug 16 11:19:25 EDT 2011


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Evergreen ILS".

The branch, rel_2_1 has been updated
       via  e3fd5900b8743458c48876a87304087c1d4c025f (commit)
       via  1edf295d3a4d4dced891513323d13bbd3a08e568 (commit)
       via  0daa9d86745a89b3899cb1cb8830fe659d07b3b9 (commit)
      from  972f114b9e136d65cc55f012c78a4e2f7edd1827 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit e3fd5900b8743458c48876a87304087c1d4c025f
Author: Mike Rylander <mrylander at gmail.com>
Date:   Tue Aug 16 11:14:58 2011 -0400

    Stamped upgrade scripts for LP#790329
    
    Signed-off-by: Mike Rylander <mrylander at gmail.com>

diff --git a/Open-ILS/src/sql/Pg/upgrade/0602.schema.lp790329_opac_copy_count.sql b/Open-ILS/src/sql/Pg/upgrade/0602.schema.lp790329_opac_copy_count.sql
index fe80553..9878271 100644
--- a/Open-ILS/src/sql/Pg/upgrade/0602.schema.lp790329_opac_copy_count.sql
+++ b/Open-ILS/src/sql/Pg/upgrade/0602.schema.lp790329_opac_copy_count.sql
@@ -1,4 +1,4 @@
 
 -- Placeholder for 2.0-only changes
-SELECT evergreen.upgrade_deps_block_check('0601', :eg_version);
+INSERT INTO config.upgrade_log (version) VALUES ('0602');
 
diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.lp790329_opac_lasso_counts.sql b/Open-ILS/src/sql/Pg/upgrade/0603.schema.lp790329_opac_lasso_counts.sql
similarity index 95%
rename from Open-ILS/src/sql/Pg/upgrade/XXXX.lp790329_opac_lasso_counts.sql
rename to Open-ILS/src/sql/Pg/upgrade/0603.schema.lp790329_opac_lasso_counts.sql
index da3241e..ae25bce 100644
--- a/Open-ILS/src/sql/Pg/upgrade/XXXX.lp790329_opac_lasso_counts.sql
+++ b/Open-ILS/src/sql/Pg/upgrade/0603.schema.lp790329_opac_lasso_counts.sql
@@ -7,7 +7,7 @@ BEGIN;
 
 
 -- check whether patch can be applied
-SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version);
+INSERT INTO config.upgrade_log (version) VALUES ('0603');
 
 -- FIXME: add/check SQL statements to perform the upgrade
 CREATE OR REPLACE FUNCTION asset.opac_lasso_record_copy_count (i_lasso INT, rid BIGINT) RETURNS TABLE (depth INT, org_unit INT, visible BIGINT, available BIGINT, unshadow BIGINT, transcendant INT) AS $f$
diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.lp790329_staff_opac_lasso_counts.sql b/Open-ILS/src/sql/Pg/upgrade/0604.schema.lp790329_staff_opac_lasso_counts.sql
similarity index 95%
rename from Open-ILS/src/sql/Pg/upgrade/XXXX.lp790329_staff_opac_lasso_counts.sql
rename to Open-ILS/src/sql/Pg/upgrade/0604.schema.lp790329_staff_opac_lasso_counts.sql
index 70b81ac..7053c8c 100644
--- a/Open-ILS/src/sql/Pg/upgrade/XXXX.lp790329_staff_opac_lasso_counts.sql
+++ b/Open-ILS/src/sql/Pg/upgrade/0604.schema.lp790329_staff_opac_lasso_counts.sql
@@ -6,7 +6,7 @@
 BEGIN;
 
 -- check whether patch can be applied
-SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version);
+INSERT INTO config.upgrade_log (version) VALUES ('0604');
 
 CREATE OR REPLACE FUNCTION asset.staff_lasso_record_copy_count (i_lasso INT, rid BIGINT) RETURNS TABLE (depth INT, org_unit INT, visible BIGINT, available BIGINT, unshadow BIGINT, transcendant INT) AS $f$
 DECLARE

commit 1edf295d3a4d4dced891513323d13bbd3a08e568
Author: Dan Scott <dan at coffeecode.net>
Date:   Thu Jul 28 14:29:48 2011 -0400

    LP#790329 org_lasso search is broken
    
    Fix the JavaScript error when we attempt to create a feed for the
    shortname of the org_unit_lasso (lassos have no shortname) - which lets
    the request hit the backend Perl module, which in turn chokes on a test
    for OU that only allows two conditions: either all digits is treated as
    a numeric ID for an org unit, or it is a shortname. Of course, lassos
    are negative integers, so we have to modify the test slightly to make it
    happier.
    
    There was no depth for org lasso copy counts, and this was handled
    correctly in the main case by the asset.opac_lasso_record_copy_count()
    function and its staff variant, but when a copy was not found at a given
    org_unit in the lasso a request was made for the non-existent depth and
    the function would error out.
    
    Signed-off-by: Dan Scott <dscott at laurentian.ca>
    Signed-off-by: Mike Rylander <mrylander at gmail.com>

diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/metabib.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/metabib.pm
index 613d5f7..acdc0c2 100644
--- a/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/metabib.pm
+++ b/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/metabib.pm
@@ -2906,7 +2906,7 @@ sub query_parser_fts {
 	if (my ($filter) = $query->parse_tree->find_filter('site')) {
             $ou = $filter->args->[0] if (@{$filter->args});
     }
-	$ou = actor::org_unit->search( { shortname => $ou } )->next->id if ($ou and $ou !~ /^\d+$/);
+    $ou = actor::org_unit->search( { shortname => $ou } )->next->id if ($ou and $ou !~ /^(-)?\d+$/);
 
 
     # gather lasso, as with $ou
diff --git a/Open-ILS/src/sql/Pg/040.schema.asset.sql b/Open-ILS/src/sql/Pg/040.schema.asset.sql
index 165eb7d..2727bab 100644
--- a/Open-ILS/src/sql/Pg/040.schema.asset.sql
+++ b/Open-ILS/src/sql/Pg/040.schema.asset.sql
@@ -475,7 +475,7 @@ BEGIN
           GROUP BY 1,2,6;
 
         IF NOT FOUND THEN
-            RETURN QUERY SELECT ans.depth, ans.id, 0::BIGINT, 0::BIGINT, 0::BIGINT, trans;
+            RETURN QUERY SELECT -1, ans.id, 0::BIGINT, 0::BIGINT, 0::BIGINT, trans;
         END IF;
 
     END LOOP;   
@@ -537,7 +537,7 @@ BEGIN
           GROUP BY 1,2,6;
 
         IF NOT FOUND THEN
-            RETURN QUERY SELECT ans.depth, ans.id, 0::BIGINT, 0::BIGINT, 0::BIGINT, trans;
+            RETURN QUERY SELECT -1, ans.id, 0::BIGINT, 0::BIGINT, 0::BIGINT, trans;
         END IF;
 
     END LOOP;
diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.lp790329_opac_lasso_counts.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.lp790329_opac_lasso_counts.sql
new file mode 100644
index 0000000..da3241e
--- /dev/null
+++ b/Open-ILS/src/sql/Pg/upgrade/XXXX.lp790329_opac_lasso_counts.sql
@@ -0,0 +1,46 @@
+-- Evergreen DB patch XXXX.lp790329_opac_lasso_counts.sql
+--
+-- Resolves an error in calculating copy counts for org lassos
+-- Per LP 790329
+--
+BEGIN;
+
+
+-- check whether patch can be applied
+SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version);
+
+-- FIXME: add/check SQL statements to perform the upgrade
+CREATE OR REPLACE FUNCTION asset.opac_lasso_record_copy_count (i_lasso INT, rid BIGINT) RETURNS TABLE (depth INT, org_unit INT, visible BIGINT, available BIGINT, unshadow BIGINT, transcendant INT) AS $f$
+DECLARE
+    ans RECORD;
+    trans INT;
+BEGIN
+    SELECT 1 INTO trans FROM biblio.record_entry b JOIN config.bib_source src ON (b.source = src.id) WHERE src.transcendant AND b.id = rid;
+
+    FOR ans IN SELECT u.org_unit AS id FROM actor.org_lasso_map AS u WHERE lasso = i_lasso LOOP
+        RETURN QUERY
+        SELECT  -1,
+                ans.id,
+                COUNT( av.id ),
+                SUM( CASE WHEN cp.status IN (0,7,12) THEN 1 ELSE 0 END ),
+                COUNT( av.id ),
+                trans
+          FROM
+                actor.org_unit_descendants(ans.id) d
+                JOIN asset.opac_visible_copies av ON (av.record = rid AND av.circ_lib = d.id)
+                JOIN asset.copy cp ON (cp.id = av.copy_id)
+          GROUP BY 1,2,6;
+
+        IF NOT FOUND THEN
+            RETURN QUERY SELECT -1, ans.id, 0::BIGINT, 0::BIGINT, 0::BIGINT, trans;
+        END IF;
+
+    END LOOP;   
+                
+    RETURN;     
+END;            
+$f$ LANGUAGE PLPGSQL;
+
+
+
+COMMIT;
diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.lp790329_staff_opac_lasso_counts.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.lp790329_staff_opac_lasso_counts.sql
new file mode 100644
index 0000000..70b81ac
--- /dev/null
+++ b/Open-ILS/src/sql/Pg/upgrade/XXXX.lp790329_staff_opac_lasso_counts.sql
@@ -0,0 +1,42 @@
+-- Evergreen DB patch XXXX.lp790329_staff_opac_lasso_counts.sql
+--
+-- Staff record copy counts also triggered an SQL error for org lassos
+-- Per LP790329
+--
+BEGIN;
+
+-- check whether patch can be applied
+SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version);
+
+CREATE OR REPLACE FUNCTION asset.staff_lasso_record_copy_count (i_lasso INT, rid BIGINT) RETURNS TABLE (depth INT, org_unit INT, visible BIGINT, available BIGINT, unshadow BIGINT, transcendant INT) AS $f$
+DECLARE
+    ans RECORD;
+    trans INT;
+BEGIN
+    SELECT 1 INTO trans FROM biblio.record_entry b JOIN config.bib_source src ON (b.source = src.id) WHERE src.transcendant AND b.id = rid;
+
+    FOR ans IN SELECT u.org_unit AS id FROM actor.org_lasso_map AS u WHERE lasso = i_lasso LOOP
+        RETURN QUERY
+        SELECT  -1,
+                ans.id,
+                COUNT( cp.id ),
+                SUM( CASE WHEN cp.status IN (0,7,12) THEN 1 ELSE 0 END ),
+                COUNT( cp.id ),
+                trans
+          FROM
+                actor.org_unit_descendants(ans.id) d
+                JOIN asset.copy cp ON (cp.circ_lib = d.id AND NOT cp.deleted)
+                JOIN asset.call_number cn ON (cn.record = rid AND cn.id = cp.call_number AND NOT cn.deleted)
+          GROUP BY 1,2,6;
+
+        IF NOT FOUND THEN
+            RETURN QUERY SELECT -1, ans.id, 0::BIGINT, 0::BIGINT, 0::BIGINT, trans;
+        END IF;
+
+    END LOOP;
+
+    RETURN;
+END;
+$f$ LANGUAGE PLPGSQL;
+
+COMMIT;
diff --git a/Open-ILS/web/opac/skin/default/js/result_common.js b/Open-ILS/web/opac/skin/default/js/result_common.js
index 1d25381..baf10ef 100644
--- a/Open-ILS/web/opac/skin/default/js/result_common.js
+++ b/Open-ILS/web/opac/skin/default/js/result_common.js
@@ -96,11 +96,14 @@ function resultCollectSearchIds( type, method, handler ) {
 	_debug('Search args: ' + js2JSON(args));
 	_debug('Raw query: ' + getTerm());
 
-	var atomfeed = "/opac/extras/opensearch/1.1/" + findOrgUnit(args.org_unit).shortname() + "/atom-full/" + getStype() + '?searchTerms=' + getTerm();
-	if (args.facets) { atomfeed += ' ' + args.facets; }
-	if (sort) { atomfeed += '&searchSort=' + sort; }
-	if (sortdir) { atomfeed += '&searchSortDir=' + sortdir; }
-	dojo.create('link', {"rel":"alternate", "href":atomfeed, "type":"application/atom+xml"}, dojo.query('head')[0]);
+	var my_ou = findOrgUnit(args.org_unit);
+	if (my_ou && my_ou.shortname()) {
+		var atomfeed = "/opac/extras/opensearch/1.1/" + my_ou.shortname() + "/atom-full/" + getStype() + '?searchTerms=' + getTerm();
+		if (args.facets) { atomfeed += ' ' + args.facets; }
+		if (sort) { atomfeed += '&searchSort=' + sort; }
+		if (sortdir) { atomfeed += '&searchSortDir=' + sortdir; }
+		dojo.create('link', {"rel":"alternate", "href":atomfeed, "type":"application/atom+xml"}, dojo.query('head')[0]);
+	}
 
 	var req = new Request(method, args, getTerm(), 1);
 	req.callback(handler);

commit 0daa9d86745a89b3899cb1cb8830fe659d07b3b9
Author: Mike Rylander <mrylander at gmail.com>
Date:   Tue Aug 16 11:08:02 2011 -0400

    Placeholder for 2.0-only LP#790329 fix
    
    Signed-off-by: Mike Rylander <mrylander at gmail.com>

diff --git a/Open-ILS/src/sql/Pg/upgrade/0602.schema.lp790329_opac_copy_count.sql b/Open-ILS/src/sql/Pg/upgrade/0602.schema.lp790329_opac_copy_count.sql
new file mode 100644
index 0000000..fe80553
--- /dev/null
+++ b/Open-ILS/src/sql/Pg/upgrade/0602.schema.lp790329_opac_copy_count.sql
@@ -0,0 +1,4 @@
+
+-- Placeholder for 2.0-only changes
+SELECT evergreen.upgrade_deps_block_check('0601', :eg_version);
+

-----------------------------------------------------------------------

Summary of changes:
 .../Application/Storage/Publisher/metabib.pm       |    2 +-
 Open-ILS/src/sql/Pg/040.schema.asset.sql           |    4 +-
 .../0602.schema.lp790329_opac_copy_count.sql       |    4 ++
 .../0603.schema.lp790329_opac_lasso_counts.sql     |   46 ++++++++++++++++++++
 ...604.schema.lp790329_staff_opac_lasso_counts.sql |   42 ++++++++++++++++++
 Open-ILS/web/opac/skin/default/js/result_common.js |   13 +++--
 6 files changed, 103 insertions(+), 8 deletions(-)
 create mode 100644 Open-ILS/src/sql/Pg/upgrade/0602.schema.lp790329_opac_copy_count.sql
 create mode 100644 Open-ILS/src/sql/Pg/upgrade/0603.schema.lp790329_opac_lasso_counts.sql
 create mode 100644 Open-ILS/src/sql/Pg/upgrade/0604.schema.lp790329_staff_opac_lasso_counts.sql


hooks/post-receive
-- 
Evergreen ILS


More information about the open-ils-commits mailing list