}
__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;
--- /dev/null
+$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";
+}
`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',
( 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'),