From 3de21fdc3278d8b5b8d4a964c38acbd03ef2b55e Mon Sep 17 00:00:00 2001 From: Kyle Huckins Date: Wed, 22 May 2019 15:44:12 +0000 Subject: [PATCH] lp1616170 Magic Status Field - Add a text field for config.copy_status to input strings corresponsing to magical statuses. - Refactor volcopy status field to disable when magical status exists in a status, removing previous hardcoded check for magical status. Signed-off-by: Kyle Huckins Changes to be committed: modified: Open-ILS/examples/fm_IDL.xml modified: Open-ILS/src/sql/Pg/002.schema.config.sql modified: Open-ILS/src/sql/Pg/950.data.seed-values.sql modified: Open-ILS/src/sql/Pg/upgrade/XXXX.schema.lp1616170-custom-copy-status-maintainability.sql modified: Open-ILS/src/templates/staff/cat/volcopy/t_attr_edit.tt2 modified: Open-ILS/web/js/ui/default/staff/cat/volcopy/app.js --- Open-ILS/examples/fm_IDL.xml | 1 + Open-ILS/src/sql/Pg/002.schema.config.sql | 3 ++- Open-ILS/src/sql/Pg/950.data.seed-values.sql | 14 +++++++------- ...a.lp1616170-custom-copy-status-maintainability.sql | 11 ++++++++++- .../src/templates/staff/cat/volcopy/t_attr_edit.tt2 | 2 +- Open-ILS/web/js/ui/default/staff/cat/volcopy/app.js | 19 ------------------- 6 files changed, 21 insertions(+), 29 deletions(-) diff --git a/Open-ILS/examples/fm_IDL.xml b/Open-ILS/examples/fm_IDL.xml index b32dd02a80..1d5fe4dd74 100644 --- a/Open-ILS/examples/fm_IDL.xml +++ b/Open-ILS/examples/fm_IDL.xml @@ -4376,6 +4376,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + diff --git a/Open-ILS/src/sql/Pg/002.schema.config.sql b/Open-ILS/src/sql/Pg/002.schema.config.sql index 0f023633a2..1f17a3a455 100644 --- a/Open-ILS/src/sql/Pg/002.schema.config.sql +++ b/Open-ILS/src/sql/Pg/002.schema.config.sql @@ -445,7 +445,8 @@ CREATE TABLE config.copy_status ( is_available BOOL NOT NULL DEFAULT FALSE, checkin_ok BOOL NOT NULL DEFAULT FALSE, reshelve_on_checkin BOOL NOT NULL DEFAULT FALSE, - copy_status_event TEXT + copy_status_event TEXT, + magic_status TEXT ); COMMENT ON TABLE config.copy_status IS $$ Copy Statuses diff --git a/Open-ILS/src/sql/Pg/950.data.seed-values.sql b/Open-ILS/src/sql/Pg/950.data.seed-values.sql index 84867aec0a..5d091ee323 100644 --- a/Open-ILS/src/sql/Pg/950.data.seed-values.sql +++ b/Open-ILS/src/sql/Pg/950.data.seed-values.sql @@ -524,14 +524,14 @@ INSERT INTO config.rule_age_hold_protect VALUES SELECT SETVAL('config.rule_age_hold_protect_id_seq'::TEXT, 100); INSERT INTO config.copy_status (id,name,holdable,opac_visible,copy_active,is_available,checkin_ok,reshelve_on_checkin) VALUES (0,oils_i18n_gettext(0, 'Available', 'ccs', 'name'),'t','t','t','t','t','t'); -INSERT INTO config.copy_status (id,name,holdable,opac_visible,copy_active,restrict_copy_delete,checkin_ok,reshelve_on_checkin) VALUES (1,oils_i18n_gettext(1, 'Checked out', 'ccs', 'name'),'t','t','t','t','t','t',); +INSERT INTO config.copy_status (id,name,holdable,opac_visible,copy_active,restrict_copy_delete,checkin_ok,reshelve_on_checkin,magic_status) VALUES (1,oils_i18n_gettext(1, 'Checked out', 'ccs', 'name'),'t','t','t','t','t','t','copy_editor_disable,block_mark_action'); INSERT INTO config.copy_status (id,name) VALUES (2,oils_i18n_gettext(2, 'Bindery', 'ccs', 'name')); -INSERT INTO config.copy_status (id,name,restrict_copy_delete,copy_status_event) VALUES (3,oils_i18n_gettext(3, 'Lost', 'ccs', 'name'),'t','COPY_STATUS_LOST'); +INSERT INTO config.copy_status (id,name,restrict_copy_delete,copy_status_event,magic_status) VALUES (3,oils_i18n_gettext(3, 'Lost', 'ccs', 'name'),'t','COPY_STATUS_LOST','copy_editor_disable,block_mark_action'); INSERT INTO config.copy_status (id,name,copy_status_event) VALUES (4,oils_i18n_gettext(4, 'Missing', 'ccs', 'name'),'t'); INSERT INTO config.copy_status (id,name,holdable,opac_visible,checkin_ok,reshelve_on_checkin) VALUES (5,oils_i18n_gettext(5, 'In process', 'ccs', 'name'),'t','t','t','t'); -INSERT INTO config.copy_status (id,name,holdable,opac_visible,restrict_copy_delete,checkin_ok,reshelve_on_checkin) VALUES (6,oils_i18n_gettext(6, 'In transit', 'ccs', 'name'),'t','t','t','t','t'); +INSERT INTO config.copy_status (id,name,holdable,opac_visible,restrict_copy_delete,checkin_ok,reshelve_on_checkin,magic_status) VALUES (6,oils_i18n_gettext(6, 'In transit', 'ccs', 'name'),'t','t','t','t','t','copy_editor_disable,block_mark_action'); INSERT INTO config.copy_status (id,name,holdable,opac_visible,copy_active,is_available,checkin_ok,reshelve_on_checkin) VALUES (7,oils_i18n_gettext(7, 'Reshelving', 'ccs', 'name'),'t','t','t','t','t','t'); -INSERT INTO config.copy_status (id,name,holdable,opac_visible,copy_active,restrict_copy_delete,checkin_ok,reshelve_on_checkin) VALUES (8,oils_i18n_gettext(8, 'On holds shelf', 'ccs', 'name'),'t','t','t','t','t','t'); +INSERT INTO config.copy_status (id,name,holdable,opac_visible,copy_active,restrict_copy_delete,checkin_ok,reshelve_on_checkin,magic_status) VALUES (8,oils_i18n_gettext(8, 'On holds shelf', 'ccs', 'name'),'t','t','t','t','t','t','copy_editor_disable'); INSERT INTO config.copy_status (id,name,holdable,opac_visible) VALUES (9,oils_i18n_gettext(9, 'On order', 'ccs', 'name'),'t','t'); INSERT INTO config.copy_status (id,name,copy_active) VALUES (10,oils_i18n_gettext(10, 'ILL', 'ccs', 'name'),'t'); INSERT INTO config.copy_status (id,name,checkin_ok,reshelve_on_checkin) VALUES (11,oils_i18n_gettext(11, 'Cataloging', 'ccs', 'name'),'t','t'); @@ -540,12 +540,12 @@ INSERT INTO config.copy_status (id,name) VALUES (13,oils_i18n_gettext(13, 'Disca INSERT INTO config.copy_status (id,name) VALUES (14,oils_i18n_gettext(14, 'Damaged', 'ccs', 'name')); INSERT INTO config.copy_status (id,name,copy_active,checkin_ok,reshelve_on_checkin) VALUES (15,oils_i18n_gettext(15, 'On reservation shelf', 'ccs', 'name'),'t','t','t'); INSERT INTO config.copy_status - (id, name, holdable, opac_visible, copy_active, restrict_copy_delete, copy_status_event) - VALUES (16, oils_i18n_gettext(16, 'Long Overdue', 'ccs', 'name'), 'f', 'f', 'f', 't', 'COPY_STATUS_LONG_OVERDUE'); + (id, name, holdable, opac_visible, copy_active, restrict_copy_delete, copy_status_event,magic_status) + VALUES (16, oils_i18n_gettext(16, 'Long Overdue', 'ccs', 'name'), 'f', 'f', 'f', 't', 'COPY_STATUS_LONG_OVERDUE','copy_editor_disable,block_mark_action'); INSERT INTO config.copy_status (id, name, holdable, opac_visible, copy_active, restrict_copy_delete, copy_status_event) VALUES (17, oils_i18n_gettext(17, 'Lost and Paid', 'ccs', 'name'), 'f', 'f', 'f', 't', 'COPY_STATUS_LOST_AND_PAID'); -INSERT INTO config.copy_status(id,name,holdable,opac_visible,checkin_ok) VALUES (18,oils_i18n_gettext(18, 'Canceled Transit', 'ccs', 'name'),'t','t','t'); +INSERT INTO config.copy_status(id,name,holdable,opac_visible,checkin_ok,magic_status) VALUES (18,oils_i18n_gettext(18, 'Canceled Transit', 'ccs', 'name'),'t','t','t','copy_editor_disable'); SELECT SETVAL('config.copy_status_id_seq'::TEXT, 100); diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.lp1616170-custom-copy-status-maintainability.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.lp1616170-custom-copy-status-maintainability.sql index 6fa449a4b7..2a4fccabc6 100644 --- a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.lp1616170-custom-copy-status-maintainability.sql +++ b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.lp1616170-custom-copy-status-maintainability.sql @@ -5,7 +5,8 @@ SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version); ALTER TABLE config.copy_status ADD COLUMN checkin_ok BOOL NOT NULL DEFAULT FALSE, ADD COLUMN reshelve_on_checkin BOOL NOT NULL DEFAULT FALSE, - ADD COLUMN copy_status_event TEXT; + ADD COLUMN copy_status_event TEXT, + ADD COLUMN magic_status TEXT; -- Update checkin_ok UPDATE config.copy_status SET checkin_ok = true WHERE id = 0; @@ -33,5 +34,13 @@ ALTER TABLE config.copy_status UPDATE config.copy_status SET reshelve_on_checkin = true WHERE id = 8; UPDATE config.copy_status SET reshelve_on_checkin = true WHERE id = 11; UPDATE config.copy_status SET reshelve_on_checkin = true WHERE id = 15; + + -- UPDATE magic_status + UPDATE config.copy_status SET magic_status = 'copy_editor_disable,block_mark_action' WHERE id = 1; + UPDATE config.copy_status SET magic_status = 'copy_editor_disable,block_mark_action' WHERE id = 3; + UPDATE config.copy_status SET magic_status = 'copy_editor_disable,block_mark_action' WHERE id = 6; + UPDATE config.copy_status SET magic_status = 'copy_editor_disable' WHERE id = 8; + UPDATE config.copy_status SET magic_status = 'copy_editor_disable,block_mark_action' WHERE id = 16; + UPDATE config.copy_status SET magic_status = 'copy_editor_disable' WHERE id = 18; COMMIT; diff --git a/Open-ILS/src/templates/staff/cat/volcopy/t_attr_edit.tt2 b/Open-ILS/src/templates/staff/cat/volcopy/t_attr_edit.tt2 index 580ec61585..d927f2b43f 100644 --- a/Open-ILS/src/templates/staff/cat/volcopy/t_attr_edit.tt2 +++ b/Open-ILS/src/templates/staff/cat/volcopy/t_attr_edit.tt2 @@ -152,7 +152,7 @@
diff --git a/Open-ILS/web/js/ui/default/staff/cat/volcopy/app.js b/Open-ILS/web/js/ui/default/staff/cat/volcopy/app.js index c27170ac43..8d90a8ee8f 100644 --- a/Open-ILS/web/js/ui/default/staff/cat/volcopy/app.js +++ b/Open-ILS/web/js/ui/default/staff/cat/volcopy/app.js @@ -188,18 +188,6 @@ function(egCore , $q) { }; - service.get_magic_statuses = function() { - /* TODO: make these more configurable per lp1616170 */ - return $q.when([ - 1 /* Checked out */ - ,3 /* Lost */ - ,6 /* In transit */ - ,8 /* On holds shelf */ - ,16 /* Long overdue */ - ,18 /* Canceled Transit */ - ]); - } - service.get_statuses = function() { if (egCore.env.ccs) return $q.when(egCore.env.ccs.list); @@ -1921,10 +1909,6 @@ function($scope , $q , $window , $routeParams , $location , $timeout , egCore , createSimpleUpdateWatcher('location'); $scope.status_list = []; - itemSvc.get_magic_statuses().then(function(list){ - $scope.magic_status_list = list; - createSimpleUpdateWatcher('status',$scope.magic_status_list); - }); itemSvc.get_statuses().then(function(list){ $scope.status_list = list; }); @@ -2746,9 +2730,6 @@ function($scope , $q , $window , $routeParams , $location , $timeout , egCore , } $scope.status_list = []; - itemSvc.get_magic_statuses().then(function(list){ - $scope.magic_status_list = list; - }); itemSvc.get_statuses().then(function(list){ $scope.status_list = list; }); -- 2.11.0