Bugzilla – Attachment 92960 Details for
Bug 8367
How long is a hold waiting for pickup at a more granular level
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 8367: (follow-up) Updates to DBIx class files
Bug-8367-follow-up-Updates-to-DBIx-class-files.patch (text/plain), 8.67 KB, created by
David Gustafsson
on 2019-09-19 09:22:37 UTC
(
hide
)
Description:
Bug 8367: (follow-up) Updates to DBIx class files
Filename:
MIME Type:
Creator:
David Gustafsson
Created:
2019-09-19 09:22:37 UTC
Size:
8.67 KB
patch
obsolete
>From db2f850ae8c4cf9a97b53c89a00660a30e28b42e Mon Sep 17 00:00:00 2001 >From: Hayley Mapley <hayleymapley@catalyst.net.nz> >Date: Tue, 20 Aug 2019 03:04:28 +0000 >Subject: [PATCH] Bug 8367: (follow-up) Updates to DBIx class files > >Ran the update_dbix_class_files.pl script to regenerate the >Koha/Schema/Result/ files again to match the database changes > >Making the atomicupdate file idempotent > >Sponsored-by: Brimbank Library, Australia >Authored-by: Hayley Mapley and Alex Buckley >--- > Koha/Schema/Result/Issuingrule.pm | 11 +++++- > Koha/Schema/Result/OldReserve.pm | 12 +++++- > Koha/Schema/Result/Reserve.pm | 12 +++++- > installer/data/mysql/atomicupdate/bug_8367.perl | 50 +++++++++++++++---------- > 4 files changed, 59 insertions(+), 26 deletions(-) > >diff --git a/Koha/Schema/Result/Issuingrule.pm b/Koha/Schema/Result/Issuingrule.pm >index ecc549e5a8..c0af7eaa5e 100644 >--- a/Koha/Schema/Result/Issuingrule.pm >+++ b/Koha/Schema/Result/Issuingrule.pm >@@ -160,6 +160,11 @@ __PACKAGE__->table("issuingrules"); > default_value: 0 > is_nullable: 0 > >+=head2 holdspickupwait >+ >+ data_type: 'integer' >+ is_nullable: 1 >+ > =head2 holds_per_record > > data_type: 'smallint' >@@ -272,6 +277,8 @@ __PACKAGE__->add_columns( > { data_type => "date", datetime_undef_if_invalid => 1, is_nullable => 1 }, > "reservesallowed", > { data_type => "smallint", default_value => 0, is_nullable => 0 }, >+ "holdspickupwait", >+ { data_type => "integer", is_nullable => 1 }, > "holds_per_record", > { data_type => "smallint", default_value => 1, is_nullable => 0 }, > "holds_per_day", >@@ -314,8 +321,8 @@ __PACKAGE__->add_columns( > __PACKAGE__->set_primary_key("branchcode", "categorycode", "itemtype"); > > >-# Created by DBIx::Class::Schema::Loader v0.07046 @ 2019-03-05 20:49:11 >-# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:6bPX0BRWWQZrWFun3GP86Q >+# Created by DBIx::Class::Schema::Loader v0.07046 @ 2019-08-20 02:39:10 >+# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:nVZzow7RuzPASVF3rdxeZg > > sub koha_object_class { > 'Koha::IssuingRule'; >diff --git a/Koha/Schema/Result/OldReserve.pm b/Koha/Schema/Result/OldReserve.pm >index de9fc6cb27..d94a07c7ab 100644 >--- a/Koha/Schema/Result/OldReserve.pm >+++ b/Koha/Schema/Result/OldReserve.pm >@@ -130,6 +130,12 @@ __PACKAGE__->table("old_reserves"); > datetime_undef_if_invalid: 1 > is_nullable: 1 > >+=head2 lastpickupdate >+ >+ data_type: 'date' >+ datetime_undef_if_invalid: 1 >+ is_nullable: 1 >+ > =head2 itemtype > > data_type: 'varchar' >@@ -196,6 +202,8 @@ __PACKAGE__->add_columns( > datetime_undef_if_invalid => 1, > is_nullable => 1, > }, >+ "lastpickupdate", >+ { data_type => "date", datetime_undef_if_invalid => 1, is_nullable => 1 }, > "itemtype", > { data_type => "varchar", is_foreign_key => 1, is_nullable => 1, size => 10 }, > "item_level_hold", >@@ -297,8 +305,8 @@ __PACKAGE__->belongs_to( > ); > > >-# Created by DBIx::Class::Schema::Loader v0.07046 @ 2019-06-17 07:24:39 >-# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:ZgGAW7ODBby3hGNJ41eeMA >+# Created by DBIx::Class::Schema::Loader v0.07046 @ 2019-08-20 02:39:10 >+# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:CTozZnDtmr5SAU10tRbNUw > > sub koha_object_class { > 'Koha::Old::Hold'; >diff --git a/Koha/Schema/Result/Reserve.pm b/Koha/Schema/Result/Reserve.pm >index 086b621f5f..06ec5e10e3 100644 >--- a/Koha/Schema/Result/Reserve.pm >+++ b/Koha/Schema/Result/Reserve.pm >@@ -134,6 +134,12 @@ __PACKAGE__->table("reserves"); > datetime_undef_if_invalid: 1 > is_nullable: 1 > >+=head2 lastpickupdate >+ >+ data_type: 'date' >+ datetime_undef_if_invalid: 1 >+ is_nullable: 1 >+ > =head2 itemtype > > data_type: 'varchar' >@@ -210,6 +216,8 @@ __PACKAGE__->add_columns( > datetime_undef_if_invalid => 1, > is_nullable => 1, > }, >+ "lastpickupdate", >+ { data_type => "date", datetime_undef_if_invalid => 1, is_nullable => 1 }, > "itemtype", > { data_type => "varchar", is_foreign_key => 1, is_nullable => 1, size => 10 }, > "item_level_hold", >@@ -321,8 +329,8 @@ __PACKAGE__->belongs_to( > ); > > >-# Created by DBIx::Class::Schema::Loader v0.07046 @ 2019-06-17 07:24:39 >-# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:OMFqEWyKqFTcYj7vAFXy/g >+# Created by DBIx::Class::Schema::Loader v0.07046 @ 2019-08-20 02:39:10 >+# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:B9A9RCfZpr/rGs362rQ9RA > > __PACKAGE__->belongs_to( > "item", >diff --git a/installer/data/mysql/atomicupdate/bug_8367.perl b/installer/data/mysql/atomicupdate/bug_8367.perl >index 59cad22cb9..845a26c1fa 100644 >--- a/installer/data/mysql/atomicupdate/bug_8367.perl >+++ b/installer/data/mysql/atomicupdate/bug_8367.perl >@@ -1,21 +1,31 @@ >-my $maxpickupdelay = C4::Context->preference('ReservesMaxPickUpDelay') || 0; #MaxPickupDelay >-$dbh->do(q{ DELETE FROM systempreferences WHERE variable='ReservesMaxPickUpDelay'; }); >-$dbh->do(q{ DELETE FROM systempreferences WHERE variable='ExpireReservesOnHolidays'; }); >-# //DELETE FROM systempreferences WHERE variable='ExpireReservesMaxPickUpDelay'; #This syspref is not needed and would be better suited to be calculated from the holdspickupwait >-# //ExpireReservesMaxPickUpDelayCharge #This could be added as a column to the issuing rules. >-$dbh->do(q{ ALTER TABLE issuingrules ADD COLUMN holdspickupwait INT(11) NULL default NULL AFTER reservesallowed; }); >-$dbh->do(q{ ALTER TABLE reserves ADD COLUMN lastpickupdate DATE NULL default NULL AFTER suspend_until; }); >-$dbh->do(q{ ALTER TABLE old_reserves ADD COLUMN lastpickupdate DATE NULL default NULL AFTER suspend_until; }); >-my $sth = $dbh->prepare(q{ >- UPDATE issuingrules SET holdspickupwait = ? >-}); >-$sth->execute( $maxpickupdelay ) if $maxpickupdelay; #Don't want to accidentally nullify all! >-##Populate the lastpickupdate-column from existing 'ReservesMaxPickUpDelay' >-print "Populating the new lastpickupdate-column for all waiting holds. This might take a while.\n"; >-$sth = $dbh->prepare(q{ SELECT * FROM reserves WHERE found = 'W'; }); >-$sth->execute( ); >-my $dtdur = DateTime::Duration->new( days => 0 ); >-while ( my $res = $sth->fetchrow_hashref ) { >- C4::Reserves::MoveWaitingdate( $res, $dtdur ); #We call MoveWaitingdate with a 0 duration to simply recalculate the lastpickupdate and store the new values to DB. >+$DBversion = 'XXX'; #Replaced by RM >+if( CheckVersion( $DBversion ) ) { >+ my $maxpickupdelay = C4::Context->preference('ReservesMaxPickUpDelay') || 0; #MaxPickupDelay >+ $dbh->do(q{ DELETE FROM systempreferences WHERE variable='ReservesMaxPickUpDelay'; }); >+ $dbh->do(q{ DELETE FROM systempreferences WHERE variable='ExpireReservesOnHolidays'; }); >+ # //DELETE FROM systempreferences WHERE variable='ExpireReservesMaxPickUpDelay'; #This syspref is not needed and would be better suited to be calculated from the holdspickupwait >+ # //ExpireReservesMaxPickUpDelayCharge #This could be added as a column to the issuing rules. >+ unless( column_exists( 'issuingrules', 'holdspickupwait' ) ) { >+ $dbh->do(q{ ALTER TABLE issuingrules ADD COLUMN holdspickupwait INT(11) NULL default NULL AFTER reservesallowed; }); >+ } >+ unless( column_exists( 'reserves', 'lastpickupdate' ) ) { >+ $dbh->do(q{ ALTER TABLE reserves ADD COLUMN lastpickupdate DATE NULL default NULL AFTER suspend_until; }); >+ } >+ unless( column_exists( 'old_reserves', 'lastpickupdate' ) ) { >+ $dbh->do(q{ ALTER TABLE old_reserves ADD COLUMN lastpickupdate DATE NULL default NULL AFTER suspend_until; }); >+ } >+ >+ my $sth = $dbh->prepare(q{ >+ UPDATE issuingrules SET holdspickupwait = ? >+ }); >+ $sth->execute( $maxpickupdelay ) if $maxpickupdelay; #Don't want to accidentally nullify all! >+ ##Populate the lastpickupdate-column from existing 'ReservesMaxPickUpDelay' >+ print "Populating the new lastpickupdate-column for all waiting holds. This might take a while.\n"; >+ $sth = $dbh->prepare(q{ SELECT * FROM reserves WHERE found = 'W'; }); >+ $sth->execute( ); >+ my $dtdur = DateTime::Duration->new( days => 0 ); >+ while ( my $res = $sth->fetchrow_hashref ) { >+ C4::Reserves::MoveWaitingdate( $res, $dtdur ); #We call MoveWaitingdate with a 0 duration to simply recalculate the lastpickupdate and store the new values to DB. >+ } >+ print "Upgrade to $DBversion done (Bug 8367: Add colum issuingrules.holdspickupwait and reserves.lastpickupdate. Populates introduced columns from the expiring ReservesMaxPickUpDelay. Deletes the ReservesMaxPickUpDelay and ExpireReservesOnHolidays -sysprefs)\n"; > } >-print "Upgrade to $DBversion done (8367: Add colum issuingrules.holdspickupwait and reserves.lastpickupdate. Populates introduced columns from the expiring ReservesMaxPickUpDelay. Deletes the ReservesMaxPickUpDelay and ExpireReservesOnHolidays -sysprefs)\n";>>>>>>> Bug 8367: Template fixes + fixes to C4/Reserves.pm and Koha/Hold.pm >-- >2.11.0
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 8367
:
12130
|
13139
|
13602
|
13603
|
13604
|
13624
|
15334
|
15335
|
15369
|
15498
|
15613
|
15658
|
15659
|
19093
|
19094
|
19095
|
19096
|
19104
|
19105
|
19107
|
19108
|
19116
|
19180
|
19181
|
19182
|
19360
|
19361
|
19362
|
20300
|
20301
|
20302
|
20303
|
20304
|
32786
|
32826
|
32884
|
32885
|
32916
|
32930
|
42706
|
42754
|
79790
|
79791
|
79798
|
79799
|
79800
|
79853
|
79854
|
79855
|
79859
|
92412
|
92413
|
92414
|
92415
|
92416
|
92417
|
92418
|
92419
|
92420
|
92421
|
92422
|
92423
|
92424
|
92425
|
92426
|
92427
|
92428
|
92958
|
92959
|
92960
|
92961
|
103425
|
113211
|
117284
|
118017
|
118021
|
124568
|
125087
|
131299
|
131300
|
131301
|
131302
|
131646
|
131647
|
131718
|
131719
|
131720
|
131722
|
131723
|
131724
|
133089
|
133090
|
133091
|
133092
|
133093
|
133094
|
142897
|
142898
|
142899
|
142900
|
142901
|
142902
|
142903
|
144097
|
144098
|
144099
|
144100
|
144101
|
144102
|
144103
|
144146
|
145644
|
145657
|
147798
|
147799
|
147800
|
147801
|
147802
|
147803
|
147804
|
147805
|
147806
|
147807
|
148536
|
148537
|
148538
|
148539
|
148540
|
148541
|
148542
|
148543
|
148544
|
148545
|
150437
|
150438
|
150439
|
153235
|
153237
|
153238
|
153239
|
153240
|
153241
|
153242
|
153243
|
153244
|
153245
|
153246
|
157138
|
157139
|
157140
|
157141
|
157142
|
157143
|
157144
|
157145
|
157146
|
157147
|
157148
|
157149
|
157150
|
157298
|
157343
|
157344
|
157345
|
157346
|
157347
|
157348
|
157349
|
157350
|
157351
|
157352
|
157354
|
157355
|
157356
|
157697
|
157698
|
157699
|
157700
|
157701
|
157702
|
157703
|
157704
|
157705
|
157706
|
157707
|
157708
|
157709
|
157715
|
158023
|
158024
|
158025
|
158026
|
158027
|
158028
|
158029
|
158030
|
158031
|
158032
|
158033
|
158034
|
158035
|
158254
|
158255