View | Details | Raw Unified | Return to bug 11897
Collapse All | Expand All

(-)a/installer/data/mysql/atomicupdate/stockrot_tables.sql (+69 lines)
Line 0 Link Here
1
-- Stock Rotation Rotas
2
3
CREATE TABLE IF NOT EXISTS stockrotationrotas (
4
    rota_id int(11) auto_increment,          -- Stockrotation rota ID
5
    title varchar(100) NOT NULL,            -- Title for this rota
6
    description text NOT NULL default '',   -- Description for this rota
7
    cyclical tinyint(1) NOT NULL default 0, -- Should items on this rota keep cycling?
8
    active tinyint(1) NOT NULL default 0,   -- Is this rota currently active?
9
    PRIMARY KEY (`rota_id`),
10
    CONSTRAINT `stockrotationrotas_title`
11
      UNIQUE (`title`)
12
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
13
14
-- Stock Rotation Stages
15
16
CREATE TABLE IF NOT EXISTS stockrotationstages (
17
    stage_id int(11) auto_increment,     -- Unique stage ID
18
    position int(11) NOT NULL,           -- The position of this stage within its rota
19
    rota_id int(11) NOT NULL,            -- The rota this stage belongs to
20
    branchcode_id varchar(10) NOT NULL,  -- Branch this stage relates to
21
    duration int(11) NOT NULL default 4, -- The number of days items shoud occupy this stage
22
    PRIMARY KEY (`stage_id`),
23
    CONSTRAINT `stockrotationstages_rifk`
24
      FOREIGN KEY (`rota_id`)
25
      REFERENCES `stockrotationrotas` (`rota_id`)
26
      ON UPDATE CASCADE ON DELETE CASCADE,
27
    CONSTRAINT `stockrotationstages_bifk`
28
      FOREIGN KEY (`branchcode_id`)
29
      REFERENCES `branches` (`branchcode`)
30
      ON UPDATE CASCADE ON DELETE CASCADE
31
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
32
33
-- Stock Rotation Items
34
35
CREATE TABLE IF NOT EXISTS stockrotationitems (
36
    itemnumber_id int(11) NOT NULL,         -- Itemnumber to link to a stage & rota
37
    stage_id int(11) NOT NULL,              -- stage ID to link the item to
38
    indemand tinyint(1) NOT NULL default 0, -- Should this item be skipped for rotation?
39
    fresh tinyint(1) NOT NULL default 0,    -- Flag showing item is only just added to rota
40
    PRIMARY KEY (itemnumber_id),
41
    CONSTRAINT `stockrotationitems_iifk`
42
      FOREIGN KEY (`itemnumber_id`)
43
      REFERENCES `items` (`itemnumber`)
44
      ON UPDATE CASCADE ON DELETE CASCADE,
45
    CONSTRAINT `stockrotationitems_sifk`
46
      FOREIGN KEY (`stage_id`)
47
      REFERENCES `stockrotationstages` (`stage_id`)
48
      ON UPDATE CASCADE ON DELETE CASCADE
49
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
50
51
-- System preferences
52
53
INSERT IGNORE INTO systempreferences (variable,value,explanation,options,type) VALUES
54
       ('StockRotation','0','If ON, enables the stock rotation module','','YesNo'),
55
       ('RotationPreventTransfers','0','If ON, prevent any transfers for items on stock rotation rotas, except for stock rotation transfers','','YesNo');
56
57
-- Permissions
58
59
INSERT IGNORE INTO userflags (bit, flag, flagdesc, defaulton) VALUES
60
       (24, 'stockrotation', 'Manage stockrotation operations', 0);
61
62
INSERT IGNORE INTO permissions (module_bit, code, description) VALUES
63
       (24, 'manage_rotas', 'Create, edit and delete rotas'),
64
       (24, 'manage_rota_items', 'Add and remove items from rotas');
65
66
-- Notices
67
68
INSERT IGNORE INTO letter (module, code, branchcode, name, is_html, title, content, message_transport_type) VALUES
69
       ('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');
(-)a/installer/data/mysql/kohastructure.sql (+54 lines)
Lines 4158-4163 CREATE TABLE illrequests ( Link Here
4158
      ON UPDATE CASCADE ON DELETE CASCADE
4158
      ON UPDATE CASCADE ON DELETE CASCADE
4159
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4159
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4160
4160
4161
--
4162
-- Table structure for table `stockrotationrotas`
4163
--
4164
4165
CREATE TABLE IF NOT EXISTS stockrotationrotas (
4166
    rota_id int(11) auto_increment,          -- Stockrotation rota ID
4167
    title varchar(100) NOT NULL,            -- Title for this rota
4168
    description text NOT NULL default '',   -- Description for this rota
4169
    cyclical tinyint(1) NOT NULL default 0, -- Should items on this rota keep cycling?
4170
    active tinyint(1) NOT NULL default 0,   -- Is this rota currently active?
4171
    PRIMARY KEY (`rota_id`)
4172
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
4173
4174
--
4175
-- Table structure for table `stockrotationstages`
4176
--
4177
4178
CREATE TABLE IF NOT EXISTS stockrotationstages (
4179
    stage_id int(11) auto_increment,     -- Unique stage ID
4180
    position int(11) NOT NULL,           -- The position of this stage within its rota
4181
    rota_id int(11) NOT NULL,            -- The rota this stage belongs to
4182
    branchcode_id varchar(10) NOT NULL,  -- Branch this stage relates to
4183
    duration int(11) NOT NULL default 4, -- The number of days items shoud occupy this stage
4184
    PRIMARY KEY (`stage_id`),
4185
    CONSTRAINT `stockrotationstages_rifk`
4186
      FOREIGN KEY (`rota_id`)
4187
      REFERENCES `stockrotationrotas` (`rota_id`)
4188
      ON UPDATE CASCADE ON DELETE CASCADE,
4189
    CONSTRAINT `stockrotationstages_bifk`
4190
      FOREIGN KEY (`branchcode_id`)
4191
      REFERENCES `branches` (`branchcode`)
4192
      ON UPDATE CASCADE ON DELETE CASCADE
4193
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
4194
4161
--
4195
--
4162
-- Table structure for table `illrequestattributes`
4196
-- Table structure for table `illrequestattributes`
4163
--
4197
--
Lines 4208-4213 CREATE TABLE `oauth_access_tokens` ( Link Here
4208
    PRIMARY KEY (`access_token`)
4242
    PRIMARY KEY (`access_token`)
4209
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4243
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4210
4244
4245
--
4246
-- Table structure for table `stockrotationitems`
4247
--
4248
4249
CREATE TABLE IF NOT EXISTS stockrotationitems (
4250
    itemnumber_id int(11) NOT NULL,         -- Itemnumber to link to a stage & rota
4251
    stage_id int(11) NOT NULL,              -- stage ID to link the item to
4252
    indemand tinyint(1) NOT NULL default 0, -- Should this item be skipped for rotation?
4253
    fresh tinyint(1) NOT NULL default 0,    -- Flag showing item is only just added to rota
4254
    PRIMARY KEY (itemnumber_id),
4255
    CONSTRAINT `stockrotationitems_iifk`
4256
      FOREIGN KEY (`itemnumber_id`)
4257
      REFERENCES `items` (`itemnumber`)
4258
      ON UPDATE CASCADE ON DELETE CASCADE,
4259
    CONSTRAINT `stockrotationitems_sifk`
4260
      FOREIGN KEY (`stage_id`)
4261
      REFERENCES `stockrotationstages` (`stage_id`)
4262
      ON UPDATE CASCADE ON DELETE CASCADE
4263
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
4264
4211
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
4265
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
4212
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
4266
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
4213
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
4267
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
(-)a/installer/data/mysql/sysprefs.sql (-1 / +3 lines)
Lines 617-621 INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` Link Here
617
('XSLTListsDisplay','default','','Enable XSLT stylesheet control over lists pages display on intranet','Free'),
617
('XSLTListsDisplay','default','','Enable XSLT stylesheet control over lists pages display on intranet','Free'),
618
('XSLTResultsDisplay','default','','Enable XSL stylesheet control over results page display on intranet','Free'),
618
('XSLTResultsDisplay','default','','Enable XSL stylesheet control over results page display on intranet','Free'),
619
('z3950AuthorAuthFields','701,702,700',NULL,'Define the MARC biblio fields for Personal Name Authorities to fill biblio.author','free'),
619
('z3950AuthorAuthFields','701,702,700',NULL,'Define the MARC biblio fields for Personal Name Authorities to fill biblio.author','free'),
620
('z3950NormalizeAuthor','0','','If ON, Personal Name Authorities will replace authors in biblio.author','YesNo')
620
('z3950NormalizeAuthor','0','','If ON, Personal Name Authorities will replace authors in biblio.author','YesNo'),
621
('StockRotation','0',NULL,'If ON, enables the stock rotation module','YesNo'),
622
('RotationPreventTransfers','0',NULL,'If ON, prevent any transfers for items on stock rotation rotas, except for stock rotation transfers','YesNo')
621
;
623
;
(-)a/installer/data/mysql/userflags.sql (+1 lines)
Lines 20-23 INSERT INTO userflags (bit, flag, flagdesc, defaulton) VALUES Link Here
20
(21, 'clubs', 'Patron clubs', '0'),
20
(21, 'clubs', 'Patron clubs', '0'),
21
(22,'ill','The Interlibrary Loans Module',0),
21
(22,'ill','The Interlibrary Loans Module',0),
22
(23,'self_check','Self check modules',0)
22
(23,'self_check','Self check modules',0)
23
(24, 'stockrotation', 'Manage stockrotation operations', 0)
23
;
24
;
(-)a/installer/data/mysql/userpermissions.sql (+2 lines)
Lines 89-92 INSERT INTO permissions (module_bit, code, description) VALUES Link Here
89
   (21, 'enroll', 'Enroll patrons in clubs'),
89
   (21, 'enroll', 'Enroll patrons in clubs'),
90
   (23, 'self_checkin_module', 'Log into the self check-in module'),
90
   (23, 'self_checkin_module', 'Log into the self check-in module'),
91
   (23, 'self_checkout_module', 'Perform self checkout at the OPAC. It should be used for the patron matching the AutoSelfCheckID')
91
   (23, 'self_checkout_module', 'Perform self checkout at the OPAC. It should be used for the patron matching the AutoSelfCheckID')
92
   (24, 'manage_rotas', 'Create, edit and delete rotas'),
93
   (24, 'manage_rota_items', 'Add and remove items from rotas')
92
;
94
;
(-)a/koha-tmpl/intranet-tmpl/prog/en/includes/permissions.inc (+4 lines)
Lines 21-26 Link Here
21
    [%- CASE 'clubs' -%]<span>Patron clubs</span>
21
    [%- CASE 'clubs' -%]<span>Patron clubs</span>
22
    [%- CASE 'ill' -%]<span>Create and modify Interlibrary loan requests</span>
22
    [%- CASE 'ill' -%]<span>Create and modify Interlibrary loan requests</span>
23
    [%- CASE 'self_check' -%]<span>Self check modules</span>
23
    [%- CASE 'self_check' -%]<span>Self check modules</span>
24
    [%- CASE 'stockrotation' -%]<span>Manage stockrotation operations</span>
24
    [%- END -%]
25
    [%- END -%]
25
[%- END -%]
26
[%- END -%]
26
27
Lines 118-121 Link Here
118
    [%- CASE 'self_checkin_module' -%]<span>Log into the self check-in module. Note: this permission prevents the patron from using any other OPAC functionality</span>
119
    [%- CASE 'self_checkin_module' -%]<span>Log into the self check-in module. Note: this permission prevents the patron from using any other OPAC functionality</span>
119
    [%- CASE 'self_checkout_module' -%]<span>Perform self checkout at the OPAC. It should be used for the patron matching the AutoSelfCheckID</span>
120
    [%- CASE 'self_checkout_module' -%]<span>Perform self checkout at the OPAC. It should be used for the patron matching the AutoSelfCheckID</span>
120
  [%- END -%]
121
  [%- END -%]
122
    [%- CASE 'can_add_items_rotas' -%]<span>Add and remove items from rotas</span>
123
    [%- CASE 'can_edit_rotas' -%]<span>Create, edit and delete rotas</span>
124
    [%- END -%]
121
[%- END -%]
125
[%- END -%]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref (-1 / +13 lines)
Lines 950-955 Circulation: Link Here
950
                  yes: Enable
950
                  yes: Enable
951
                  no: Disable
951
                  no: Disable
952
            - "housebound module"
952
            - "housebound module"
953
    Stockrotation module:
954
        -
955
            - pref: StockRotation
956
              choices:
957
                  yes: Enable
958
                  no: Disable
959
            - "the stock rotation module"
960
        -
961
            - pref: RotationPreventTransfers
962
              choices:
963
                  yes: Disallow
964
                  no: Allow
965
            - "library transfers on items in stockrotation rotas"
953
    Article Requests:
966
    Article Requests:
954
        -
967
        -
955
            - pref: ArticleRequests
968
            - pref: ArticleRequests
956
- 

Return to bug 11897