Bug 20256: Update database

Test Plan:
1) Apply this patch set
2) Run updatedatabase.pl
3) Create two library groups with some libraries in them,
   make sure to enable the new feature to limit editing of items
4) Test the functionality, if an item is owned by a library in
   your group, you should have full editing abilities. If an item
   is from a different group, you should only be able to make the
   same changes you would be able to if IndependentBranches were.

Signed-off-by: Bob Bennhoff - CLiC <bbennhoff@clicweb.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This commit is contained in:
Kyle M Hall 2019-03-27 13:03:16 -04:00 committed by Tomas Cohen Arazi
parent c2664482e4
commit 5d0dab5f6c
No known key found for this signature in database
GPG Key ID: 0A272EA1B2F3C15F
4 changed files with 25 additions and 3 deletions

View File

@ -257,10 +257,11 @@ sub koha_objects_class {
}
__PACKAGE__->add_columns(
'+ft_hide_patron_info' => { is_boolean => 1 },
'+ft_search_groups_opac' => { is_boolean => 1 },
'+ft_hide_patron_info' => { is_boolean => 1 },
'+ft_search_groups_opac' => { is_boolean => 1 },
'+ft_search_groups_staff' => { is_boolean => 1 },
'+ft_local_hold_group' => { is_boolean => 1 },
'+ft_local_hold_group' => { is_boolean => 1 },
'+ft_limit_item_editing' => { is_boolean => 1 },
);
1;

View File

@ -0,0 +1,19 @@
$DBversion = 'XXX'; # will be replaced by the RM
if( CheckVersion( $DBversion ) ) {
$dbh->do( "INSERT IGNORE INTO permissions (module_bit, code, description) VALUES ( 9, 'edit_any_item', 'Edit any item reguardless of home library');" );
$dbh->do(q{
INSERT INTO user_permissions ( borrowernumber, module_bit, code )
SELECT borrowernumber, '9', 'edit_any_item'
FROM user_permissions
WHERE module_bit = '9'
AND code = 'edit_items'
});
if ( !column_exists( 'library_groups', 'ft_limit_item_editing' ) ) {
$dbh->do( "ALTER TABLE library_groups ADD COLUMN ft_limit_item_editing tinyint(1) NOT NULL DEFAULT 0 AFTER ft_hide_patron_info" );
}
SetVersion( $DBversion );
print "Upgrade to $DBversion done (Bug 20256 - Add ability to limit editing of items to home library)\n";
}

View File

@ -3871,6 +3871,7 @@ CREATE TABLE `library_groups` (
`title` varchar(100) DEFAULT NULL COMMENT 'Short description of the goup',
`description` mediumtext DEFAULT NULL COMMENT 'Longer explanation of the group, if necessary',
`ft_hide_patron_info` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'Turn on the feature ''Hide patron''s info'' for this group',
`ft_limit_item_editing` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'Turn on the feature "Limit item editing by group" for this group',
`ft_search_groups_opac` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'Use this group for staff side search groups',
`ft_search_groups_staff` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'Use this group for opac side search groups',
`ft_local_hold_group` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'Use this group to identify libraries as pick up location for holds',

View File

@ -56,6 +56,7 @@ INSERT INTO permissions (module_bit, code, description) VALUES
( 9, 'edit_items_restricted', 'Limit item modification to subfields defined in the SubfieldsToAllowForRestrictedEditing preference (please note that edit_item is still required)'),
( 9, 'delete_all_items', 'Delete all items at once'),
( 9, 'manage_item_groups', 'Create, update and delete item groups, add or remove items from a item groups'),
( 9, 'edit_any_item', 'Edit any item regardless of home library'),
(10, 'payout', 'Perform account payout action'),
(10, 'refund', 'Perform account refund action'),
(10, 'discount', 'Perform account discount action'),