[open-ils-commits] [GIT] Evergreen ILS branch master updated. 0fd044ba5e38344d6aa3e0f201d84467e9925093

Evergreen Git git at git.evergreen-ils.org
Fri Nov 13 16:13:20 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, master has been updated
       via  0fd044ba5e38344d6aa3e0f201d84467e9925093 (commit)
       via  f6d9c1e6f7fbc2217315df45590ddfa2f544e288 (commit)
       via  f84c75b26d13065e90104609a6e7e193392c123a (commit)
      from  066232c2fcda409c43aa9d4a2230fc9cb73f6af5 (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 0fd044ba5e38344d6aa3e0f201d84467e9925093
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 3a009ea..31f73c4 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 f6d9c1e6f7fbc2217315df45590ddfa2f544e288
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 f84c75b26d13065e90104609a6e7e193392c123a
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 3405ad2..0359ed7 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