[open-ils-commits] [GIT] Evergreen ILS branch master updated. 1488f22019cedc93f464a06749506b1a2e30a0bd

Evergreen Git git at git.evergreen-ils.org
Thu Jul 12 09:40:13 EDT 2018


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, master has been updated
       via  1488f22019cedc93f464a06749506b1a2e30a0bd (commit)
       via  665bd1dcab3ad87b42f94ff000078d9cb545fe91 (commit)
      from  c1fac20422420e8a11cb950741f32b2f39fa4918 (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 1488f22019cedc93f464a06749506b1a2e30a0bd
Author: Mike Rylander <mrylander at gmail.com>
Date:   Thu Jul 12 09:39:36 2018 -0400

    Stamping upgrade script
    
    Signed-off-by: Mike Rylander <mrylander at gmail.com>

diff --git a/Open-ILS/src/sql/Pg/002.schema.config.sql b/Open-ILS/src/sql/Pg/002.schema.config.sql
index c71db97..5527d7d 100644
--- a/Open-ILS/src/sql/Pg/002.schema.config.sql
+++ b/Open-ILS/src/sql/Pg/002.schema.config.sql
@@ -92,7 +92,7 @@ CREATE TRIGGER no_overlapping_deps
     BEFORE INSERT OR UPDATE ON config.db_patch_dependencies
     FOR EACH ROW EXECUTE PROCEDURE evergreen.array_overlap_check ('deprecates');
 
-INSERT INTO config.upgrade_log (version, applied_to) VALUES ('1113', :eg_version); -- Dyrcona/csharp/miker
+INSERT INTO config.upgrade_log (version, applied_to) VALUES ('1114', :eg_version); -- JBoyer/miker
 
 CREATE TABLE config.bib_source (
 	id		SERIAL	PRIMARY KEY,
diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.function.asset.copy_state-update.sql b/Open-ILS/src/sql/Pg/upgrade/1114.function.asset.copy_state-update.sql
similarity index 94%
rename from Open-ILS/src/sql/Pg/upgrade/XXXX.function.asset.copy_state-update.sql
rename to Open-ILS/src/sql/Pg/upgrade/1114.function.asset.copy_state-update.sql
index 8ddf6cb..f288fd7 100644
--- a/Open-ILS/src/sql/Pg/upgrade/XXXX.function.asset.copy_state-update.sql
+++ b/Open-ILS/src/sql/Pg/upgrade/1114.function.asset.copy_state-update.sql
@@ -1,6 +1,6 @@
 BEGIN;
 
-SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version);
+SELECT evergreen.upgrade_deps_block_check('1114', :eg_version);
 
 CREATE OR REPLACE FUNCTION asset.copy_state (cid BIGINT) RETURNS TEXT AS $$
 DECLARE

commit 665bd1dcab3ad87b42f94ff000078d9cb545fe91
Author: Jason Boyer <jboyer at library.in.gov>
Date:   Thu Jun 21 07:17:48 2018 -0400

    LP1773452: Repeating copy alerts
    
    Without considering the checkin_time on the most
    recent circ for an item, checking in a lost, claims
    returned, or claims never checked out item would
    cause copy alerts on checkin repeatedly until it
    was checked out again. Staff may be confused by this
    thinking that there is a continuing problem with
    the item until the alerts go away.
    
    Signed-off-by: Jason Boyer <jboyer at library.in.gov>
    Signed-off-by: Jennifer Pringle <jennifer.pringle at bc.libraries.coop>
    Signed-off-by: Mike Rylander <mrylander at gmail.com>

diff --git a/Open-ILS/src/sql/Pg/040.schema.asset.sql b/Open-ILS/src/sql/Pg/040.schema.asset.sql
index 24dda3c..a7870aa 100644
--- a/Open-ILS/src/sql/Pg/040.schema.asset.sql
+++ b/Open-ILS/src/sql/Pg/040.schema.asset.sql
@@ -1008,7 +1008,7 @@ BEGIN
 
     SELECT stop_fines INTO last_circ_stop
       FROM  action.circulation
-      WHERE target_copy = cid
+      WHERE target_copy = cid AND checkin_time IS NULL
       ORDER BY xact_start DESC LIMIT 1;
 
     IF FOUND THEN
diff --git a/Open-ILS/src/sql/Pg/t/regress/lp1773452_copy_state_post_checkin.pg b/Open-ILS/src/sql/Pg/t/regress/lp1773452_copy_state_post_checkin.pg
new file mode 100644
index 0000000..6a6f2e8
--- /dev/null
+++ b/Open-ILS/src/sql/Pg/t/regress/lp1773452_copy_state_post_checkin.pg
@@ -0,0 +1,20 @@
+BEGIN;
+
+SELECT plan(2);
+
+INSERT INTO asset.copy (id,circ_lib,creator,loan_duration,fine_level,call_number,editor,barcode,dummy_title,dummy_author)
+  VALUES (8765309,1,1,2,2,-1,1,'8765309','Spooky Dance','Steve Bachman');
+
+INSERT INTO action.circulation (id,usr,target_copy,circ_lib,circ_staff,renewal_remaining,
+    duration_rule,recurring_fine_rule,max_fine_rule,stop_fines,grace_period)
+  VALUES (8765309,1,8765309,1,1,0,
+    1,1,1,'LONGOVERDUE','0 hours');
+
+SELECT is(asset.copy_state(8765309),'LONGOVERDUE', 'Copy state is LONGOVERDUE when stop_fines='LONGOVERDUE' and checkin_time is null');
+
+-- Our long overdue item has returned!
+UPDATE action.circulation SET checkin_time=now() WHERE id=8765309;
+
+SELECT is(asset.copy_state(8765309),'NORMAL', 'Copy state is NORMAL when stop_fines='LONGOVERDUE' and checkin_time is not null');
+
+ROLLBACK;
diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.function.asset.copy_state-update.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.function.asset.copy_state-update.sql
new file mode 100644
index 0000000..8ddf6cb
--- /dev/null
+++ b/Open-ILS/src/sql/Pg/upgrade/XXXX.function.asset.copy_state-update.sql
@@ -0,0 +1,44 @@
+BEGIN;
+
+SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version);
+
+CREATE OR REPLACE FUNCTION asset.copy_state (cid BIGINT) RETURNS TEXT AS $$
+DECLARE
+    last_circ_stop      TEXT;
+    the_copy        asset.copy%ROWTYPE;
+BEGIN
+
+    SELECT * INTO the_copy FROM asset.copy WHERE id = cid;
+    IF NOT FOUND THEN RETURN NULL; END IF;
+
+    IF the_copy.status = 3 THEN -- Lost
+        RETURN 'LOST';
+    ELSIF the_copy.status = 4 THEN -- Missing
+        RETURN 'MISSING';
+    ELSIF the_copy.status = 14 THEN -- Damaged
+        RETURN 'DAMAGED';
+    ELSIF the_copy.status = 17 THEN -- Lost and paid
+        RETURN 'LOST_AND_PAID';
+    END IF;
+
+    SELECT stop_fines INTO last_circ_stop
+      FROM  action.circulation
+      WHERE target_copy = cid AND checkin_time IS NULL
+      ORDER BY xact_start DESC LIMIT 1;
+
+    IF FOUND THEN
+        IF last_circ_stop IN (
+            'CLAIMSNEVERCHECKEDOUT',
+            'CLAIMSRETURNED',
+            'LONGOVERDUE'
+        ) THEN
+            RETURN last_circ_stop;
+        END IF;
+    END IF;
+
+    RETURN 'NORMAL';
+END;
+$$ LANGUAGE PLPGSQL;
+
+COMMIT;
+

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

Summary of changes:
 Open-ILS/src/sql/Pg/002.schema.config.sql          |    2 +-
 Open-ILS/src/sql/Pg/040.schema.asset.sql           |    2 +-
 .../t/regress/lp1773452_copy_state_post_checkin.pg |   20 +++++++++
 .../1114.function.asset.copy_state-update.sql      |   44 ++++++++++++++++++++
 4 files changed, 66 insertions(+), 2 deletions(-)
 create mode 100644 Open-ILS/src/sql/Pg/t/regress/lp1773452_copy_state_post_checkin.pg
 create mode 100644 Open-ILS/src/sql/Pg/upgrade/1114.function.asset.copy_state-update.sql


hooks/post-receive
-- 
Evergreen ILS


More information about the open-ils-commits mailing list