dbca39823f
&C4Connect, and generally prefer C4::Context over C4::Database.
73 lines
1.9 KiB
Perl
Executable file
73 lines
1.9 KiB
Perl
Executable file
#!/usr/bin/perl
|
|
|
|
# script to fix all the branch settings in the items table of the koha database.
|
|
|
|
use strict;
|
|
use DBI;
|
|
use C4::Context;
|
|
|
|
# This script makes the following substitutions.
|
|
# on homebranch field:
|
|
my $home_default = 'C';
|
|
my %home = ( 'F' => 'FP' ,
|
|
'FM' => 'FP' ,
|
|
'M' => 'C' ,
|
|
'P' => 'C' ,
|
|
'S' => 'SP' ,
|
|
'T' => 'C' ,
|
|
'TR' => 'C' ,
|
|
'I' => 'C' ,
|
|
'D' => 'C' ,
|
|
'L' => 'LP' ,
|
|
'FP' => 'FP' ,
|
|
'SP' => 'SP' ,
|
|
'LP' => 'LP' ,
|
|
'C' => 'C' );
|
|
|
|
# on holdingbranch field:
|
|
my $hold_default = 'L';
|
|
my %hold = ( 'F' => 'F' ,
|
|
'FM' => 'FM' ,
|
|
'M' => 'M' ,
|
|
'P' => 'P' ,
|
|
'S' => 'S' ,
|
|
'T' => 'T' ,
|
|
'TR' => 'TR' ,
|
|
'I' => 'I' ,
|
|
'D' => 'D' ,
|
|
'L' => 'L' ,
|
|
'FP' => 'F' ,
|
|
'C' => 'L' ,
|
|
'SP' => 'S' ,
|
|
'LP' => 'L' );
|
|
|
|
|
|
# do the substitutions.....
|
|
my $dbh = C4::Context->dbh;
|
|
|
|
my $sth = $dbh->prepare("SELECT barcode, holdingbranch, homebranch FROM items");
|
|
$sth->execute();
|
|
|
|
my $today = localtime(time());
|
|
print "Output from fixBranches.pl $today \n\n";
|
|
|
|
while (my $item = $sth->fetchrow_hashref) {
|
|
my $oldhold = $item->{'holdingbranch'};
|
|
my $newhold = $hold{$oldhold} ? $hold{$oldhold} : $hold_default ;
|
|
if ($oldhold ne $newhold) {
|
|
my $uth = $dbh->prepare("UPDATE items SET holdingbranch = ? WHERE barcode = ?");
|
|
$uth->execute($newhold, $item->{'barcode'});
|
|
print "$item->{'barcode'} : Holding branch setting changed from $oldhold -> $newhold \n";
|
|
$uth->finish;
|
|
}
|
|
my $oldhome = $item->{'homebranch'};
|
|
my $newhome = $home{$oldhome} ? $home{$oldhome} : $home_default ;
|
|
if ($oldhome ne $newhome) {
|
|
my $uth = $dbh->prepare("UPDATE items SET homebranch = ? WHERE barcode = ?");
|
|
$uth->execute($newhome, $item->{'barcode'});
|
|
print "$item->{'barcode'} : Home branch setting changed from $oldhome -> $newhome \n";
|
|
$uth->finish;
|
|
}
|
|
}
|
|
|
|
print "\nFinished output from fixbranches.pl\n";
|