[open-ils-commits] [GIT] Evergreen ILS branch rel_2_8 updated. bac5b646a52cedec5f5152ff69070611bfbba96a

Evergreen Git git at git.evergreen-ils.org
Fri Nov 13 16:17:09 EST 2015


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_8 has been updated
       via  bac5b646a52cedec5f5152ff69070611bfbba96a (commit)
       via  b669e3397a85b301fd98a0c7363fcee3b2c7ac80 (commit)
       via  32838d5faef842d22b715c8768695745cb31e015 (commit)
      from  ec852021bad593cd100b5a2d7cc53afc4dbc4b66 (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 bac5b646a52cedec5f5152ff69070611bfbba96a
Author: Jason Stephenson <jstephenson at mvlc.org>
Date:   Fri Nov 13 16:12:46 2015 -0500

    LP#1513554 - Stamping Upgrade Script
    
    Signed-off-by: Jason Stephenson <jstephenson at mvlc.org>

diff --git a/Open-ILS/src/sql/Pg/002.schema.config.sql b/Open-ILS/src/sql/Pg/002.schema.config.sql
index e7f6804..ca4950d 100644
--- a/Open-ILS/src/sql/Pg/002.schema.config.sql
+++ b/Open-ILS/src/sql/Pg/002.schema.config.sql
@@ -91,7 +91,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 ('0948', :eg_version); -- miker/gmcharlt/remington/bshum
+INSERT INTO config.upgrade_log (version, applied_to) VALUES ('0949', :eg_version); -- csharp/kmlussier/dyrcona
 
 CREATE TABLE config.bib_source (
 	id		SERIAL	PRIMARY KEY,
diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.no_delete_acq_cancel_reasons.sql b/Open-ILS/src/sql/Pg/upgrade/0949.schema.no_delete_acq_cancel_reasons.sql
similarity index 90%
rename from Open-ILS/src/sql/Pg/upgrade/XXXX.schema.no_delete_acq_cancel_reasons.sql
rename to Open-ILS/src/sql/Pg/upgrade/0949.schema.no_delete_acq_cancel_reasons.sql
index 54581fc..eeceaf7 100644
--- a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.no_delete_acq_cancel_reasons.sql
+++ b/Open-ILS/src/sql/Pg/upgrade/0949.schema.no_delete_acq_cancel_reasons.sql
@@ -1,6 +1,6 @@
 BEGIN;
 
-SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version);
+SELECT evergreen.upgrade_deps_block_check('0949', :eg_version);
 
 CREATE OR REPLACE FUNCTION evergreen.protect_reserved_rows_from_delete() RETURNS trigger AS $protect_reserved$
 BEGIN

commit b669e3397a85b301fd98a0c7363fcee3b2c7ac80
Author: Kathy Lussier <klussier at masslnc.org>
Date:   Sun Nov 8 09:47:58 2015 -0500

    LP#1513554 - Doc update for cancel reason selection
    
    Adding an update to the docs to inform users that default cancel reasons
    cannot be selected.
    
    Signed-off-by: Kathy Lussier <klussier at masslnc.org>
    Signed-off-by: Jason Stephenson <jstephenson at mvlc.org>

diff --git a/docs/admin/acquisitions_admin.txt b/docs/admin/acquisitions_admin.txt
index 89b0669..a741a04 100644
--- a/docs/admin/acquisitions_admin.txt
+++ b/docs/admin/acquisitions_admin.txt
@@ -38,7 +38,7 @@ in the acquisitions module
 * Temporary call number prefix - Temporary call number prefix for items that are
 created in the acquisitions module
 
-Cancel/Suspend reasons
+Cancel/Delay reasons
 ~~~~~~~~~~~~~~~~~~~~~~
 
 indexterm:[acquisitions,purchase order,cancellation]
@@ -48,12 +48,12 @@ The Cancel reasons link enables you to predefine the reasons for which a line
 item or a PO can be cancelled. A default list of reasons appears, but you can
 add custom reasons to this list. Applying the cancel reason will prevent the
 item from appearing in a claims list and will allow you to cancel debits
-associated with the purchase. Cancel reasons also enable you to suspend or delay
+associated with the purchase. Cancel reasons also enable you to delay
 a purchase. For example, you could create a cancel reason of 'back ordered,' and
 you could choose to keep the debits associated with the purchase.
 
-Create a cancel/suspend reason
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Create a cancel/delay reason
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 . To add a new cancel reason, click _Administration -> Server Administration ->
 Acquisitions -> Cancel reasons_.
@@ -70,13 +70,27 @@ Units.)
 cancel reason on an item or a PO.
 
 . Create a description of the cancel reason. This is a free text field and can
