Bug 7021: Terminology - usercode -> categorycode
Lets stick to standard terminology and use categorycode rather than usercode here. Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This commit is contained in:
parent
b9158641d4
commit
791702a363
|
|
@ -813,15 +813,17 @@ sub CanBookBeIssued {
|
|||
#
|
||||
if ( $patron->category->category_type eq 'X' && ( $item_object->barcode )) {
|
||||
# stats only borrower -- add entry to statistics table, and return issuingimpossible{STATS} = 1 .
|
||||
C4::Stats::UpdateStats({
|
||||
branch => C4::Context->userenv->{'branch'},
|
||||
type => 'localuse',
|
||||
itemnumber => $item_object->itemnumber,
|
||||
itemtype => $effective_itemtype,
|
||||
borrowernumber => $patron->borrowernumber,
|
||||
ccode => $item_object->ccode},
|
||||
usercode => $patron->categorycode,
|
||||
);
|
||||
C4::Stats::UpdateStats(
|
||||
{
|
||||
branch => C4::Context->userenv->{'branch'},
|
||||
type => 'localuse',
|
||||
itemnumber => $item_object->itemnumber,
|
||||
itemtype => $effective_itemtype,
|
||||
borrowernumber => $patron->borrowernumber,
|
||||
ccode => $item_object->ccode,
|
||||
categorycode => $patron->categorycode,
|
||||
}
|
||||
);
|
||||
ModDateLastSeen( $item_object->itemnumber ); # FIXME Move to Koha::Item
|
||||
return( { STATS => 1 }, {});
|
||||
}
|
||||
|
|
@ -1741,7 +1743,7 @@ sub AddIssue {
|
|||
location => $item_object->location,
|
||||
borrowernumber => $borrower->{'borrowernumber'},
|
||||
ccode => $item_object->ccode,
|
||||
usercode => $borrower->{'categorycode'}
|
||||
categorycode => $borrower->{'categorycode'}
|
||||
}
|
||||
);
|
||||
|
||||
|
|
@ -2351,6 +2353,7 @@ sub AddReturn {
|
|||
location => $item->location,
|
||||
borrowernumber => $borrowernumber,
|
||||
ccode => $item->ccode,
|
||||
categorycode => $patron->categorycode,
|
||||
});
|
||||
|
||||
# Send a check-in slip. # NOTE: borrower may be undef. Do not try to send messages then.
|
||||
|
|
@ -3190,7 +3193,7 @@ sub AddRenewal {
|
|||
location => $item_object->location,
|
||||
borrowernumber => $borrowernumber,
|
||||
ccode => $item_object->ccode,
|
||||
usercode => $patron->categorycode,
|
||||
categorycode => $patron->categorycode,
|
||||
}
|
||||
);
|
||||
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ C<$params> is an hashref whose expected keys are:
|
|||
other : sipmode
|
||||
itemtype : the type of the item
|
||||
ccode : the collection code of the item
|
||||
usercode : the categorycode of the patron
|
||||
categorycode : the categorycode of the patron
|
||||
|
||||
type key is mandatory.
|
||||
For types used in C4::Circulation (renew,issue,localuse,return), the following other keys are mandatory:
|
||||
|
|
@ -83,7 +83,7 @@ sub UpdateStats {
|
|||
# make some controls
|
||||
return () if ! defined $params;
|
||||
# change these arrays if new types of transaction or new parameters are allowed
|
||||
my @allowed_keys = qw (type branch amount other itemnumber itemtype borrowernumber ccode location usercode);
|
||||
my @allowed_keys = qw (type branch amount other itemnumber itemtype borrowernumber ccode location categorycode);
|
||||
my @allowed_circulation_types = qw (renew issue localuse return onsite_checkout recall);
|
||||
my @allowed_accounts_types = qw (writeoff payment);
|
||||
my @circulation_mandatory_keys = qw (type branch borrowernumber itemnumber ccode itemtype);
|
||||
|
|
@ -124,7 +124,7 @@ sub UpdateStats {
|
|||
my $itemtype = exists $params->{itemtype} ? $params->{itemtype} : '';
|
||||
my $location = exists $params->{location} ? $params->{location} : undef;
|
||||
my $ccode = exists $params->{ccode} ? $params->{ccode} : '';
|
||||
my $usercode = exists $params->{usercode} ? $params->{usercode} : undef;
|
||||
my $categorycode = exists $params->{categorycode} ? $params->{categorycode} : undef;
|
||||
|
||||
my $dtf = Koha::Database->new->schema->storage->datetime_parser;
|
||||
my $statistic = Koha::Statistic->new(
|
||||
|
|
@ -139,7 +139,7 @@ sub UpdateStats {
|
|||
location => $location,
|
||||
borrowernumber => $borrowernumber,
|
||||
ccode => $ccode,
|
||||
usercode => $usercode,
|
||||
categorycode => $categorycode,
|
||||
}
|
||||
)->store;
|
||||
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@ if( CheckVersion( $DBversion ) ) {
|
|||
# you can use $dbh here like:
|
||||
# $dbh->do( "ALTER TABLE biblio ADD COLUMN badtaste int" );
|
||||
|
||||
$dbh->do("ALTER TABLE statistics ADD COLUMN usercode varchar(10) AFTER ccode");
|
||||
$dbh->do("ALTER TABLE statistics ADD COLUMN categorycode varchar(10) AFTER ccode");
|
||||
|
||||
# Always end with this (adjust the bug info)
|
||||
NewVersion( $DBversion, 7021, "Bug 7021 - Reintroduce usercode column");
|
||||
NewVersion( $DBversion, 7021, "Bug 7021 - Introduce categorycode column");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4937,7 +4937,7 @@ CREATE TABLE `statistics` (
|
|||
`location` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'authorized value for the shelving location for this item (MARC21 952$c)',
|
||||
`borrowernumber` int(11) DEFAULT NULL COMMENT 'foreign key from the borrowers table, links transaction to a specific borrower',
|
||||
`ccode` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'foreign key from the items table, links transaction to a specific collection code',
|
||||
`usercode` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`categorycode` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
KEY `timeidx` (`datetime`),
|
||||
KEY `branch_idx` (`branch`),
|
||||
KEY `type_idx` (`type`),
|
||||
|
|
|
|||
|
|
@ -0,0 +1,83 @@
|
|||
#! /usr/bin/perl
|
||||
|
||||
## EXTRACTED USING THIS:
|
||||
# grep -Pnir "'notforloan' => '6'" 01_items0* | grep -Po "'id' => '-?(\d+)'" | grep -Po "\d+" > itemnumbers_notforloan_6.txt
|
||||
|
||||
use Modern::Perl;
|
||||
|
||||
use C4::Context;
|
||||
use utf8;
|
||||
|
||||
use Koha::Patrons;
|
||||
|
||||
use open ':encoding(utf8)';
|
||||
binmode STDOUT, ':utf8';
|
||||
|
||||
|
||||
print "\nTHE FOLLOWING STATISTIC ENTRIES HAVE BEEN UPDATED\n------------------------------------------------\n";
|
||||
|
||||
|
||||
##Caches all the loaded Borrowers
|
||||
my $borrowers = {};
|
||||
my $deletedBorrowers = {};
|
||||
|
||||
my $dbh = C4::Context->dbh;
|
||||
|
||||
my $sthDelBor = $dbh->prepare("SELECT * FROM deletedborrowers WHERE borrowernumber = ? ");
|
||||
my $sthUpdateStat = $dbh->prepare("UPDATE statistics SET categorycode = ? WHERE datetime = ? AND branch = ? AND type = ? AND itemnumber = ? ");
|
||||
|
||||
my $query2 = "SELECT * FROM statistics WHERE type = 'issue' OR type = 'renew' OR type = 'localuse'";
|
||||
my $sth2 = $dbh->prepare($query2);
|
||||
$sth2->execute();
|
||||
my $stats = $sth2->fetchall_arrayref({});
|
||||
|
||||
foreach my $stat (@$stats) {
|
||||
my $borrower = getCachedBorrower( $stat->{borrowernumber} );
|
||||
|
||||
$borrower = getCachedDeletedBorrower( $stat->{borrowernumber} ) unless $borrower;
|
||||
|
||||
if ($borrower) {
|
||||
$borrower = $borrower->unblessed;
|
||||
$stat->{categorycode} = $borrower->{categorycode};
|
||||
$sthUpdateStat->execute( $stat->{categorycode},
|
||||
$stat->{datetime},
|
||||
$stat->{branch},
|
||||
$stat->{type},
|
||||
$stat->{itemnumber},
|
||||
);
|
||||
print( $stat->{categorycode} . " " .
|
||||
$stat->{datetime} . " " .
|
||||
$stat->{branch} . " " .
|
||||
$stat->{type} . " " .
|
||||
$stat->{itemnumber} . " "
|
||||
);
|
||||
print "\n";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
##Members are repeatedly loaded in various parts of this code. Better to cache them.
|
||||
sub getCachedBorrower {
|
||||
my $borrowernumber = shift; #The hash to store all branches by branchcode
|
||||
|
||||
if (exists $borrowers->{$borrowernumber}) {
|
||||
return $borrowers->{$borrowernumber};
|
||||
}
|
||||
my $borrower = Koha::Patrons->find({ borrowernumber => $borrowernumber });
|
||||
$borrowers->{$borrowernumber} = $borrower;
|
||||
return $borrower;
|
||||
}
|
||||
##Deleted members are repeatedly loaded in various parts of this code. Better to cache them.
|
||||
sub getCachedDeletedBorrower {
|
||||
my $borrowernumber = shift; #The hash to store all branches by branchcode
|
||||
|
||||
if (exists $deletedBorrowers->{$borrowernumber}) {
|
||||
return $deletedBorrowers->{$borrowernumber};
|
||||
}
|
||||
$sthDelBor->execute( $borrowernumber );
|
||||
|
||||
my $borrower = $sthDelBor->fetchrow_hashref();
|
||||
$borrowers->{$borrowernumber} = $borrower;
|
||||
return $borrower;
|
||||
}
|
||||
Loading…
Reference in New Issue