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 4142-4147 CREATE TABLE illrequests ( Link Here
4142
      ON UPDATE CASCADE ON DELETE CASCADE
4142
      ON UPDATE CASCADE ON DELETE CASCADE
4143
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4143
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4144
4144
4145
--
4146
-- Table structure for table `stockrotationrotas`
4147
--
4148
4149
CREATE TABLE IF NOT EXISTS stockrotationrotas (
4150
    rota_id int(11) auto_increment,          -- Stockrotation rota ID
4151
    title varchar(100) NOT NULL,            -- Title for this rota
4152
    description text NOT NULL default '',   -- Description for this rota
4153
    cyclical tinyint(1) NOT NULL default 0, -- Should items on this rota keep cycling?
4154
    active tinyint(1) NOT NULL default 0,   -- Is this rota currently active?
4155
    PRIMARY KEY (`rota_id`)
4156
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
4157
4158
--
4159
-- Table structure for table `stockrotationstages`
4160
--
4161
4162
CREATE TABLE IF NOT EXISTS stockrotationstages (
4163
    stage_id int(11) auto_increment,     -- Unique stage ID
4164
    position int(11) NOT NULL,           -- The position of this stage within its rota
4165
    rota_id int(11) NOT NULL,            -- The rota this stage belongs to
4166
    branchcode_id varchar(10) NOT NULL,  -- Branch this stage relates to
4167
    duration int(11) NOT NULL default 4, -- The number of days items shoud occupy this stage
4168
    PRIMARY KEY (`stage_id`),
4169
    CONSTRAINT `stockrotationstages_rifk`
4170
      FOREIGN KEY (`rota_id`)
4171
      REFERENCES `stockrotationrotas` (`rota_id`)
4172
      ON UPDATE CASCADE ON DELETE CASCADE,
4173
    CONSTRAINT `stockrotationstages_bifk`
4174
      FOREIGN KEY (`branchcode_id`)
4175
      REFERENCES `branches` (`branchcode`)
4176
      ON UPDATE CASCADE ON DELETE CASCADE
4177
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
4178
4145
--
4179
--
4146
-- Table structure for table `illrequestattributes`
4180
-- Table structure for table `illrequestattributes`
4147
--
4181
--
Lines 4192-4197 CREATE TABLE `oauth_access_tokens` ( Link Here
4192
    PRIMARY KEY (`access_token`)
4226
    PRIMARY KEY (`access_token`)
4193
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4227
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4194
4228
4229
--
4230
-- Table structure for table `stockrotationitems`
4231
--
4232
4233
CREATE TABLE IF NOT EXISTS stockrotationitems (
4234
    itemnumber_id int(11) NOT NULL,         -- Itemnumber to link to a stage & rota
4235
    stage_id int(11) NOT NULL,              -- stage ID to link the item to
4236
    indemand tinyint(1) NOT NULL default 0, -- Should this item be skipped for rotation?
4237
    fresh tinyint(1) NOT NULL default 0,    -- Flag showing item is only just added to rota
4238
    PRIMARY KEY (itemnumber_id),
4239
    CONSTRAINT `stockrotationitems_iifk`
4240
      FOREIGN KEY (`itemnumber_id`)
4241
      REFERENCES `items` (`itemnumber`)
4242
      ON UPDATE CASCADE ON DELETE CASCADE,
4243
    CONSTRAINT `stockrotationitems_sifk`
4244
      FOREIGN KEY (`stage_id`)
4245
      REFERENCES `stockrotationstages` (`stage_id`)
4246
      ON UPDATE CASCADE ON DELETE CASCADE
4247
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
4248
4195
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
4249
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
4196
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
4250
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
4197
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
4251
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
(-)a/installer/data/mysql/sysprefs.sql (-1 / +3 lines)
Lines 615-619 INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` Link Here
615
('XSLTListsDisplay','default','','Enable XSLT stylesheet control over lists pages display on intranet','Free'),
615
('XSLTListsDisplay','default','','Enable XSLT stylesheet control over lists pages display on intranet','Free'),
616
('XSLTResultsDisplay','default','','Enable XSL stylesheet control over results page display on intranet','Free'),
616
('XSLTResultsDisplay','default','','Enable XSL stylesheet control over results page display on intranet','Free'),
617
('z3950AuthorAuthFields','701,702,700',NULL,'Define the MARC biblio fields for Personal Name Authorities to fill biblio.author','free'),
617
('z3950AuthorAuthFields','701,702,700',NULL,'Define the MARC biblio fields for Personal Name Authorities to fill biblio.author','free'),
618
('z3950NormalizeAuthor','0','','If ON, Personal Name Authorities will replace authors in biblio.author','YesNo')
618
('z3950NormalizeAuthor','0','','If ON, Personal Name Authorities will replace authors in biblio.author','YesNo'),
619
('StockRotation','0',NULL,'If ON, enables the stock rotation module','YesNo'),
620
('RotationPreventTransfers','0',NULL,'If ON, prevent any transfers for items on stock rotation rotas, except for stock rotation transfers','YesNo')
619
;
621
;
(-)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