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 4122-4161 CREATE TABLE illrequests ( Link Here
4122
      ON UPDATE CASCADE ON DELETE CASCADE
4122
      ON UPDATE CASCADE ON DELETE CASCADE
4123
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4123
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4124
4124
4125
--
4126
-- Table structure for table `stockrotationrotas`
4127
--
4128
4129
CREATE TABLE IF NOT EXISTS stockrotationrotas (
4130
    rota_id int(11) auto_increment,          -- Stockrotation rota ID
4131
    title varchar(100) NOT NULL,            -- Title for this rota
4132
    description text NOT NULL default '',   -- Description for this rota
4133
    cyclical tinyint(1) NOT NULL default 0, -- Should items on this rota keep cycling?
4134
    active tinyint(1) NOT NULL default 0,   -- Is this rota currently active?
4135
    PRIMARY KEY (`rota_id`)
4136
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
4137
4138
--
4139
-- Table structure for table `stockrotationstages`
4140
--
4141
4142
CREATE TABLE IF NOT EXISTS stockrotationstages (
4143
    stage_id int(11) auto_increment,     -- Unique stage ID
4144
    position int(11) NOT NULL,           -- The position of this stage within its rota
4145
    rota_id int(11) NOT NULL,            -- The rota this stage belongs to
4146
    branchcode_id varchar(10) NOT NULL,  -- Branch this stage relates to
4147
    duration int(11) NOT NULL default 4, -- The number of days items shoud occupy this stage
4148
    PRIMARY KEY (`stage_id`),
4149
    CONSTRAINT `stockrotationstages_rifk`
4150
      FOREIGN KEY (`rota_id`)
4151
      REFERENCES `stockrotationrotas` (`rota_id`)
4152
      ON UPDATE CASCADE ON DELETE CASCADE,
4153
    CONSTRAINT `stockrotationstages_bifk`
4154
      FOREIGN KEY (`branchcode_id`)
4155
      REFERENCES `branches` (`branchcode`)
4156
      ON UPDATE CASCADE ON DELETE CASCADE
4157
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
4158
4159
--
4125
--
4160
-- Table structure for table `illrequestattributes`
4126
-- Table structure for table `illrequestattributes`
4161
--
4127
--
Lines 4194-4199 CREATE TABLE library_groups ( Link Here
4194
    UNIQUE KEY title ( title )
4160
    UNIQUE KEY title ( title )
4195
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4161
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4196
4162
4163
--
4164
-- Table structure for table `stockrotationrotas`
4165
--
4166
4167
CREATE TABLE IF NOT EXISTS stockrotationrotas (
4168
    rota_id int(11) auto_increment,          -- Stockrotation rota ID
4169
    title varchar(100) NOT NULL,            -- Title for this rota
4170
    description text NOT NULL default '',   -- Description for this rota
4171
    cyclical tinyint(1) NOT NULL default 0, -- Should items on this rota keep cycling?
4172
    active tinyint(1) NOT NULL default 0,   -- Is this rota currently active?
4173
    PRIMARY KEY (`rota_id`)
4174
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4175
4176
--
4177
-- Table structure for table `stockrotationstages`
4178
--
4179
4180
CREATE TABLE IF NOT EXISTS stockrotationstages (
4181
    stage_id int(11) auto_increment,     -- Unique stage ID
4182
    position int(11) NOT NULL,           -- The position of this stage within its rota
4183
    rota_id int(11) NOT NULL,            -- The rota this stage belongs to
4184
    branchcode_id varchar(10) NOT NULL,  -- Branch this stage relates to
4185
    duration int(11) NOT NULL default 4, -- The number of days items shoud occupy this stage
4186
    PRIMARY KEY (`stage_id`),
4187
    CONSTRAINT `stockrotationstages_rifk`
4188
      FOREIGN KEY (`rota_id`)
4189
      REFERENCES `stockrotationrotas` (`rota_id`)
4190
      ON UPDATE CASCADE ON DELETE CASCADE,
4191
    CONSTRAINT `stockrotationstages_bifk`
4192
      FOREIGN KEY (`branchcode_id`)
4193
      REFERENCES `branches` (`branchcode`)
4194
      ON UPDATE CASCADE ON DELETE CASCADE
4195
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4196
4197
--
4197
--
4198
-- Table structure for table `stockrotationitems`
4198
-- Table structure for table `stockrotationitems`
4199
--
4199
--
Lines 4212-4218 CREATE TABLE IF NOT EXISTS stockrotationitems ( Link Here
4212
      FOREIGN KEY (`stage_id`)
4212
      FOREIGN KEY (`stage_id`)
4213
      REFERENCES `stockrotationstages` (`stage_id`)
4213
      REFERENCES `stockrotationstages` (`stage_id`)
4214
      ON UPDATE CASCADE ON DELETE CASCADE
4214
      ON UPDATE CASCADE ON DELETE CASCADE
4215
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
4215
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4216
4216
4217
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
4217
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
4218
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
4218
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
(-)a/installer/data/mysql/sysprefs.sql (-3 / +3 lines)
Lines 475-480 INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` Link Here
475
('ReturnToShelvingCart','0','','If set, when any item is \'checked in\', it\'s location code will be changed to CART.','YesNo'),
475
('ReturnToShelvingCart','0','','If set, when any item is \'checked in\', it\'s location code will be changed to CART.','YesNo'),
476
('reviewson','1','','If ON, enables patron reviews of bibliographic records in the OPAC','YesNo'),
476
('reviewson','1','','If ON, enables patron reviews of bibliographic records in the OPAC','YesNo'),
477
('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'),
477
('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'),
478
('RotationPreventTransfers','0',NULL,'If ON, prevent any transfers for items on stock rotation rotas, except for stock rotation transfers','YesNo'),
478
('RoutingListAddReserves','1','','If ON the patrons on routing lists are automatically added to holds on the issue.','YesNo'),
479
('RoutingListAddReserves','1','','If ON the patrons on routing lists are automatically added to holds on the issue.','YesNo'),
479
('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'),
480
('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'),
480
('RoutingSerials','1',NULL,'If ON, serials routing is enabled','YesNo'),
481
('RoutingSerials','1',NULL,'If ON, serials routing is enabled','YesNo'),
Lines 522-527 INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` Link Here
522
('StaffSerialIssueDisplayCount','3','','Number of serial issues to display per subscription in the Staff client','Integer'),
523
('StaffSerialIssueDisplayCount','3','','Number of serial issues to display per subscription in the Staff client','Integer'),
523
('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'),
524
('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'),
524
('StatisticsFields','location|itype|ccode', NULL, 'Define Fields (from the items table) used for statistics members','Free'),
525
('StatisticsFields','location|itype|ccode', NULL, 'Define Fields (from the items table) used for statistics members','Free'),
526
('StockRotation','0',NULL,'If ON, enables the stock rotation module','YesNo'),
525
('StoreLastBorrower','0','','If ON, the last borrower to return an item will be stored in items.last_returned_by','YesNo'),
527
('StoreLastBorrower','0','','If ON, the last borrower to return an item will be stored in items.last_returned_by','YesNo'),
526
('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'),
528
('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'),
527
('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'),
529
('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 612-618 INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` Link Here
612
('XSLTListsDisplay','default','','Enable XSLT stylesheet control over lists pages display on intranet','Free'),
614
('XSLTListsDisplay','default','','Enable XSLT stylesheet control over lists pages display on intranet','Free'),
613
('XSLTResultsDisplay','default','','Enable XSL stylesheet control over results page display on intranet','Free'),
615
('XSLTResultsDisplay','default','','Enable XSL stylesheet control over results page display on intranet','Free'),
614
('z3950AuthorAuthFields','701,702,700',NULL,'Define the MARC biblio fields for Personal Name Authorities to fill biblio.author','free'),
616
('z3950AuthorAuthFields','701,702,700',NULL,'Define the MARC biblio fields for Personal Name Authorities to fill biblio.author','free'),
615
('z3950NormalizeAuthor','0','','If ON, Personal Name Authorities will replace authors in biblio.author','YesNo'),
617
('z3950NormalizeAuthor','0','','If ON, Personal Name Authorities will replace authors in biblio.author','YesNo')
616
('StockRotation','0',NULL,'If ON, enables the stock rotation module','YesNo'),
617
('RotationPreventTransfers','0',NULL,'If ON, prevent any transfers for items on stock rotation rotas, except for stock rotation transfers','YesNo')
618
;
618
;
(-)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