From bd8287a2311d2cb26ac214f3baa6c34fb3d2807a Mon Sep 17 00:00:00 2001 From: Agustin Moyano Date: Sun, 24 Mar 2019 22:50:42 -0300 Subject: [PATCH] Bug 22284: New ft_local_hold_group column, and 'holgroup' enum option In order to add groups for holds, this patch provides a new column in library_groups to identify them. Also provides new enum option for hold_fulfillment_policy column of default_branch_circ_rules, default_circ_rules, default_branch_item_rules and branch_item_rules. To test: 1) check that there is no ft_local_hold_group column in library_groups and that there are no 'holdgroup' enum option in hold_fulfillment_policy in default_branch_circ_rules, default_circ_rules, default_branch_item_rules and branch_item_rules 2) apply this patch 3) perl installer/data/mysql/updatedatabase.pl && dbic SUCCESS => !(step 1) ;-D 4) Sign off Sponsored-by: VOKAL Signed-off-by: Tomas Cohen Arazi --- ..._22284_add_ft_local_hold_group_to_library_groups.perl | 16 ++++++++++++++++ installer/data/mysql/kohastructure.sql | 3 ++- 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 installer/data/mysql/atomicupdate/bug_22284_add_ft_local_hold_group_to_library_groups.perl diff --git a/installer/data/mysql/atomicupdate/bug_22284_add_ft_local_hold_group_to_library_groups.perl b/installer/data/mysql/atomicupdate/bug_22284_add_ft_local_hold_group_to_library_groups.perl new file mode 100644 index 0000000000..fba0b32faf --- /dev/null +++ b/installer/data/mysql/atomicupdate/bug_22284_add_ft_local_hold_group_to_library_groups.perl @@ -0,0 +1,16 @@ +$DBversion = 'XXX'; # will be replaced by the RM +if( CheckVersion( $DBversion ) ) { + + if( !column_exists( 'library_groups', 'ft_local_hold_group' ) ) { + $dbh->do( "ALTER TABLE library_groups ADD COLUMN ft_local_hold_group tinyint(1) NOT NULL DEFAULT 0 AFTER ft_search_groups_staff" ); + } + + $dbh->do("ALTER TABLE default_branch_circ_rules MODIFY hold_fulfillment_policy ENUM('any', 'holdgroup', 'homebranch', 'holdingbranch') NOT NULL DEFAULT 'any'"); + $dbh->do("ALTER TABLE default_circ_rules MODIFY hold_fulfillment_policy ENUM('any', 'holdgroup', 'homebranch', 'holdingbranch') NOT NULL DEFAULT 'any'"); + $dbh->do("ALTER TABLE default_branch_item_rules MODIFY hold_fulfillment_policy ENUM('any', 'holdgroup', 'homebranch', 'holdingbranch') NOT NULL DEFAULT 'any'"); + $dbh->do("ALTER TABLE branch_item_rules MODIFY hold_fulfillment_policy ENUM('any', 'holdgroup', 'homebranch', 'holdingbranch') NOT NULL DEFAULT 'any'"); + + # Always end with this (adjust the bug info) + SetVersion( $DBversion ); + print "Upgrade to $DBversion done (Bug 22284 - Add ft_local_hold_group column to library_groups and alter hold_fulfillment_policy in rules tables)\n"; +} diff --git a/installer/data/mysql/kohastructure.sql b/installer/data/mysql/kohastructure.sql index f339272cbf..624a5e1550 100644 --- a/installer/data/mysql/kohastructure.sql +++ b/installer/data/mysql/kohastructure.sql @@ -4142,7 +4142,8 @@ CREATE TABLE library_groups ( description MEDIUMTEXT NULL DEFAULT NULL, -- Longer explanation of the group, if necessary ft_hide_patron_info tinyint(1) NOT NULL DEFAULT 0, -- Turn on the feature "Hide patron's info" for this group ft_search_groups_opac tinyint(1) NOT NULL DEFAULT 0, -- Use this group for staff side search groups - ft_search_groups_staff tinyint(1) NOT NULL DEFAULT 0, -- Use this group for opac side search groups + ft_search_groups_staff tinyint(1) NOT NULL DEFAULT 0, -- Use this group for opac side search groups + ft_local_hold_group tinyint(1) NOT NULL DEFAULT 0, -- Use this group to identify libraries as pick up location for holds created_on TIMESTAMP NULL, -- Date and time of creation updated_on TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, -- Date and time of last PRIMARY KEY id ( id ), -- 2.11.0