Bugzilla – Attachment 145982 Details for
Bug 30928
Add interface to statistics table
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 30928: Add interface column: DB update, schema changes, and UpdateStats
Bug-30928-Add-interface-column-DB-update-schema-ch.patch (text/plain), 6.69 KB, created by
Lucas Gass
on 2023-02-02 01:39:38 UTC
(
hide
)
Description:
Bug 30928: Add interface column: DB update, schema changes, and UpdateStats
Filename:
MIME Type:
Creator:
Lucas Gass
Created:
2023-02-02 01:39:38 UTC
Size:
6.69 KB
patch
obsolete
>From 0105fefc72dff3f36e274c4ce3c01f835762ab62 Mon Sep 17 00:00:00 2001 >From: Lucas Gass <lucas@bywatersolutions.com> >Date: Thu, 2 Feb 2023 01:36:25 +0000 >Subject: [PATCH] Bug 30928: Add interface column: DB update, schema changes, > and UpdateStats > >--- > C4/Circulation.pm | 6 +++++- > C4/Stats.pm | 7 +++++-- > Koha/Schema/Result/Statistic.pm | 10 ++++++++++ > installer/data/mysql/atomicupdate/bug_30928.pl | 18 ++++++++++++++++++ > installer/data/mysql/kohastructure.sql | 1 + > 5 files changed, 39 insertions(+), 3 deletions(-) > create mode 100755 installer/data/mysql/atomicupdate/bug_30928.pl > >diff --git a/C4/Circulation.pm b/C4/Circulation.pm >index 6fcd4918200..b253f36217d 100644 >--- a/C4/Circulation.pm >+++ b/C4/Circulation.pm >@@ -824,6 +824,7 @@ sub CanBookBeIssued { > borrowernumber => $patron->borrowernumber, > ccode => $item_object->ccode, > categorycode => $patron->categorycode, >+ interface => C4::Context->interface, > } > ); > ModDateLastSeen( $item_object->itemnumber ); # FIXME Move to Koha::Item >@@ -1753,7 +1754,8 @@ sub AddIssue { > location => $item_object->location, > borrowernumber => $borrower->{'borrowernumber'}, > ccode => $item_object->ccode, >- categorycode => $borrower->{'categorycode'} >+ categorycode => $borrower->{'categorycode'}, >+ interface => C4::Context->interface, > } > ); > >@@ -2379,6 +2381,7 @@ sub AddReturn { > borrowernumber => $borrowernumber, > ccode => $item->ccode, > categorycode => $categorycode, >+ interface => C4::Context->interface, > }); > > # Send a check-in slip. # NOTE: borrower may be undef. Do not try to send messages then. >@@ -3222,6 +3225,7 @@ sub AddRenewal { > borrowernumber => $borrowernumber, > ccode => $item_object->ccode, > categorycode => $patron->categorycode, >+ interface => C4::Context->interface, > } > ); > >diff --git a/C4/Stats.pm b/C4/Stats.pm >index a833ba2e927..f8f1aa03a82 100644 >--- a/C4/Stats.pm >+++ b/C4/Stats.pm >@@ -65,7 +65,8 @@ C<$params> is an hashref whose expected keys are: > other : sipmode > itemtype : the type of the item > ccode : the collection code of the item >- categorycode : the categorycode of the patron >+ categorycode : the categorycode of the patron >+ interface : the context this action was taken in > > type key is mandatory. > For types used in C4::Circulation (renew,issue,localuse,return), the following other keys are mandatory: >@@ -83,7 +84,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 categorycode); >+ my @allowed_keys = qw (type branch amount other itemnumber itemtype borrowernumber ccode location categorycode interface); > 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); >@@ -125,6 +126,7 @@ sub UpdateStats { > my $location = exists $params->{location} ? $params->{location} : undef; > my $ccode = exists $params->{ccode} ? $params->{ccode} : ''; > my $categorycode = exists $params->{categorycode} ? $params->{categorycode} : undef; >+ my $interface = exists $params->{interface} ? $params->{interface} : undef; > > my $dtf = Koha::Database->new->schema->storage->datetime_parser; > my $statistic = Koha::Statistic->new( >@@ -140,6 +142,7 @@ sub UpdateStats { > borrowernumber => $borrowernumber, > ccode => $ccode, > categorycode => $categorycode, >+ interface => $interface, > } > )->store; > >diff --git a/Koha/Schema/Result/Statistic.pm b/Koha/Schema/Result/Statistic.pm >index e6096eae2b6..6477af1aabe 100644 >--- a/Koha/Schema/Result/Statistic.pm >+++ b/Koha/Schema/Result/Statistic.pm >@@ -108,6 +108,14 @@ foreign key from the items table, links transaction to a specific collection cod > > foreign key from the borrowers table, links transaction to a specific borrower category > >+=head2 interface >+ >+ data_type: 'varchar' >+ is_nullable: 1 >+ size: 30 >+ >+interface acted upon >+ > =cut > > __PACKAGE__->add_columns( >@@ -137,6 +145,8 @@ __PACKAGE__->add_columns( > { data_type => "varchar", is_nullable => 1, size => 80 }, > "categorycode", > { data_type => "varchar", is_nullable => 1, size => 10 }, >+ "interface", >+ { data_type => "varchar", is_nullable => 1, size => 30 }, > ); > > >diff --git a/installer/data/mysql/atomicupdate/bug_30928.pl b/installer/data/mysql/atomicupdate/bug_30928.pl >new file mode 100755 >index 00000000000..726c9c2452f >--- /dev/null >+++ b/installer/data/mysql/atomicupdate/bug_30928.pl >@@ -0,0 +1,18 @@ >+use Modern::Perl; >+return { >+ bug_number => "30928", >+ description => "Add interface field to statistics table", >+ up => sub { >+ my ($args) = @_; >+ my ($dbh, $out) = @$args{qw(dbh out)}; >+ if( !column_exists( 'statistics', 'interface' ) ) { >+ $dbh->do(q{ >+ ALTER TABLE statistics >+ ADD COLUMN interface varchar(30) NULL DEFAULT NULL >+ COMMENT "interface" >+ AFTER categorycode >+ }); >+ say $out "Added column 'statistics.interface'"; >+ } >+ }, >+} >diff --git a/installer/data/mysql/kohastructure.sql b/installer/data/mysql/kohastructure.sql >index f9ae4c4cd7e..cedab76747a 100644 >--- a/installer/data/mysql/kohastructure.sql >+++ b/installer/data/mysql/kohastructure.sql >@@ -5336,6 +5336,7 @@ CREATE TABLE `statistics` ( > `borrowernumber` int(11) DEFAULT NULL COMMENT 'foreign key from the borrowers table, links transaction to a specific borrower', > `ccode` varchar(80) DEFAULT NULL COMMENT 'foreign key from the items table, links transaction to a specific collection code', > `categorycode` varchar(10) DEFAULT NULL COMMENT 'foreign key from the borrowers table, links transaction to a specific borrower category', >+ `interface` varchar(30) DEFAULT NULL COMMENT 'the context this action was taken in', > KEY `timeidx` (`datetime`), > KEY `branch_idx` (`branch`), > KEY `type_idx` (`type`), >-- >2.30.2
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 30928
:
145982
|
146042
|
146171
|
146172
|
146653
|
146654
|
147838
|
147839
|
150386
|
150387
|
150433
|
150434
|
150435
|
150436