Browse Source
Without this patch, running the atomicupdate twice crashes on patrons with edit_items permissions: C4::Installer::run_atomic_updates(): DBI Exception: DBD::mysql::db do failed: Duplicate entry '19-9-edit_any_item' for key 'PRIMARY' at /kohadevbox/koha/installer/data/mysql/updatedatabase.pl line 24303 DEV atomic update /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_20256.perl [14:26:41] ERROR - C4::Installer::run_atomic_updates(): DBI Exception: DBD::mysql::db do failed: Duplicate entry '19-9-edit_any_item' for key 'PRIMARY' at /kohadevbox/koha/installer/data/mysql/updatedatabase.pl line 24303 It also aligns this 3yro script with the new structure we've been using. Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>23.05.x
Tomás Cohen Arazi
1 year ago
2 changed files with 32 additions and 19 deletions
@ -1,19 +0,0 @@ |
|||
$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"; |
|||
} |
@ -0,0 +1,32 @@ |
|||
use Modern::Perl; |
|||
|
|||
return { |
|||
bug_number => "20256", |
|||
description => "Add ability to limit editing of items to home library", |
|||
up => sub { |
|||
my ($args) = @_; |
|||
my ($dbh, $out) = @$args{qw(dbh out)}; |
|||
|
|||
$dbh->do(q{ |
|||
INSERT IGNORE INTO permissions (module_bit, code, description) VALUES ( 9, 'edit_any_item', 'Edit any item reguardless of home library'); |
|||
}); |
|||
say $out "Added new permission 'edit_any_item'"; |
|||
|
|||
$dbh->do(q{ |
|||
INSERT IGNORE 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(q{ |
|||
ALTER TABLE library_groups |
|||
ADD COLUMN ft_limit_item_editing tinyint(1) NOT NULL DEFAULT 0 AFTER ft_hide_patron_info |
|||
}); |
|||
|
|||
say $out "Added column 'library_groups.ft_limit_item_editing'"; |
|||
} |
|||
}, |
|||
}; |
Loading…
Reference in new issue