Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

executable file 74 lines (63 sloc) 1.981 kb
#!/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";
Jump to Line
Something went wrong with that request. Please try again.