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

(-)a/installer/data/mysql/atomicupdate/stockrot_tables.sql (+62 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
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
11
12
-- Stock Rotation Stages
13
14
CREATE TABLE IF NOT EXISTS stockrotationstages (
15
    stage_id int(11) auto_increment,     -- Unique stage ID
16
    position int(11) NOT NULL,           -- The position of this stage within its rota
17
    rota_id int(11) NOT NULL,            -- The rota this stage belongs to
18
    branchcode_id varchar(10) NOT NULL,  -- Branch this stage relates to
19
    duration int(11) NOT NULL default 4, -- The number of days items shoud occupy this stage
20
    PRIMARY KEY (`stage_id`),
21
    CONSTRAINT `stockrotationstages_rifk`
22
      FOREIGN KEY (`rota_id`)
23
      REFERENCES `stockrotationrotas` (`rota_id`)
24
      ON UPDATE CASCADE ON DELETE CASCADE,
25
    CONSTRAINT `stockrotationstages_bifk`
26
      FOREIGN KEY (`branchcode_id`)
27
      REFERENCES `branches` (`branchcode`)
28
      ON UPDATE CASCADE ON DELETE CASCADE
29
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
30
31
-- Stock Rotation Items
32
33
CREATE TABLE IF NOT EXISTS stockrotationitems (
34
    itemnumber_id int(11) NOT NULL,         -- Itemnumber to link to a stage & rota
35
    stage_id int(11) NOT NULL,              -- stage ID to link the item to
36
    indemand tinyint(1) NOT NULL default 0, -- Should this item be skipped for rotation?
37
    fresh tinyint(1) NOT NULL default 0,    -- Flag showing item is only just added to rota
38
    PRIMARY KEY (itemnumber_id),
39
    CONSTRAINT `stockrotationitems_iifk`
40
      FOREIGN KEY (`itemnumber_id`)
41
      REFERENCES `items` (`itemnumber`)
42
      ON UPDATE CASCADE ON DELETE CASCADE,
43
    CONSTRAINT `stockrotationitems_sifk`
44
      FOREIGN KEY (`stage_id`)
45
      REFERENCES `stockrotationstages` (`stage_id`)
46
      ON UPDATE CASCADE ON DELETE CASCADE
47
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
48
49
-- System preferences
50
51
INSERT IGNORE INTO systempreferences (variable,value,explanation,options,type) VALUES
52
       ('StockRotation','0','If ON, enables the stock rotation module','','YesNo'),
53
       ('RotationPreventTransfers','0','If ON, prevent any transfers for items on stock rotation rotas, except for stock rotation transfers','','YesNo');
54
55
-- Permissions
56
57
INSERT IGNORE INTO userflags (bit, flag, flagdesc, defaulton) VALUES
58
       (23, 'stockrotation', 'Manage stockrotation operations', 0);
59
60
INSERT IGNORE INTO permissions (module_bit, code, description) VALUES
61
       (23, 'can_edit_rotas', 'Create, edit and delete rotas'),
62
       (23, 'can_add_items_rotas', 'Add and remove items from rotas');
(-)a/installer/data/mysql/kohastructure.sql (+54 lines)
Lines 4119-4124 CREATE TABLE illrequests ( Link Here
4119
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4119
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4120
4120
4121
--
4121
--
4122
-- Table structure for table `stockrotationrotas`
4123
--
4124
4125
CREATE TABLE IF NOT EXISTS stockrotationrotas (
4126
    rota_id int(11) auto_increment,          -- Stockrotation rota ID
4127
    title varchar(100) NOT NULL,            -- Title for this rota
4128
    description text NOT NULL default '',   -- Description for this rota
4129
    cyclical tinyint(1) NOT NULL default 0, -- Should items on this rota keep cycling?
4130
    active tinyint(1) NOT NULL default 0,   -- Is this rota currently active?
4131
    PRIMARY KEY (`rota_id`)
4132
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
4133
4134
--
4135
-- Table structure for table `stockrotationstages`
4136
--
4137
4138
CREATE TABLE IF NOT EXISTS stockrotationstages (
4139
    stage_id int(11) auto_increment,     -- Unique stage ID
4140
    position int(11) NOT NULL,           -- The position of this stage within its rota
4141
    rota_id int(11) NOT NULL,            -- The rota this stage belongs to
4142
    branchcode_id varchar(10) NOT NULL,  -- Branch this stage relates to
4143
    duration int(11) NOT NULL default 4, -- The number of days items shoud occupy this stage
4144
    PRIMARY KEY (`stage_id`),
4145
    CONSTRAINT `stockrotationstages_rifk`
4146
      FOREIGN KEY (`rota_id`)
4147
      REFERENCES `stockrotationrotas` (`rota_id`)
4148
      ON UPDATE CASCADE ON DELETE CASCADE,
4149
    CONSTRAINT `stockrotationstages_bifk`
4150
      FOREIGN KEY (`branchcode_id`)
4151
      REFERENCES `branches` (`branchcode`)
4152
      ON UPDATE CASCADE ON DELETE CASCADE
4153
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
4154
4155
--
4122
-- Table structure for table `illrequestattributes`
4156
-- Table structure for table `illrequestattributes`
4123
--
4157
--
4124
4158
Lines 4156-4161 CREATE TABLE library_groups ( Link Here
4156
    UNIQUE KEY title ( title )
4190
    UNIQUE KEY title ( title )
4157
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4191
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4158
4192
4193
--
4194
-- Table structure for table `stockrotationitems`
4195
--
4196
4197
CREATE TABLE IF NOT EXISTS stockrotationitems (
4198
    itemnumber_id int(11) NOT NULL,         -- Itemnumber to link to a stage & rota
4199
    stage_id int(11) NOT NULL,              -- stage ID to link the item to
4200
    indemand tinyint(1) NOT NULL default 0, -- Should this item be skipped for rotation?
4201
    fresh tinyint(1) NOT NULL default 0,    -- Flag showing item is only just added to rota
4202
    PRIMARY KEY (itemnumber_id),
4203
    CONSTRAINT `stockrotationitems_iifk`
4204
      FOREIGN KEY (`itemnumber_id`)
4205
      REFERENCES `items` (`itemnumber`)
4206
      ON UPDATE CASCADE ON DELETE CASCADE,
4207
    CONSTRAINT `stockrotationitems_sifk`
4208
      FOREIGN KEY (`stage_id`)
4209
      REFERENCES `stockrotationstages` (`stage_id`)
4210
      ON UPDATE CASCADE ON DELETE CASCADE
4211
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
4212
4159
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
4213
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
4160
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
4214
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
4161
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
4215
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
(-)a/installer/data/mysql/sysprefs.sql (-1 / +3 lines)
Lines 602-606 INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` Link Here
602
('XSLTListsDisplay','default','','Enable XSLT stylesheet control over lists pages display on intranet','Free'),
602
('XSLTListsDisplay','default','','Enable XSLT stylesheet control over lists pages display on intranet','Free'),
603
('XSLTResultsDisplay','default','','Enable XSL stylesheet control over results page display on intranet','Free'),
603
('XSLTResultsDisplay','default','','Enable XSL stylesheet control over results page display on intranet','Free'),
604
('z3950AuthorAuthFields','701,702,700',NULL,'Define the MARC biblio fields for Personal Name Authorities to fill biblio.author','free'),
604
('z3950AuthorAuthFields','701,702,700',NULL,'Define the MARC biblio fields for Personal Name Authorities to fill biblio.author','free'),
605
('z3950NormalizeAuthor','0','','If ON, Personal Name Authorities will replace authors in biblio.author','YesNo')
605
('z3950NormalizeAuthor','0','','If ON, Personal Name Authorities will replace authors in biblio.author','YesNo'),
606
('StockRotation','0',NULL,'If ON, enables the stock rotation module','YesNo'),
607
('RotationPreventTransfers','0',NULL,'If ON, prevent any transfers for items on stock rotation rotas, except for stock rotation transfers','YesNo')
606
;
608
;
(-)a/installer/data/mysql/userflags.sql (-1 / +2 lines)
Lines 19-23 INSERT INTO userflags (bit, flag, flagdesc, defaulton) VALUES Link Here
19
(19, 'plugins', 'Koha plugins', '0'),
19
(19, 'plugins', 'Koha plugins', '0'),
20
(20, 'lists', 'Lists', 0),
20
(20, 'lists', 'Lists', 0),
21
(21, 'clubs', 'Patron clubs', '0'),
21
(21, 'clubs', 'Patron clubs', '0'),
22
(22,'ill','The Interlibrary Loans Module',0)
22
(22,'ill','The Interlibrary Loans Module',0),
23
(23, 'stockrotation', 'Manage stockrotation operations', 0)
23
;
24
;
(-)a/installer/data/mysql/userpermissions.sql (-1 / +3 lines)
Lines 83-87 INSERT INTO permissions (module_bit, code, description) VALUES Link Here
83
   (20, 'delete_public_lists', 'Delete public lists'),
83
   (20, 'delete_public_lists', 'Delete public lists'),
84
   (21, 'edit_templates', 'Create and update club templates'),
84
   (21, 'edit_templates', 'Create and update club templates'),
85
   (21, 'edit_clubs', 'Create and update clubs'),
85
   (21, 'edit_clubs', 'Create and update clubs'),
86
   (21, 'enroll', 'Enroll patrons in clubs')
86
   (21, 'enroll', 'Enroll patrons in clubs'),
87
   (23, 'can_edit_rotas', 'Create, edit and delete rotas'),
88
   (23, 'can_add_items_rotas', 'Add and remove items from rotas')
87
;
89
;
(-)a/koha-tmpl/intranet-tmpl/prog/en/includes/permissions.inc (+3 lines)
Lines 21-26 Link Here
21
    [%- CASE 'lists' -%]<span>Lists</span>
21
    [%- CASE 'lists' -%]<span>Lists</span>
22
    [%- CASE 'clubs' -%]<span>Patron clubs</span>
22
    [%- CASE 'clubs' -%]<span>Patron clubs</span>
23
    [%- CASE 'ill' -%]<span>Create and modify Interlibrary loan requests</span>
23
    [%- CASE 'ill' -%]<span>Create and modify Interlibrary loan requests</span>
24
    [%- CASE 'stockrotation' -%]<span>Manage stockrotation operations</span>
24
    [%- END -%]
25
    [%- END -%]
25
[%- END -%]
26
[%- END -%]
26
27
Lines 111-115 Link Here
111
    [%- CASE 'edit_templates' -%]<span>Create and edit club templates</span>
112
    [%- CASE 'edit_templates' -%]<span>Create and edit club templates</span>
112
    [%- CASE 'enroll' -%]<span>Enroll patrons in clubs</span>
113
    [%- CASE 'enroll' -%]<span>Enroll patrons in clubs</span>
113
    [%- CASE 'edi_manage' -%]<span>Manage EDIFACT transmissions</span>
114
    [%- CASE 'edi_manage' -%]<span>Manage EDIFACT transmissions</span>
115
    [%- CASE 'can_add_items_rotas' -%]<span>Add and remove items from rotas</span>
116
    [%- CASE 'can_edit_rotas' -%]<span>Create, edit and delete rotas</span>
114
    [%- END -%]
117
    [%- END -%]
115
[%- END -%]
118
[%- END -%]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref (-1 / +13 lines)
Lines 875-880 Circulation: Link Here
875
                  yes: Enable
875
                  yes: Enable
876
                  no: Disable
876
                  no: Disable
877
            - "housebound module"
877
            - "housebound module"
878
    Stockrotation module:
879
        -
880
            - pref: StockRotation
881
              choices:
882
                  yes: Enable
883
                  no: Disable
884
            - "the stock rotation module"
885
        -
886
            - pref: RotationPreventTransfers
887
              choices:
888
                  yes: Disallow
889
                  no: Allow
890
            - "library transfers on items in stockrotation rotas"
878
    Article Requests:
891
    Article Requests:
879
        -
892
        -
880
            - pref: ArticleRequests
893
            - pref: ArticleRequests
881
- 

Return to bug 11897