Bugzilla – Attachment 80289 Details for
Bug 11897
Stock Rotation for Koha
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 11897: (QA follow-up) Convert atomic update to perl
Bug-11897-QA-follow-up-Convert-atomic-update-to-pe.patch (text/plain), 9.96 KB, created by
Tomás Cohen Arazi (tcohen)
on 2018-10-09 15:40:24 UTC
(
hide
)
Description:
Bug 11897: (QA follow-up) Convert atomic update to perl
Filename:
MIME Type:
Creator:
Tomás Cohen Arazi (tcohen)
Created:
2018-10-09 15:40:24 UTC
Size:
9.96 KB
patch
obsolete
>From 587896c7540aebf8d548a2160eeda57bf3ab6aef Mon Sep 17 00:00:00 2001 >From: Martin Renvoize <martin.renvoize@ptfs-europe.com> >Date: Tue, 9 Oct 2018 15:03:23 +0100 >Subject: [PATCH] Bug 11897: (QA follow-up) Convert atomic update to perl > >Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> >Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> >--- > .../mysql/atomicupdate/stockrot_tables.perl | 90 +++++++++++++++++++ > .../mysql/atomicupdate/stockrot_tables.sql | 69 -------------- > 2 files changed, 90 insertions(+), 69 deletions(-) > create mode 100644 installer/data/mysql/atomicupdate/stockrot_tables.perl > delete mode 100644 installer/data/mysql/atomicupdate/stockrot_tables.sql > >diff --git a/installer/data/mysql/atomicupdate/stockrot_tables.perl b/installer/data/mysql/atomicupdate/stockrot_tables.perl >new file mode 100644 >index 0000000000..d1ea5033e9 >--- /dev/null >+++ b/installer/data/mysql/atomicupdate/stockrot_tables.perl >@@ -0,0 +1,90 @@ >+$DBversion = 'XXX'; # will be replaced by the RM >+if( CheckVersion( $DBversion ) ) { >+ >+ # Stock Rotation Rotas >+ unless (TableExists('stockrotationrotas')){ >+ $dbh->do(q{ >+ CREATE TABLE `stockrotationrotas` ( >+ `rota_id` int(11) auto_increment, -- Stockrotation rota ID >+ `title` varchar(100) NOT NULL, -- Title for this rota >+ `description` text NOT NULL default '', -- Description for this rota >+ `cyclical` tinyint(1) NOT NULL default 0, -- Should items on this rota keep cycling? >+ `active` tinyint(1) NOT NULL default 0, -- Is this rota currently active? >+ PRIMARY KEY (`rota_id`), >+ CONSTRAINT `stockrotationrotas_title` >+ UNIQUE (`title`) >+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; >+ }); >+ } >+ >+ # Stock Rotation Stages >+ unless (TableExists('stockrotationstages')){ >+ $dbh->do(q{ >+ CREATE TABLE `stockrotationstages` ( >+ `stage_id` int(11) auto_increment, -- Unique stage ID >+ `position` int(11) NOT NULL, -- The position of this stage within its rota >+ `rota_id` int(11) NOT NULL, -- The rota this stage belongs to >+ `branchcode_id` varchar(10) NOT NULL, -- Branch this stage relates to >+ `duration` int(11) NOT NULL default 4, -- The number of days items shoud occupy this stage >+ PRIMARY KEY (`stage_id`), >+ CONSTRAINT `stockrotationstages_rifk` >+ FOREIGN KEY (`rota_id`) >+ REFERENCES `stockrotationrotas` (`rota_id`) >+ ON UPDATE CASCADE ON DELETE CASCADE, >+ CONSTRAINT `stockrotationstages_bifk` >+ FOREIGN KEY (`branchcode_id`) >+ REFERENCES `branches` (`branchcode`) >+ ON UPDATE CASCADE ON DELETE CASCADE >+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; >+ }); >+ } >+ >+ # Stock Rotation Items >+ unless (TableExists('stockrotationitems')){ >+ $dbh->do(q{ >+ CREATE TABLE `stockrotationitems` ( >+ `itemnumber_id` int(11) NOT NULL, -- Itemnumber to link to a stage & rota >+ `stage_id` int(11) NOT NULL, -- stage ID to link the item to >+ `indemand` tinyint(1) NOT NULL default 0, -- Should this item be skipped for rotation? >+ `fresh` tinyint(1) NOT NULL default 0, -- Flag showing item is only just added to rota >+ PRIMARY KEY (itemnumber_id), >+ CONSTRAINT `stockrotationitems_iifk` >+ FOREIGN KEY (`itemnumber_id`) >+ REFERENCES `items` (`itemnumber`) >+ ON UPDATE CASCADE ON DELETE CASCADE, >+ CONSTRAINT `stockrotationitems_sifk` >+ FOREIGN KEY (`stage_id`) >+ REFERENCES `stockrotationstages` (`stage_id`) >+ ON UPDATE CASCADE ON DELETE CASCADE >+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; >+ }); >+ } >+ >+ # System preferences >+ $dbh->do(q{ >+ INSERT IGNORE INTO `systempreferences` (`variable`,`value`,`explanation`,`options`,`type`) >+ VALUES ('StockRotation','0','If ON, enables the stock rotation module','','YesNo'), >+ ('RotationPreventTransfers','0','If ON, prevent any transfers for items on stock rotation rotas, except for stock rotation transfers','','YesNo'); >+ }); >+ >+ # Permissions >+ $dbh->do(q{ >+ INSERT IGNORE INTO `userflags` (`bit`, `flag`, `flagdesc`, `defaulton`) >+ VALUES (24, 'stockrotation', 'Manage stockrotation operations', 0); >+ }); >+ >+ $dbh->do(q{ >+ INSERT IGNORE INTO `permissions` (`module_bit`, `code`, `description`) >+ VALUES (24, 'manage_rotas', 'Create, edit and delete rotas'), >+ (24, 'manage_rota_items', 'Add and remove items from rotas'); >+ }); >+ >+ # Notices >+ $dbh->do(q{ >+ INSERT IGNORE INTO `letter` (`module`, `code`, `branchcode`, `name`, `is_html`, `title`, `content`, `message_transport_type`) >+ VALUES ('circulation', 'SR_SLIP', '', 'Stock Rotation Slip', 0, 'Stockrotation Report', 'Stockrotation report for [% branch.name %]:\r\n\r\n[% IF branch.items.size %][% branch.items.size %] items to be processed for this branch.\r\n[% ELSE %]No items to be processed for this branch\r\n[% END %][% FOREACH item IN branch.items %][% IF item.reason ne \'in-demand\' %]Title: [% item.title %]\r\nAuthor: [% item.author %]\r\nCallnumber: [% item.callnumber %]\r\nLocation: [% item.location %]\r\nBarcode: [% item.barcode %]\r\nOn loan?: [% item.onloan %]\r\nStatus: [% item.reason %]\r\nCurrent Library: [% item.branch.branchname %] [% item.branch.branchcode %]\r\n\r\n[% END %][% END %]', 'email'); >+ }); >+ >+ print "Upgrade to $DBversion done (Bug 11897 - Add Stock Rotation Feature)\n"; >+ SetVersion( $DBversion ); >+} >diff --git a/installer/data/mysql/atomicupdate/stockrot_tables.sql b/installer/data/mysql/atomicupdate/stockrot_tables.sql >deleted file mode 100644 >index 5ac60c0acd..0000000000 >--- a/installer/data/mysql/atomicupdate/stockrot_tables.sql >+++ /dev/null >@@ -1,69 +0,0 @@ >--- Stock Rotation Rotas >- >-CREATE TABLE IF NOT EXISTS stockrotationrotas ( >- rota_id int(11) auto_increment, -- Stockrotation rota ID >- title varchar(100) NOT NULL, -- Title for this rota >- description text NOT NULL default '', -- Description for this rota >- cyclical tinyint(1) NOT NULL default 0, -- Should items on this rota keep cycling? >- active tinyint(1) NOT NULL default 0, -- Is this rota currently active? >- PRIMARY KEY (`rota_id`), >- CONSTRAINT `stockrotationrotas_title` >- UNIQUE (`title`) >-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; >- >--- Stock Rotation Stages >- >-CREATE TABLE IF NOT EXISTS stockrotationstages ( >- stage_id int(11) auto_increment, -- Unique stage ID >- position int(11) NOT NULL, -- The position of this stage within its rota >- rota_id int(11) NOT NULL, -- The rota this stage belongs to >- branchcode_id varchar(10) NOT NULL, -- Branch this stage relates to >- duration int(11) NOT NULL default 4, -- The number of days items shoud occupy this stage >- PRIMARY KEY (`stage_id`), >- CONSTRAINT `stockrotationstages_rifk` >- FOREIGN KEY (`rota_id`) >- REFERENCES `stockrotationrotas` (`rota_id`) >- ON UPDATE CASCADE ON DELETE CASCADE, >- CONSTRAINT `stockrotationstages_bifk` >- FOREIGN KEY (`branchcode_id`) >- REFERENCES `branches` (`branchcode`) >- ON UPDATE CASCADE ON DELETE CASCADE >-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; >- >--- Stock Rotation Items >- >-CREATE TABLE IF NOT EXISTS stockrotationitems ( >- itemnumber_id int(11) NOT NULL, -- Itemnumber to link to a stage & rota >- stage_id int(11) NOT NULL, -- stage ID to link the item to >- indemand tinyint(1) NOT NULL default 0, -- Should this item be skipped for rotation? >- fresh tinyint(1) NOT NULL default 0, -- Flag showing item is only just added to rota >- PRIMARY KEY (itemnumber_id), >- CONSTRAINT `stockrotationitems_iifk` >- FOREIGN KEY (`itemnumber_id`) >- REFERENCES `items` (`itemnumber`) >- ON UPDATE CASCADE ON DELETE CASCADE, >- CONSTRAINT `stockrotationitems_sifk` >- FOREIGN KEY (`stage_id`) >- REFERENCES `stockrotationstages` (`stage_id`) >- ON UPDATE CASCADE ON DELETE CASCADE >-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; >- >--- System preferences >- >-INSERT IGNORE INTO systempreferences (variable,value,explanation,options,type) VALUES >- ('StockRotation','0','If ON, enables the stock rotation module','','YesNo'), >- ('RotationPreventTransfers','0','If ON, prevent any transfers for items on stock rotation rotas, except for stock rotation transfers','','YesNo'); >- >--- Permissions >- >-INSERT IGNORE INTO userflags (bit, flag, flagdesc, defaulton) VALUES >- (24, 'stockrotation', 'Manage stockrotation operations', 0); >- >-INSERT IGNORE INTO permissions (module_bit, code, description) VALUES >- (24, 'manage_rotas', 'Create, edit and delete rotas'), >- (24, 'manage_rota_items', 'Add and remove items from rotas'); >- >--- Notices >- >-INSERT IGNORE INTO letter (module, code, branchcode, name, is_html, title, content, message_transport_type) VALUES >- ('circulation', 'SR_SLIP', '', 'Stock Rotation Slip', 0, 'Stockrotation Report', 'Stockrotation report for [% branch.name %]:\r\n\r\n[% IF branch.items.size %][% branch.items.size %] items to be processed for this branch.\r\n[% ELSE %]No items to be processed for this branch\r\n[% END %][% FOREACH item IN branch.items %][% IF item.reason ne \'in-demand\' %]Title: [% item.title %]\r\nAuthor: [% item.author %]\r\nCallnumber: [% item.callnumber %]\r\nLocation: [% item.location %]\r\nBarcode: [% item.barcode %]\r\nOn loan?: [% item.onloan %]\r\nStatus: [% item.reason %]\r\nCurrent Library: [% item.branch.branchname %] [% item.branch.branchcode %]\r\n\r\n[% END %][% END %]', 'email'); >-- >2.19.1
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 11897
:
25887
|
58207
|
58208
|
58209
|
58210
|
58211
|
58212
|
58213
|
58214
|
58215
|
58216
|
58217
|
58218
|
58219
|
58280
|
58281
|
58687
|
58692
|
58693
|
58694
|
58695
|
58696
|
60175
|
60715
|
61825
|
61826
|
61827
|
61828
|
61829
|
61830
|
61831
|
61832
|
61833
|
61834
|
61835
|
61836
|
61837
|
61838
|
61839
|
61885
|
62730
|
62750
|
62751
|
62752
|
62753
|
62754
|
62755
|
62756
|
62757
|
62758
|
62759
|
62760
|
62761
|
62762
|
62763
|
62764
|
62765
|
62766
|
62767
|
63063
|
63064
|
63065
|
63066
|
63067
|
63068
|
63069
|
63070
|
63071
|
63072
|
63073
|
63074
|
63075
|
63076
|
63077
|
63078
|
63079
|
63080
|
63114
|
64850
|
64851
|
65715
|
65716
|
65717
|
65718
|
65719
|
65720
|
65721
|
65722
|
65723
|
65724
|
65725
|
65726
|
65727
|
65728
|
65729
|
65730
|
65731
|
65732
|
65733
|
65734
|
65735
|
65736
|
65737
|
65738
|
65739
|
65740
|
65741
|
65742
|
65743
|
65744
|
65745
|
65746
|
65747
|
65748
|
65749
|
65750
|
65751
|
65752
|
65753
|
65754
|
65755
|
65756
|
65757
|
65758
|
66381
|
70496
|
70497
|
70498
|
70499
|
70500
|
70501
|
70502
|
70503
|
70504
|
70505
|
70506
|
70507
|
70508
|
70509
|
70510
|
70511
|
70512
|
70513
|
70514
|
70515
|
70516
|
70517
|
70518
|
70519
|
70520
|
70521
|
70522
|
70523
|
70524
|
72124
|
72125
|
72126
|
72127
|
72128
|
74003
|
74004
|
74005
|
74006
|
74007
|
74008
|
74010
|
74011
|
74012
|
74013
|
74014
|
74015
|
74016
|
74017
|
74197
|
74198
|
74199
|
74200
|
74201
|
74202
|
74203
|
74204
|
74205
|
74206
|
74319
|
74320
|
74360
|
74459
|
74460
|
74461
|
74462
|
74463
|
74464
|
74465
|
74466
|
74467
|
74468
|
74469
|
74470
|
75409
|
75410
|
75411
|
75412
|
75413
|
75414
|
75415
|
75416
|
75417
|
75418
|
75419
|
75420
|
76121
|
76122
|
76123
|
76124
|
76125
|
76126
|
76127
|
76128
|
76129
|
76130
|
76131
|
76132
|
76133
|
76134
|
76135
|
76144
|
76706
|
76707
|
76708
|
76709
|
76710
|
77623
|
77624
|
77625
|
77626
|
78387
|
78388
|
78389
|
78390
|
78391
|
78392
|
78393
|
78394
|
78404
|
78405
|
78406
|
78407
|
78408
|
79040
|
79041
|
79042
|
79043
|
79044
|
79738
|
79739
|
79740
|
79741
|
79742
|
79746
|
79747
|
79748
|
79749
|
79750
|
79964
|
79965
|
79966
|
79967
|
79968
|
79969
|
79970
|
79971
|
79972
|
79973
|
79974
|
79975
|
80068
|
80087
|
80088
|
80089
|
80090
|
80091
|
80092
|
80093
|
80094
|
80095
|
80096
|
80097
|
80098
|
80099
|
80100
|
80118
|
80260
|
80261
|
80262
|
80263
|
80264
|
80265
|
80266
|
80267
|
80268
|
80269
|
80270
|
80271
|
80272
|
80273
|
80274
|
80275
| 80289 |
80298
|
80299
|
80300