Bugzilla – Attachment 109097 Details for
Bug 24860
Add ability to place item group level holds
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 24860: Add reserves.volume_id
Bug-24860-Add-reservesvolumeid.patch (text/plain), 6.18 KB, created by
Kyle M Hall (khall)
on 2020-08-25 14:48:57 UTC
(
hide
)
Description:
Bug 24860: Add reserves.volume_id
Filename:
MIME Type:
Creator:
Kyle M Hall (khall)
Created:
2020-08-25 14:48:57 UTC
Size:
6.18 KB
patch
obsolete
>From 7da52bee9440dc378e1d22bda075b7660417737e Mon Sep 17 00:00:00 2001 >From: Kyle M Hall <kyle@bywatersolutions.com> >Date: Fri, 28 Feb 2020 10:37:05 -0500 >Subject: [PATCH] Bug 24860: Add reserves.volume_id > >This feature builds upon bug 24857 and allows placing holds that target a specific volume of a record. It is patterned after the feature that allows limiting hold selection by itemtype ( AllowHoldItemTypeSelection ). > >Test Plan: >1) Apply bug 24857 and this bug's patches >2) Run updatedatabase.pl >3) Restart all the things! >4) Enable the sysprefs EnableVolumes and EnableVolumeHolds >5) Create a record, items and volumes, with each item being assigned to >a volume >6) Place a hold for a patron >7) Note the new selector to choose a volume in addition to record and item level holds >8) Place a volume level hold >9) Check in an item from the record that is not part of that volume >10) Note the hold is not trapped for that item >11) Check in an item from the record that *is* part of that volume >12) Note the hold is trapped for that item >13) Place a volume level hold for another item >14) Run the holds queue builder >15) Note the holds queue targets only items from that volume >16) Check out all the items of that volume to other patrosn >17) Re-run the holds queue builder >18) Note the holds queue no longer has a line for that hold, > as all items that could fill that hold are now unavailable > >Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com> > >Signed-off-by: Rebecca Coert <rcoert@arlingtonva.us> >--- > installer/data/mysql/atomicupdate/volumes.perl | 16 ++++++++++++++++ > installer/data/mysql/kohastructure.sql | 7 ++++++- > 2 files changed, 22 insertions(+), 1 deletion(-) > >diff --git a/installer/data/mysql/atomicupdate/volumes.perl b/installer/data/mysql/atomicupdate/volumes.perl >index c1886b3087..84a0459007 100644 >--- a/installer/data/mysql/atomicupdate/volumes.perl >+++ b/installer/data/mysql/atomicupdate/volumes.perl >@@ -39,6 +39,22 @@ if ( CheckVersion( $DBversion ) ) { > }); > } > >+ unless ( column_exists( 'reserves', 'volume_id' ) ) { >+ $dbh->do(q{ >+ ALTER TABLE reserves >+ ADD COLUMN `volume_id` int(11) NULL default NULL AFTER biblionumber, >+ ADD CONSTRAINT `reserves_ibfk_6` FOREIGN KEY (`volume_id`) REFERENCES `volumes` (`id`) ON DELETE SET NULL ON UPDATE CASCADE; >+ }); >+ } >+ >+ unless ( column_exists( 'old_reserves', 'volume_id' ) ) { >+ $dbh->do(q{ >+ ALTER TABLE old_reserves >+ ADD COLUMN `volume_id` int(11) NULL default NULL AFTER biblionumber, >+ ADD CONSTRAINT `old_reserves_ibfk_5` FOREIGN KEY (`volume_id`) REFERENCES `volumes` (`id`) ON DELETE SET NULL ON UPDATE SET NULL; >+ }); >+ } >+ > # Always end with this (adjust the bug info) > SetVersion( $DBversion ); > print "Upgrade to $DBversion done (Bug XXXXX - Add ability to define volumes for items on a record)\n"; >diff --git a/installer/data/mysql/kohastructure.sql b/installer/data/mysql/kohastructure.sql >index 803bdd92e0..7fa8d82ebd 100644 >--- a/installer/data/mysql/kohastructure.sql >+++ b/installer/data/mysql/kohastructure.sql >@@ -1787,6 +1787,7 @@ CREATE TABLE `reserves` ( -- information related to holds/reserves in Koha > `borrowernumber` int(11) NOT NULL default 0, -- foreign key from the borrowers table defining which patron this hold is for > `reservedate` date default NULL, -- the date the hold was placed > `biblionumber` int(11) NOT NULL default 0, -- foreign key from the biblio table defining which bib record this hold is on >+ `volume_id` int(11) NULL default NULL, -- foreign key from the volumes table defining if this is a volume level hold > `branchcode` varchar(10) default NULL, -- foreign key from the branches table defining which branch the patron wishes to pick this hold up at > `notificationdate` date default NULL, -- currently unused > `reminderdate` date default NULL, -- currently unused >@@ -1815,7 +1816,8 @@ CREATE TABLE `reserves` ( -- information related to holds/reserves in Koha > CONSTRAINT `reserves_ibfk_2` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE CASCADE ON UPDATE CASCADE, > CONSTRAINT `reserves_ibfk_3` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) ON DELETE CASCADE ON UPDATE CASCADE, > CONSTRAINT `reserves_ibfk_4` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE, >- CONSTRAINT `reserves_ibfk_5` FOREIGN KEY (`itemtype`) REFERENCES `itemtypes` (`itemtype`) ON DELETE CASCADE ON UPDATE CASCADE >+ CONSTRAINT `reserves_ibfk_5` FOREIGN KEY (`itemtype`) REFERENCES `itemtypes` (`itemtype`) ON DELETE CASCADE ON UPDATE CASCADE, >+ CONSTRAINT `reserves_ibfk_6` FOREIGN KEY (`volume_id`) REFERENCES `volumes` (`id`) ON DELETE SET NULL ON UPDATE CASCADE > ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; > > -- >@@ -1828,6 +1830,7 @@ CREATE TABLE `old_reserves` ( -- this table holds all holds/reserves that have b > `borrowernumber` int(11) default NULL, -- foreign key from the borrowers table defining which patron this hold is for > `reservedate` date default NULL, -- the date the hold was places > `biblionumber` int(11) default NULL, -- foreign key from the biblio table defining which bib record this hold is on >+ `volume_id` int(11) NULL default NULL, -- foreign key from the volumes table defining if this is a volume level hold > `branchcode` varchar(10) default NULL, -- foreign key from the branches table defining which branch the patron wishes to pick this hold up at > `notificationdate` date default NULL, -- currently unused > `reminderdate` date default NULL, -- currently unused >@@ -1858,6 +1861,8 @@ CREATE TABLE `old_reserves` ( -- this table holds all holds/reserves that have b > CONSTRAINT `old_reserves_ibfk_3` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) > ON DELETE SET NULL ON UPDATE SET NULL, > CONSTRAINT `old_reserves_ibfk_4` FOREIGN KEY (`itemtype`) REFERENCES `itemtypes` (`itemtype`) >+ ON DELETE SET NULL ON UPDATE SET NULL, >+ CONSTRAINT `old_reserves_ibfk_5` FOREIGN KEY (`volume_id`) REFERENCES `volumes` (`id`) > ON DELETE SET NULL ON UPDATE SET NULL > ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; > >-- >2.24.1 (Apple Git-126)
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 24860
:
100644
|
100645
|
100646
|
100647
|
100648
|
100649
|
100650
|
100651
|
101744
|
101745
|
101746
|
101747
|
101748
|
101749
|
101750
|
101751
|
101827
|
101828
|
101829
|
101830
|
101831
|
101832
|
101833
|
101834
|
101835
|
102230
|
102231
|
102232
|
102233
|
102234
|
102235
|
102236
|
102237
|
102238
|
102239
|
102240
|
102241
|
102242
|
102243
|
102244
|
102245
|
102246
|
102247
|
106589
|
106590
|
106591
|
106592
|
106593
|
106594
|
106595
|
106596
|
106597
|
106682
|
106683
|
106684
|
106685
|
106686
|
106687
|
106688
|
106689
|
106690
|
106742
|
106743
|
106744
|
106745
|
106746
|
106747
|
106748
|
106749
|
106750
|
108458
|
108459
|
108460
|
108461
|
108462
|
108463
|
108464
|
108465
|
108466
|
109097
|
109098
|
109099
|
109100
|
109101
|
109102
|
109103
|
109104
|
109105
|
109171
|
109172
|
109173
|
109174
|
109175
|
109176
|
109177
|
109178
|
109179
|
113616
|
113617
|
113618
|
113619
|
113620
|
113621
|
113622
|
113623
|
113624
|
135922
|
135923
|
135924
|
135925
|
135926
|
135927
|
135928
|
135929
|
135930
|
138221
|
138222
|
138224
|
138225
|
138226
|
138227
|
138228
|
138229
|
138230
|
141214
|
141215
|
141735
|
141736
|
141737
|
141738
|
141739
|
141740
|
141741
|
141742
|
141743
|
141744
|
141745
|
141746
|
141747
|
141748
|
141749
|
141750
|
142413
|
142414
|
142415
|
142416
|
142417
|
142418
|
142419
|
142420
|
142421
|
142422
|
142423
|
142424
|
142425
|
142426
|
142427
|
142428
|
142429
|
142430
|
142827
|
142955
|
142956
|
142957
|
142958
|
142959
|
142960
|
142961
|
142962
|
142963
|
142964
|
142965
|
142966
|
142967
|
142968
|
142969
|
142970
|
142971
|
142972
|
142973
|
142974
|
142975
|
142992
|
142993
|
142994
|
142995
|
142996
|
142997
|
142998
|
142999
|
143000
|
143001
|
143002
|
143003
|
143004
|
143005
|
143006
|
143007
|
143008
|
143009
|
143010
|
143011