-be comprised of any text of your choosing.
+comprise any text of your choosing.
 
 . If you want to retain the debits associated with the cancelled purchase, click
 the box adjacent to Keep Debits->
 
 . Click _Save_.
 
+Delete a custom cancel/delay reason
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+You can delete custom cancel reason.
+
+. Select the checkbox for the custom cancel reason that should be deleted.
+
+. Click the _Delete Selected_ button.
+
+[TIP]
+You cannot select the checkbox for any of the default cancel reasons because the
+system expects those reasons to be available to handle EDI order responses. 
+
+
 Claiming
 ~~~~~~~~
 

commit 32838d5faef842d22b715c8768695745cb31e015
Author: Chris Sharp <csharp at georgialibraries.org>
Date:   Thu Nov 5 13:30:51 2015 -0500

    LP#1513554 - Prevent deletion of reserved rows.
    
    It was previously possible to delete reserved rows in
    the acq.cancel_reasons table via the UI.  We take a belt
    and suspenders approach here:
    
    1) Grey out the checkboxes beside cancel reasons with an
       ID lower than 2000.
    2) Create a trigger on the acq.cancel_reason table that
       prevents deletion of rows with an ID lower than 2000.
    
    The trigger executes a new generally available function
    for use in similar situations in the future.
    
    Signed-off-by: Chris Sharp <csharp at georgialibraries.org>
    Signed-off-by: Kathy Lussier <klussier at masslnc.org>
    Signed-off-by: Jason Stephenson <jstephenson at mvlc.org>

diff --git a/Open-ILS/src/sql/Pg/000.functions.general.sql b/Open-ILS/src/sql/Pg/000.functions.general.sql
index d62bd70..0cfa909 100644
--- a/Open-ILS/src/sql/Pg/000.functions.general.sql
+++ b/Open-ILS/src/sql/Pg/000.functions.general.sql
@@ -76,4 +76,13 @@ $$ LANGUAGE PLPERLU;
 COMMENT ON FUNCTION evergreen.could_be_serial_holding_code(TEXT) IS
     'Return true if parameter is valid JSON representing an array that at minimum doesn''t make MARC::Field balk and only has subfield labels exactly one character long.  Otherwise false.';
 
+CREATE OR REPLACE FUNCTION evergreen.protect_reserved_rows_from_delete() RETURNS trigger AS $protect_reserved$
+BEGIN
+IF OLD.id < TG_ARGV[0]::INT THEN
+    RAISE EXCEPTION 'Cannot delete row with reserved ID %', OLD.id;
+END IF;
+END
+$protect_reserved$
+LANGUAGE plpgsql;
+
 COMMIT;
