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

(-)a/Koha/REST/V1/Stage.pm (+12 lines)
Lines 22-27 use Mojo::Base 'Mojolicious::Controller'; Link Here
22
use Koha::StockRotationRotas;
22
use Koha::StockRotationRotas;
23
use Koha::StockRotationStages;
23
use Koha::StockRotationStages;
24
24
25
=head1 NAME
26
27
Koha::REST::V1::Stage
28
29
=head2 Operations
30
31
=head3 move
32
33
Move a stage up or down the stockrotation rota.
34
35
=cut
36
25
sub move {
37
sub move {
26
    my $c = shift->openapi->valid_input or return;
38
    my $c = shift->openapi->valid_input or return;
27
    my $input = $c->validation->output;
39
    my $input = $c->validation->output;
(-)a/catalogue/stockrotation.pl (-1 / +4 lines)
Lines 57-63 my ($template, $loggedinuser, $cookie) = get_template_and_user( Link Here
57
        query           => $input,
57
        query           => $input,
58
        type            => 'intranet',
58
        type            => 'intranet',
59
        authnotrequired => 0,
59
        authnotrequired => 0,
60
        flagsrequired   => { catalogue => 1 }
60
        flagsrequired   => {
61
            catalogue => 1,
62
            stockrotation => 'can_user_stockrotation_can_edit_rotas',
63
        },
61
    }
64
    }
62
);
65
);
63
66
(-)a/installer/data/mysql/atomicupdate/stockrot_tables.sql (-3 / +3 lines)
Lines 7-13 CREATE TABLE IF NOT EXISTS stockrotationrotas ( Link Here
7
    cyclical tinyint(1) NOT NULL default 0, -- Should items on this rota keep cycling?
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?
8
    active tinyint(1) NOT NULL default 0,   -- Is this rota currently active?
9
    PRIMARY KEY (`rota_id`)
9
    PRIMARY KEY (`rota_id`)
10
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
10
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
11
11
12
-- Stock Rotation Stages
12
-- Stock Rotation Stages
13
13
Lines 26-32 CREATE TABLE IF NOT EXISTS stockrotationstages ( Link Here
26
      FOREIGN KEY (`branchcode_id`)
26
      FOREIGN KEY (`branchcode_id`)
27
      REFERENCES `branches` (`branchcode`)
27
      REFERENCES `branches` (`branchcode`)
28
      ON UPDATE CASCADE ON DELETE CASCADE
28
      ON UPDATE CASCADE ON DELETE CASCADE
29
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
29
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
30
30
31
-- Stock Rotation Items
31
-- Stock Rotation Items
32
32
Lines 44-50 CREATE TABLE IF NOT EXISTS stockrotationitems ( Link Here
44
      FOREIGN KEY (`stage_id`)
44
      FOREIGN KEY (`stage_id`)
45
      REFERENCES `stockrotationstages` (`stage_id`)
45
      REFERENCES `stockrotationstages` (`stage_id`)
46
      ON UPDATE CASCADE ON DELETE CASCADE
46
      ON UPDATE CASCADE ON DELETE CASCADE
47
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
47
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
48
48
49
-- System preferences
49
-- System preferences
50
50
(-)a/installer/data/mysql/kohastructure.sql (-35 / +35 lines)
Lines 4120-4159 CREATE TABLE illrequests ( Link Here
4120
      ON UPDATE CASCADE ON DELETE CASCADE
4120
      ON UPDATE CASCADE ON DELETE CASCADE
4121
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4121
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4122
4122
4123
--
4124
-- Table structure for table `stockrotationrotas`
4125
--
4126
4127
CREATE TABLE IF NOT EXISTS stockrotationrotas (
4128
    rota_id int(11) auto_increment,          -- Stockrotation rota ID
4129
    title varchar(100) NOT NULL,            -- Title for this rota
4130
    description text NOT NULL default '',   -- Description for this rota
4131
    cyclical tinyint(1) NOT NULL default 0, -- Should items on this rota keep cycling?
4132
    active tinyint(1) NOT NULL default 0,   -- Is this rota currently active?
4133
    PRIMARY KEY (`rota_id`)
4134
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
4135
4136
--
4137
-- Table structure for table `stockrotationstages`
4138
--
4139
4140
CREATE TABLE IF NOT EXISTS stockrotationstages (
4141
    stage_id int(11) auto_increment,     -- Unique stage ID
4142
    position int(11) NOT NULL,           -- The position of this stage within its rota
4143
    rota_id int(11) NOT NULL,            -- The rota this stage belongs to
4144
    branchcode_id varchar(10) NOT NULL,  -- Branch this stage relates to
4145
    duration int(11) NOT NULL default 4, -- The number of days items shoud occupy this stage
4146
    PRIMARY KEY (`stage_id`),
4147
    CONSTRAINT `stockrotationstages_rifk`
4148
      FOREIGN KEY (`rota_id`)
4149
      REFERENCES `stockrotationrotas` (`rota_id`)
4150
      ON UPDATE CASCADE ON DELETE CASCADE,
4151
    CONSTRAINT `stockrotationstages_bifk`
4152
      FOREIGN KEY (`branchcode_id`)
4153
      REFERENCES `branches` (`branchcode`)
4154
      ON UPDATE CASCADE ON DELETE CASCADE
4155
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
4156
4157
--
4123
--
4158
-- Table structure for table `illrequestattributes`
4124
-- Table structure for table `illrequestattributes`
4159
--
4125
--
Lines 4192-4197 CREATE TABLE library_groups ( Link Here
4192
    UNIQUE KEY title ( title )
4158
    UNIQUE KEY title ( title )
4193
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4159
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4194
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=utf8mb4 COLLATE=utf8mb4_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=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4194
4195
--
4195
--
4196
-- Table structure for table `stockrotationitems`
4196
-- Table structure for table `stockrotationitems`
4197
--
4197
--
Lines 4210-4216 CREATE TABLE IF NOT EXISTS stockrotationitems ( Link Here
4210
      FOREIGN KEY (`stage_id`)
4210
      FOREIGN KEY (`stage_id`)
4211
      REFERENCES `stockrotationstages` (`stage_id`)
4211
      REFERENCES `stockrotationstages` (`stage_id`)
4212
      ON UPDATE CASCADE ON DELETE CASCADE
4212
      ON UPDATE CASCADE ON DELETE CASCADE
4213
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
4213
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4214
4214
4215
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
4215
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
4216
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
4216
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
(-)a/installer/data/mysql/sysprefs.sql (-3 / +3 lines)
Lines 472-477 INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` Link Here
472
('ReturnToShelvingCart','0','','If set, when any item is \'checked in\', it\'s location code will be changed to CART.','YesNo'),
472
('ReturnToShelvingCart','0','','If set, when any item is \'checked in\', it\'s location code will be changed to CART.','YesNo'),
473
('reviewson','1','','If ON, enables patron reviews of bibliographic records in the OPAC','YesNo'),
473
('reviewson','1','','If ON, enables patron reviews of bibliographic records in the OPAC','YesNo'),
474
('RisExportAdditionalFields',  '', NULL ,  'Define additional RIS tags to export from MARC records in YAML format as an associative array with either a marc tag/subfield combination as the value, or a list of tag/subfield combinations.',  'textarea'),
474
('RisExportAdditionalFields',  '', NULL ,  'Define additional RIS tags to export from MARC records in YAML format as an associative array with either a marc tag/subfield combination as the value, or a list of tag/subfield combinations.',  'textarea'),
475
('RotationPreventTransfers','0',NULL,'If ON, prevent any transfers for items on stock rotation rotas, except for stock rotation transfers','YesNo'),
475
('RoutingListAddReserves','1','','If ON the patrons on routing lists are automatically added to holds on the issue.','YesNo'),
476
('RoutingListAddReserves','1','','If ON the patrons on routing lists are automatically added to holds on the issue.','YesNo'),
476
('RoutingListNote','To change this note edit <a href=\"/cgi-bin/koha/admin/preferences.pl?op=search&searchfield=RoutingListNote#jumped\">RoutingListNote</a> system preference.','70|10','Define a note to be shown on all routing lists','Textarea'),
477
('RoutingListNote','To change this note edit <a href=\"/cgi-bin/koha/admin/preferences.pl?op=search&searchfield=RoutingListNote#jumped\">RoutingListNote</a> system preference.','70|10','Define a note to be shown on all routing lists','Textarea'),
477
('RoutingSerials','1',NULL,'If ON, serials routing is enabled','YesNo'),
478
('RoutingSerials','1',NULL,'If ON, serials routing is enabled','YesNo'),
Lines 519-524 INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` Link Here
519
('StaffSerialIssueDisplayCount','3','','Number of serial issues to display per subscription in the Staff client','Integer'),
520
('StaffSerialIssueDisplayCount','3','','Number of serial issues to display per subscription in the Staff client','Integer'),
520
('StaticHoldsQueueWeight','0',NULL,'Specify a list of library location codes separated by commas -- the list of codes will be traversed and weighted with first values given higher weight for holds fulfillment -- alternatively, if RandomizeHoldsQueueWeight is set, the list will be randomly selective','Integer'),
521
('StaticHoldsQueueWeight','0',NULL,'Specify a list of library location codes separated by commas -- the list of codes will be traversed and weighted with first values given higher weight for holds fulfillment -- alternatively, if RandomizeHoldsQueueWeight is set, the list will be randomly selective','Integer'),
521
('StatisticsFields','location|itype|ccode', NULL, 'Define Fields (from the items table) used for statistics members','Free'),
522
('StatisticsFields','location|itype|ccode', NULL, 'Define Fields (from the items table) used for statistics members','Free'),
523
('StockRotation','0',NULL,'If ON, enables the stock rotation module','YesNo'),
522
('StoreLastBorrower','0','','If ON, the last borrower to return an item will be stored in items.last_returned_by','YesNo'),
524
('StoreLastBorrower','0','','If ON, the last borrower to return an item will be stored in items.last_returned_by','YesNo'),
523
('SubfieldsToAllowForRestrictedBatchmod','','Define a list of subfields for which edition is authorized when items_batchmod_restricted permission is enabled, separated by spaces. Example: 995\$f 995\$h 995\$j',NULL,'Free'),
525
('SubfieldsToAllowForRestrictedBatchmod','','Define a list of subfields for which edition is authorized when items_batchmod_restricted permission is enabled, separated by spaces. Example: 995\$f 995\$h 995\$j',NULL,'Free'),
524
('SubfieldsToAllowForRestrictedEditing','','Define a list of subfields for which edition is authorized when edit_items_restricted permission is enabled, separated by spaces. Example: 995\$f 995\$h 995\$j',NULL,'Free'),
526
('SubfieldsToAllowForRestrictedEditing','','Define a list of subfields for which edition is authorized when edit_items_restricted permission is enabled, separated by spaces. Example: 995\$f 995\$h 995\$j',NULL,'Free'),
Lines 608-614 INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` Link Here
608
('XSLTListsDisplay','default','','Enable XSLT stylesheet control over lists pages display on intranet','Free'),
610
('XSLTListsDisplay','default','','Enable XSLT stylesheet control over lists pages display on intranet','Free'),
609
('XSLTResultsDisplay','default','','Enable XSL stylesheet control over results page display on intranet','Free'),
611
('XSLTResultsDisplay','default','','Enable XSL stylesheet control over results page display on intranet','Free'),
610
('z3950AuthorAuthFields','701,702,700',NULL,'Define the MARC biblio fields for Personal Name Authorities to fill biblio.author','free'),
612
('z3950AuthorAuthFields','701,702,700',NULL,'Define the MARC biblio fields for Personal Name Authorities to fill biblio.author','free'),
611
('z3950NormalizeAuthor','0','','If ON, Personal Name Authorities will replace authors in biblio.author','YesNo'),
613
('z3950NormalizeAuthor','0','','If ON, Personal Name Authorities will replace authors in biblio.author','YesNo')
612
('StockRotation','0',NULL,'If ON, enables the stock rotation module','YesNo'),
613
('RotationPreventTransfers','0',NULL,'If ON, prevent any transfers for items on stock rotation rotas, except for stock rotation transfers','YesNo')
614
;
614
;
(-)a/koha-tmpl/intranet-tmpl/prog/en/includes/tools-menu.inc (-17 lines)
Lines 1-22 Link Here
1
[% USE Koha %]
1
[% USE Koha %]
2
2
3
<script type="text/javascript">//<![CDATA[
4
    $(document).ready(function() {
5
        var path = location.pathname.substring(1);
6
        if (path.indexOf("labels") >= 0 && path.indexOf("spine") < 0 ) {
7
          $('#navmenulist a[href$="/cgi-bin/koha/labels/label-home.pl"]').css('font-weight','bold');
8
        } else if (path.indexOf("patroncards") >= 0 ) {
9
          $('#navmenulist a[href$="/cgi-bin/koha/patroncards/home.pl"]').css('font-weight','bold');
10
        } else if (path.indexOf("patron_lists") >= 0 ) {
11
          $('#navmenulist a[href$="/cgi-bin/koha/patron_lists/lists.pl"]').css('font-weight','bold');
12
        } else if ((path+location.search).indexOf("batchMod.pl?del=1") >= 0 ) {
13
          $('#navmenulist a[href$="/cgi-bin/koha/tools/batchMod.pl?del=1"]').css('font-weight','bold');
14
        } else {
15
          $('#navmenulist a[href$="/' + path + '"]').css('font-weight','bold');
16
        }
17
    });
18
//]]>
19
</script>
20
<div id="navmenu">
3
<div id="navmenu">
21
<div id="navmenulist">
4
<div id="navmenulist">
22
<ul>
5
<ul>
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref (-1 / +1 lines)
Lines 901-907 Circulation: Link Here
901
                  yes: Enable
901
                  yes: Enable
902
                  no: Disable
902
                  no: Disable
903
            - "housebound module"
903
            - "housebound module"
904
    Stock Rotation module:
904
    Stockrotation module:
905
        -
905
        -
906
            - pref: StockRotation
906
            - pref: StockRotation
907
              choices:
907
              choices:
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/stockrotation.tt (-10 / +24 lines)
Lines 4-13 Link Here
4
<title>Koha &rsaquo; Catalog &rsaquo; Stock rotation details for [% biblio.title %]</title>
4
<title>Koha &rsaquo; Catalog &rsaquo; Stock rotation details for [% biblio.title %]</title>
5
[% INCLUDE 'doc-head-close.inc' %]
5
[% INCLUDE 'doc-head-close.inc' %]
6
[% INCLUDE 'browser-strings.inc' %]
6
[% INCLUDE 'browser-strings.inc' %]
7
<!--[if lt IE 9]>
7
<script type="text/javascript" src="[% interface %]/js/browser_[% KOHA_VERSION %].js"></script>
8
<script type="text/javascript" src="[% interface %]/lib/shims/json2.min.js"></script>
9
<![endif]-->
10
<script type="text/javascript" src="[% interface %]/js/browser.js"></script>
11
<script type="text/javascript">
8
<script type="text/javascript">
12
//<![CDATA[
9
//<![CDATA[
13
    var browser = KOHA.browser('[% searchid %]', parseInt('[% biblionumber %]', 10));
10
    var browser = KOHA.browser('[% searchid %]', parseInt('[% biblionumber %]', 10));
Lines 38-44 Link Here
38
                <thead>
35
                <thead>
39
                    <tr>
36
                    <tr>
40
                        <th>Barcode</th>
37
                        <th>Barcode</th>
41
                        <th>Shelfmark</th>
38
                        <th>Callnumber</th>
42
                        <th>Rota</th>
39
                        <th>Rota</th>
43
                        <th>Rota status</th>
40
                        <th>Rota status</th>
44
                        <th>In transit</th>
41
                        <th>In transit</th>
Lines 59-73 Link Here
59
                                    [% IF !item.rota.active %]
56
                                    [% IF !item.rota.active %]
60
                                        <span class="highlighted-row">
57
                                        <span class="highlighted-row">
61
                                    [% END %]
58
                                    [% END %]
62
                                        [% item.rota.active ? 'Active' : 'Inactive' %]
59
                                        [% IF item.rota.active %]
63
60
                                            Active
61
                                        [% ELSE %]
62
                                            Inactive
63
                                        [% END %]
64
                                    [% IF !item.rota.active %]
64
                                    [% IF !item.rota.active %]
65
                                        </span>
65
                                        </span>
66
                                    [% END %]
66
                                    [% END %]
67
                                [% END %]
67
                                [% END %]
68
                            </td>
68
                            </td>
69
                            <td>
69
                            <td>
70
                                [% item.bib_item.get_transfer ? 'Yes' : 'No' %]
70
                                [% IF item.bib_item.get_transfer %]
71
                                    Yes
72
                                [% ELSE %]
73
                                    No
74
                                [% END %]
71
                            </td>
75
                            </td>
72
                            <td>
76
                            <td>
73
                                [% FOREACH this_stage IN item.stages %]
77
                                [% FOREACH this_stage IN item.stages %]
Lines 81-87 Link Here
81
                                    &raquo;
85
                                    &raquo;
82
                                [% END %]
86
                                [% END %]
83
                                [% IF item.stages.size > 0 %]
87
                                [% IF item.stages.size > 0 %]
84
                                    <span class="stage">[% item.rota.cyclical ? 'START' : 'END' %]</span>
88
                                    <span class="stage">
89
                                        [% IF item.rota.cyclical %]
90
                                            START
91
                                        [% ELSE %]
92
                                            END
93
                                        [% END %]
94
                                    </span>
85
                                [% END %]
95
                                [% END %]
86
                            </td>
96
                            </td>
87
                            <td class="actions">
97
                            <td class="actions">
Lines 101-107 Link Here
101
                                        <a class="btn btn-default btn-xs" disabled>
111
                                        <a class="btn btn-default btn-xs" disabled>
102
                                    [% END %]
112
                                    [% END %]
103
                                        <i class="fa fa-fire"></i>
113
                                        <i class="fa fa-fire"></i>
104
                                        [% item.stockrotationitem.indemand ? 'Remove &quot;In demand&quot;' : 'Add &quot;In demand&quot;' %]
114
                                        [% IF item.stockrotationitem.indemand %]
115
                                            Remove "In demand"
116
                                        [% ELSE %]
117
                                            Add "In demand"
118
                                        [% END %]
105
                                    </a>
119
                                    </a>
106
                                    [% IF !in_transit %]
120
                                    [% IF !in_transit %]
107
                                        <a class="btn btn-default btn-xs" href="?op=confirm_remove_from_rota&amp;stage_id=[% item.stockrotationitem.stage.stage_id %]&amp;item_id=[% item.bib_item.id %]&amp;biblionumber=[% biblionumber %]">
121
                                        <a class="btn btn-default btn-xs" href="?op=confirm_remove_from_rota&amp;stage_id=[% item.stockrotationitem.stage.stage_id %]&amp;item_id=[% item.bib_item.id %]&amp;biblionumber=[% biblionumber %]">
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/stockrotation.tt (-5 / +5 lines)
Lines 4-12 Link Here
4
[% INCLUDE 'doc-head-open.inc' %]
4
[% INCLUDE 'doc-head-open.inc' %]
5
<title>Koha &rsaquo; Stock rotation</title>
5
<title>Koha &rsaquo; Stock rotation</title>
6
[% INCLUDE 'doc-head-close.inc' %]
6
[% INCLUDE 'doc-head-close.inc' %]
7
<link rel="stylesheet" type="text/css" href="[% interface %]/[% theme %]/css/datatables.css" />
7
<link rel="stylesheet" type="text/css" href="[% interface %]/[% theme %]/css/datatables_[% KOHA_VERSION %].css" />
8
[% INCLUDE 'datatables.inc' %]
8
[% INCLUDE 'datatables.inc' %]
9
<script type="text/javascript" src="[% interface %]/[% theme %]/js/pages/stockrotation.js"></script>
9
<script type="text/javascript" src="[% interface %]/[% theme %]/js/pages/stockrotation_[% KOHA_VERSION %].js"></script>
10
<script type="text/javascript">
10
<script type="text/javascript">
11
//<![CDATA[
11
//<![CDATA[
12
    $(document).ready(function() {
12
    $(document).ready(function() {
Lines 201-207 Link Here
201
                                Stages can be re-ordered by using the <i class="drag_handle fa fa-lg fa-bars"></i>handle to drag and drop them to their new position
201
                                Stages can be re-ordered by using the <i class="drag_handle fa fa-lg fa-bars"></i>handle to drag and drop them to their new position
202
                            </div>
202
                            </div>
203
                            <div id="stage_list_headings">
203
                            <div id="stage_list_headings">
204
                                <span class="stagename">Branch</span>
204
                                <span class="stagename">Library</span>
205
                                <span class="stageduration">Duration (days)</span>
205
                                <span class="stageduration">Duration (days)</span>
206
                            </div>
206
                            </div>
207
                            <ul id="sortable_stages" data-rota-id="[% rota.rota_id %]">
207
                            <ul id="sortable_stages" data-rota-id="[% rota.rota_id %]">
Lines 248-254 Link Here
248
                        <fieldset class="rows">
248
                        <fieldset class="rows">
249
                            <ol>
249
                            <ol>
250
                                <li>
250
                                <li>
251
                                    <label class="required" for="branch">Branch:</label>
251
                                    <label class="required" for="branch">Library:</label>
252
                                    <select name="branchcode" id="branch">
252
                                    <select name="branchcode" id="branch">
253
                                        [% FOREACH branch IN branches %]
253
                                        [% FOREACH branch IN branches %]
254
                                            [% IF branch.branchcode == stage.branchcode_id %]
254
                                            [% IF branch.branchcode == stage.branchcode_id %]
Lines 350-356 Link Here
350
                                <th>Barcode</th>
350
                                <th>Barcode</th>
351
                                <th>Title</th>
351
                                <th>Title</th>
352
                                <th>Author</th>
352
                                <th>Author</th>
353
                                <th>Shelfmark</th>
353
                                <th>Callnumber</th>
354
                                <th class="NoSearch">In transit</th>
354
                                <th class="NoSearch">In transit</th>
355
                                <th class="NoSort">Stages &amp; duration in days<br>(current stage highlighted)</th>
355
                                <th class="NoSort">Stages &amp; duration in days<br>(current stage highlighted)</th>
356
                                <th class="NoSort">&nbsp;</th>
356
                                <th class="NoSort">&nbsp;</th>
(-)a/tools/stockrotation.pl (-1 / +4 lines)
Lines 51-56 my ( $template, $loggedinuser, $cookie ) = get_template_and_user( Link Here
51
        template_name   => 'tools/stockrotation.tt',
51
        template_name   => 'tools/stockrotation.tt',
52
        query           => $input,
52
        query           => $input,
53
        type            => 'intranet',
53
        type            => 'intranet',
54
        flagsrequired   => {
55
            tools => '*',
56
            stockrotation => '*',
57
        },
54
        authnotrequired => 0
58
        authnotrequired => 0
55
    }
59
    }
56
);
60
);
57
- 

Return to bug 11897