diff --git a/Open-ILS/src/sql/Pg/200.schema.acq.sql b/Open-ILS/src/sql/Pg/200.schema.acq.sql
index 7d04f78..f196062 100644
--- a/Open-ILS/src/sql/Pg/200.schema.acq.sql
+++ b/Open-ILS/src/sql/Pg/200.schema.acq.sql
@@ -358,6 +358,11 @@ CREATE TABLE acq.cancel_reason (
 
 SELECT SETVAL('acq.cancel_reason_id_seq'::TEXT, 2000);
 
+DROP TRIGGER IF EXISTS acq_no_deleted_reserved_cancel_reasons ON acq.cancel_reason;
+
+CREATE TRIGGER acq_no_deleted_reserved_cancel_reasons BEFORE DELETE ON acq.cancel_reason
+    FOR EACH ROW EXECUTE PROCEDURE evergreen.protect_reserved_rows_from_delete(2000);
+
 CREATE TABLE acq.purchase_order (
 	id		SERIAL				PRIMARY KEY,
 	owner		INT				NOT NULL REFERENCES actor.usr (id) DEFERRABLE INITIALLY DEFERRED,
diff --git a/Open-ILS/src/sql/Pg/t/lp1513554_do_not_delete_reserved_cancel_reasons.pg b/Open-ILS/src/sql/Pg/t/lp1513554_do_not_delete_reserved_cancel_reasons.pg
new file mode 100644
index 0000000..8042860
--- /dev/null
+++ b/Open-ILS/src/sql/Pg/t/lp1513554_do_not_delete_reserved_cancel_reasons.pg
@@ -0,0 +1,13 @@
+BEGIN;
+
+SELECT plan(1);
+
+SELECT throws_ok(
+    'delete from acq.cancel_reason where id = 1', 
+    'P0001', 
+    'Cannot delete row with reserved ID 1'
+);
+
+SELECT * FROM finish();
+
+ROLLBACK;
diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.no_delete_acq_cancel_reasons.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.no_delete_acq_cancel_reasons.sql
new file mode 100644
index 0000000..54581fc
--- /dev/null
+++ b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.no_delete_acq_cancel_reasons.sql
@@ -0,0 +1,21 @@
+BEGIN;
+
+SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version);
+
+CREATE OR REPLACE FUNCTION evergreen.protect_reserved_rows_from_delete() RETURNS trigger AS $protect_reserved$
+BEGIN
+IF OLD.id < TG_ARGV[0]::INT THEN
+    RAISE EXCEPTION 'Cannot delete row with reserved ID %', OLD.id; 
+END IF;
+END
+$protect_reserved$
+LANGUAGE plpgsql;
+
+DROP TRIGGER IF EXISTS acq_no_deleted_reserved_cancel_reasons ON acq.cancel_reason;
+
+CREATE TRIGGER acq_no_deleted_reserved_cancel_reasons BEFORE DELETE ON acq.cancel_reason
+    FOR EACH ROW EXECUTE PROCEDURE evergreen.protect_reserved_rows_from_delete(2000);
+
+ALTER TABLE acq.cancel_reason ENABLE TRIGGER acq_no_deleted_reserved_cancel_reasons;
+
+COMMIT;
diff --git a/Open-ILS/web/js/ui/default/conify/global/acq/cancel_reason.js b/Open-ILS/web/js/ui/default/conify/global/acq/cancel_reason.js
index 6cd329f..86d8c61 100644
--- a/Open-ILS/web/js/ui/default/conify/global/acq/cancel_reason.js
+++ b/Open-ILS/web/js/ui/default/conify/global/acq/cancel_reason.js
@@ -19,6 +19,11 @@ function setup() {
         );
     };
 
+    crGrid.disableSelectorForRow = function(rowIdx) {
+        var item = crGrid.getItem(rowIdx);
+        return (crGrid.store.getValue(item, 'id') < 2000);
+    }
+
     new openils.User().buildPermOrgSelector(
         'ADMIN_ACQ_CANCEL_CAUSE', contextOrgSelector, null, connect);
 }

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

Summary of changes:
 Open-ILS/src/sql/Pg/000.functions.general.sql      |    9 +++++++
 Open-ILS/src/sql/Pg/002.schema.config.sql          |    2 +-
 Open-ILS/src/sql/Pg/200.schema.acq.sql             |    5 ++++
 ...513554_do_not_delete_reserved_cancel_reasons.pg |   13 ++++++++++
 .../0949.schema.no_delete_acq_cancel_reasons.sql   |   21 +++++++++++++++++
 .../ui/default/conify/global/acq/cancel_reason.js  |    5 ++++
 docs/admin/acquisitions_admin.txt                  |   24 +++++++++++++++----
 7 files changed, 73 insertions(+), 6 deletions(-)
 create mode 100644 Open-ILS/src/sql/Pg/t/lp1513554_do_not_delete_reserved_cancel_reasons.pg
 create mode 100644 Open-ILS/src/sql/Pg/upgrade/0949.schema.no_delete_acq_cancel_reasons.sql


hooks/post-receive
-- 
Evergreen ILS


More information about the open-ils-commits mailing list