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

(-)a/koha-tmpl/opac-tmpl/bootstrap/en/includes/masthead-sci.inc (-38 / +36 lines)
Lines 5-49 Link Here
5
[% SET OpacLangSelectorMode = Koha.Preference('OpacLangSelectorMode') %]
5
[% SET OpacLangSelectorMode = Koha.Preference('OpacLangSelectorMode') %]
6
[% SET OpacHeader = AdditionalContents.get( location => "opacheader", lang => lang, library => logged_in_user.branchcode || default_branch, blocktitle => 0 ) %]
6
[% SET OpacHeader = AdditionalContents.get( location => "opacheader", lang => lang, library => logged_in_user.branchcode || default_branch, blocktitle => 0 ) %]
7
7
8
<div id="wrapper">
8
<header id="header-region" class="noprint">
9
    <header id="header-region" class="noprint">
9
    <nav class="navbar navbar-expand">
10
        <nav class="navbar navbar-expand">
10
        <h1 id="logo">
11
            <h1 id="logo">
11
            <a class="navbar-brand" href="/cgi-bin/koha/sci/sci-main.pl">
12
                <a class="navbar-brand" href="/cgi-bin/koha/sci/sci-main.pl">
12
                [% IF ( LibraryNameTitle ) %]
13
                    [% IF ( LibraryNameTitle ) %]
13
                    [% LibraryNameTitle | html %]
14
                        [% LibraryNameTitle | html %]
14
                [% ELSE %]
15
                    [% ELSE %]
15
                    Koha online
16
                        Koha online
16
                [% END %]
17
                    [% END %]
17
            </a>
18
                </a>
18
        </h1>
19
            </h1>
20
19
21
            <ul class="navbar-nav ml-auto">
20
        <ul class="navbar-nav ml-auto">
22
                [% IF ( Koha.Preference( 'opaclanguagesdisplay' ) ) %]
21
            [% IF ( Koha.Preference( 'opaclanguagesdisplay' ) ) %]
23
                    <li class="nav-item"> [% INCLUDE 'langmenu.inc' %] </li>
22
                <li class="nav-item"> [% INCLUDE 'langmenu.inc' %] </li>
24
                [% END # / IF opaclanguagedisplay %]
23
            [% END # / IF opaclanguagedisplay %]
25
24
26
                <li class="nav-item">
25
            <li class="nav-item">
27
                    <ul class="navbar-nav">
26
                <ul class="navbar-nav">
28
                        <li class="nav-item">
27
                    <li class="nav-item">
29
                            <a href="/cgi-bin/koha/sci/sci-main.pl" class="nav-link helpModal-trigger" role="button" data-bs-toggle="modal"><i class="fa fa-info-circle fa-icon-black" aria-hidden="true"></i> Help</a>
28
                        <a href="/cgi-bin/koha/sci/sci-main.pl" class="nav-link helpModal-trigger" role="button" data-bs-toggle="modal"><i class="fa fa-info-circle fa-icon-black" aria-hidden="true"></i> Help</a>
30
                        </li>
29
                    </li>
31
                    </ul>
30
                </ul>
32
                </li>
31
            </li>
33
                <li class="nav-item">
32
            <li class="nav-item">
34
                    <a id="sci_logout" href="/cgi-bin/koha/sci/sci-main.pl?logout.x=1" class="nav-link logout"> <i class="fa-solid fa-right-from-bracket" aria-hidden="true"></i> Log out </a>
33
                <a id="sci_logout" href="/cgi-bin/koha/sci/sci-main.pl?logout.x=1" class="nav-link logout"> <i class="fa-solid fa-right-from-bracket" aria-hidden="true"></i> Log out </a>
35
                </li>
34
            </li>
36
            </ul>
35
        </ul>
37
        </nav>
36
    </nav>
38
        <!-- /navbar -->
37
    <!-- /navbar -->
39
38
40
        [% IF ( OpacHeader ) %]
39
    [% IF ( OpacHeader ) %]
41
            <div class="container-fluid">
40
        <div class="container-fluid">
42
                <div class="row">
41
            <div class="row">
43
                    <div class="col"> [% PROCESS koha_news_block news => OpacHeader %] </div>
42
                <div class="col"> [% PROCESS koha_news_block news => OpacHeader %] </div>
44
                </div>
45
            </div>
43
            </div>
46
        [% END # /IF opacheader %]
44
        </div>
47
    </header>
45
    [% END # /IF opacheader %]
48
    <!-- /navbar -->
46
</header>
49
</div>
47
<!-- /navbar -->
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/modules/sci/sci-main.tt (-229 / +230 lines)
Lines 74-344 Link Here
74
[% Asset.js('js/i18n.js') | $raw %]
74
[% Asset.js('js/i18n.js') | $raw %]
75
</head>
75
</head>
76
<body id="sci_main" class="sci">
76
<body id="sci_main" class="sci">
77
[% INCLUDE 'masthead-sci.inc' %]
77
<div id="wrapper">
78
78
    [% INCLUDE 'masthead-sci.inc' %]
79
<main class="main">
79
80
    <div class="container-fluid">
80
    <main class="main">
81
        <div class="row">
81
        <div class="container-fluid">
82
            <div class="col order-first order-md-first order-lg-2">
82
            <div class="row">
83
                <div id="masthead">
83
                <div class="col order-first order-md-first order-lg-2">
84
                    <h1>[% LibraryName | html %] Self check-in</h1>
84
                    <div id="masthead">
85
                </div>
85
                        <h1>[% LibraryName | html %] Self check-in</h1>
86
87
                [% IF ( nopermission ) %]
88
                    [%# This is what is displayed if user doesn't have permission %]
89
                    <div class="alert alert-warning">
90
                        <h2>Access denied</h2>
91
                        <p>Sorry, this self check-in station has lost authentication. Please contact the administrator to resolve this problem.</p>
92
                    </div>
93
                [% ELSIF ( different_ip ) %]
94
                    [%# This is what is displayed if user doesn't have permission %]
95
                    <div class="alert alert-warning">
96
                        <h2>Session lost</h2>
97
                        <p>You are accessing self check-in from a different IP address! Please log in again.</p>
98
                    </div>
86
                    </div>
99
                [% ELSIF ( checkins ) %]
87
100
                    [%# We have results from a check-in attempt %]
88
                    [% IF ( nopermission ) %]
101
                    <div id="checkins" class="sci_results_list">
89
                        [%# This is what is displayed if user doesn't have permission %]
102
                        [% IF ( success && success.size > 0 || errors && errors.size > 0 ) %]
90
                        <div class="alert alert-warning">
103
                            <table id="sci_bcheckins_table" class="table table-bordered table-striped dataTable no-footer">
91
                            <h2>Access denied</h2>
104
                                <caption><h2>Results</h2></caption>
92
                            <p>Sorry, this self check-in station has lost authentication. Please contact the administrator to resolve this problem.</p>
105
                                <thead>
93
                        </div>
106
                                    <th>Barcode</th>
94
                    [% ELSIF ( different_ip ) %]
107
                                    <th>Status</th>
95
                        [%# This is what is displayed if user doesn't have permission %]
108
                                </thead>
96
                        <div class="alert alert-warning">
109
                                <tbody>
97
                            <h2>Session lost</h2>
110
                                    [% FOREACH success_line IN success %]
98
                            <p>You are accessing self check-in from a different IP address! Please log in again.</p>
111
                                        <tr>
99
                        </div>
112
                                            <td>[% success_line.barcode | html %]</td>
100
                    [% ELSIF ( checkins ) %]
113
                                            <td>Checked in</td>
101
                        [%# We have results from a check-in attempt %]
114
                                        </tr>
102
                        <div id="checkins" class="sci_results_list">
115
                                    [% END %]
103
                            [% IF ( success && success.size > 0 || errors && errors.size > 0 ) %]
116
                                    [% FOREACH error IN errors %]
104
                                <table id="sci_bcheckins_table" class="table table-bordered table-striped dataTable no-footer">
117
                                        <tr>
105
                                    <caption><h2>Results</h2></caption>
118
                                            <td>[% error.barcode | html %]</td>
106
                                    <thead>
119
                                            <td>Not checked in [% PROCESS error_message messages=error.messages %]</td>
107
                                        <th>Barcode</th>
120
                                        </tr>
108
                                        <th>Status</th>
121
                                    [% END %]
109
                                    </thead>
122
                                </tbody>
110
                                    <tbody>
123
                            </table>
111
                                        [% FOREACH success_line IN success %]
124
                            <div>
112
                                            <tr>
125
                                <a href="/cgi-bin/koha/sci/sci-main.pl" id="sci_finish_button" class="btn btn-primary" role="button"><i class="fa fa-check" aria-hidden="true"></i> Finish</a>
113
                                                <td>[% success_line.barcode | html %]</td>
126
                            </div>
114
                                                <td>Checked in</td>
127
                        [% ELSE %]
115
                                            </tr>
128
                            <div class="alert alert-warning">
116
                                        [% END %]
129
                                <p>Your request included no check-ins.</p>
117
                                        [% FOREACH error IN errors %]
130
                            </div>
118
                                            <tr>
131
                        [% END %]
119
                                                <td>[% error.barcode | html %]</td>
132
                    </div>
120
                                                <td>Not checked in [% PROCESS error_message messages=error.messages %]</td>
133
                [% ELSE %]
121
                                            </tr>
134
                    [%# Prompt for barcodes %]
122
                                        [% END %]
135
                    <div id="new_checkins" class="sci_entry">
123
                                    </tbody>
136
                        <form id="scan_form" name="scan_form" method="post" action="/cgi-bin/koha/sci/sci-main.pl">
124
                                </table>
137
                            [% INCLUDE 'csrf-token.inc' %]
125
                                <div>
138
                            <legend class="sr-only">Scan</legend>
126
                                    <a href="/cgi-bin/koha/sci/sci-main.pl" id="sci_finish_button" class="btn btn-primary" role="button"><i class="fa fa-check" aria-hidden="true"></i> Finish</a>
139
                            <div class="row">
140
                                <div class="col-auto">
141
                                    <label for="barcode_input">Scan the item or enter its barcode:</label>
142
                                </div>
143
                                <div class="col-4">
144
                                    <input id="barcode_input" name="barcode_input" size="20" type="text" class="focus form-control" autocomplete="off" />
145
                                </div>
127
                                </div>
146
                                <div class="col-auto">
128
                            [% ELSE %]
147
                                    <button id="sci_append_button" type="submit" class="btn btn-primary"> Submit </button>
129
                                <div class="alert alert-warning">
130
                                    <p>Your request included no check-ins.</p>
148
                                </div>
131
                                </div>
149
                            </div>
132
                            [% END %]
150
                            <!-- /.row -->
133
                        </div>
151
                            <div class="row">
134
                    [% ELSE %]
152
                                <div class="col">
135
                        [%# Prompt for barcodes %]
153
                                    <div class="sci_input_append">
136
                        <div id="new_checkins" class="sci_entry">
154
                                        <table id="sci_barcodes_table" class="table table-bordered table-striped dataTable no-footer" style="display: none;">
137
                            <form id="scan_form" name="scan_form" method="post" action="/cgi-bin/koha/sci/sci-main.pl">
155
                                            <caption class="sr-only">Barcodes</caption>
138
                                [% INCLUDE 'csrf-token.inc' %]
156
                                            <thead>
139
                                <legend class="sr-only">Scan</legend>
157
                                                <th class="barcodes_column">Barcode</th>
140
                                <div class="row">
158
                                            </thead>
141
                                    <div class="col-auto">
159
                                            <tbody> </tbody>
142
                                        <label for="barcode_input">Scan the item or enter its barcode:</label>
160
                                        </table>
143
                                    </div>
161
                                        <!-- /#sci_barcodes_table -->
144
                                    <div class="col-4">
145
                                        <input id="barcode_input" name="barcode_input" size="20" type="text" class="focus form-control" autocomplete="off" />
162
                                    </div>
146
                                    </div>
163
                                    <!-- .sci_input_append -->
147
                                    <div class="col-auto">
164
                                    <input type="hidden" name="op" value="cud-check_in" />
148
                                        <button id="sci_append_button" type="submit" class="btn btn-primary"> Submit </button>
165
                                    <div id="button_bar">
166
                                        <button id="sci_checkin_button" type="submit" class="btn btn-primary" style="display: none;"> <i class="fa fa-check-square" aria-hidden="true"></i> <span>Check in</span> </button>
167
                                        <a href="/cgi-bin/koha/sci/sci-main.pl" class="btn btn-danger" role="button" style="display: none;" id="sci_refresh_button"> <i class="fa fa-times" aria-hidden="true"></i> <span>Cancel</span> </a>
168
                                    </div>
149
                                    </div>
169
                                    <!-- /#button_bar -->
170
                                </div>
150
                                </div>
171
                                <!-- /.col -->
151
                                <!-- /.row -->
172
                            </div>
152
                                <div class="row">
173
                            <!-- /.row -->
153
                                    <div class="col">
174
                        </form>
154
                                        <div class="sci_input_append">
175
                        <!-- /#scan_form -->
155
                                            <table id="sci_barcodes_table" class="table table-bordered table-striped dataTable no-footer" style="display: none;">
176
                    </div>
156
                                                <caption class="sr-only">Barcodes</caption>
177
                    <!-- / #new_checkins -->
157
                                                <thead>
178
                [% END # /IF ( nopermission ) %]
158
                                                    <th class="barcodes_column">Barcode</th>
179
159
                                                </thead>
180
                [% IF ( SelfCheckInMainUserBlock ) %]
160
                                                <tbody> </tbody>
181
                    <div id="scimainuserblock"> [% PROCESS koha_news_block news => SelfCheckInMainUserBlock %] </div>
161
                                            </table>
182
                [% END %]
162
                                            <!-- /#sci_barcodes_table -->
163
                                        </div>
164
                                        <!-- .sci_input_append -->
165
                                        <input type="hidden" name="op" value="cud-check_in" />
166
                                        <div id="button_bar">
167
                                            <button id="sci_checkin_button" type="submit" class="btn btn-primary" style="display: none;"> <i class="fa fa-check-square" aria-hidden="true"></i> <span>Check in</span> </button>
168
                                            <a href="/cgi-bin/koha/sci/sci-main.pl" class="btn btn-danger" role="button" style="display: none;" id="sci_refresh_button"> <i class="fa fa-times" aria-hidden="true"></i> <span>Cancel</span> </a>
169
                                        </div>
170
                                        <!-- /#button_bar -->
171
                                    </div>
172
                                    <!-- /.col -->
173
                                </div>
174
                                <!-- /.row -->
175
                            </form>
176
                            <!-- /#scan_form -->
177
                        </div>
178
                        <!-- / #new_checkins -->
179
                    [% END # /IF ( nopermission ) %]
180
181
                    [% IF ( SelfCheckInMainUserBlock ) %]
182
                        <div id="scimainuserblock"> [% PROCESS koha_news_block news => SelfCheckInMainUserBlock %] </div>
183
                    [% END %]
184
                </div>
185
                <!-- / #masthead -->
183
            </div>
186
            </div>
184
            <!-- / #masthead -->
187
            <!-- / .row -->
185
        </div>
188
        </div>
186
        <!-- / .row -->
189
        <!-- / .container-fluid -->
187
    </div>
190
    </main>
188
    <!-- / .container-fluid -->
191
    <!-- / .main -->
189
</main>
192
190
<!-- / .main -->
193
    [%# Help modal %]
191
194
    <div id="helpModal" class="modal" tabindex="-1" role="dialog" aria-labelledby="helpModalLabel" aria-hidden="true">
192
[%# Help modal %]
195
        <div class="modal-dialog">
193
<div id="helpModal" class="modal" tabindex="-1" role="dialog" aria-labelledby="helpModalLabel" aria-hidden="true">
196
            <div class="modal-content">
194
    <div class="modal-dialog">
197
                <div class="modal-header">
195
        <div class="modal-content">
198
                    <h1 class="modal-title" id="helpModalLabel">Self check-in help</h1>
196
            <div class="modal-header">
199
                    <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
197
                <h1 class="modal-title" id="helpModalLabel">Self check-in help</h1>
200
                </div>
198
                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
201
                <!-- /.modal-header -->
199
            </div>
202
                <div class="modal-body">
200
            <!-- /.modal-header -->
203
                    <ul>
201
            <div class="modal-body">
204
                        <li>Scan each item or enter its barcode. A list with the entered barcodes will be displayed.</li>
202
                <ul>
205
                        <li>Click the 'Check in' button to confirm.</li>
203
                    <li>Scan each item or enter its barcode. A list with the entered barcodes will be displayed.</li>
206
                        <li>The operation results will be displayed for each entered barcode.</li>
204
                    <li>Click the 'Check in' button to confirm.</li>
207
                        <li>The 'Finish' button is presented to start over.</li>
205
                    <li>The operation results will be displayed for each entered barcode.</li>
208
                        <li>At any step, clicking the 'Cancel' button will erase the scanned barcodes and start over.</li>
206
                    <li>The 'Finish' button is presented to start over.</li>
209
                    </ul>
207
                    <li>At any step, clicking the 'Cancel' button will erase the scanned barcodes and start over.</li>
210
                </div>
208
                </ul>
211
                <!-- /.modal-body -->
209
            </div>
212
                <div class="modal-footer">
210
            <!-- /.modal-body -->
213
                    <button type="button" class="btn btn-primary" data-bs-dismiss="modal">Close</button>
211
            <div class="modal-footer">
214
                </div>
212
                <button type="button" class="btn btn-primary" data-bs-dismiss="modal">Close</button>
213
            </div>
215
            </div>
216
            <!-- /.modal-content -->
214
        </div>
217
        </div>
215
        <!-- /.modal-content -->
218
        <!-- /.modal-dialog -->
216
    </div>
219
    </div>
217
    <!-- /.modal-dialog -->
220
    <!-- /#helpModal -->
218
</div>
219
<!-- /#helpModal -->
220
221
221
</body>
222
    </body>
222
223
223
[% INCLUDE 'opac-bottom.inc' %]
224
    [% INCLUDE 'opac-bottom.inc' %]
224
[% BLOCK jsinclude %]
225
    [% BLOCK jsinclude %]
225
    <script>
226
        <script>
226
        function mungeHistory() {
227
            function mungeHistory() {
227
                    // prevent back button from allowing form resubmission
228
                        // prevent back button from allowing form resubmission
228
                    if (history && history.pushState) {
229
                        if (history && history.pushState) {
229
                        history.replaceState(null, document.title, window.location.href);
230
                            history.replaceState(null, document.title, window.location.href);
231
                        }
230
                    }
232
                    }
231
                }
232
233
233
                function dofocus() {
234
                    function dofocus() {
234
                    $(".focus:last").select();
235
                        $(".focus:last").select();
235
                }
236
                    }
237
238
                    var barcodes = [];
239
240
                    $( window ).on( "load", function() {
241
                        dofocus();
242
                    });
236
243
237
                var barcodes = [];
244
                    $( window ).on( "unload", function() {
245
                        mungeHistory();
246
                    });
238
247
239
                $( window ).on( "load", function() {
248
                    $(document).ready(function() {
249
                // Barcodes scanning table initially hidden
250
                $("#sci_barcodes_table").hide();
251
252
                // Control the 'append' button behaviour
253
                $("#sci_append_button").on('click', function(e) {
254
                    // Make sure the form is not submitted by the button
255
                    e.preventDefault();
256
257
                    var barcode = $('#barcode_input').val().trim(); // Trim whitespace from input
258
259
                    if (barcode !== "") {
260
                        // Properly escape the barcode value by using .text() for display
261
                        var barcodeHtml = $('<tr style="font-size: initial;"><td></td></tr>');
262
                        barcodeHtml.find('td').text(barcode).append(
263
                            $('<input>').attr({
264
                                type: 'hidden',
265
                                name: 'barcode',
266
                                value: barcode
267
                            })
268
                        );
269
270
                        $('#sci_barcodes_table tbody').append(barcodeHtml);
271
272
                        // Make sure the table is now displayed
273
                        $("#sci_barcodes_table").show();
274
                        $('#sci_checkin_button').show();
275
                        $('#sci_refresh_button').show();
276
277
                        // Add barcode to the array
278
                        barcodes.push(barcode);
279
                    }
280
281
                    // Clear the input and reset the focus
282
                    $('#barcode_input').val('');
240
                    dofocus();
283
                    dofocus();
241
                });
284
                });
242
285
243
                $( window ).on( "unload", function() {
286
                $(".helpModal-trigger").on("click", function(e) {
244
                    mungeHistory();
287
                    e.preventDefault();
288
                    $("#helpModal").modal("show");
245
                });
289
                });
246
290
247
                $(document).ready(function() {
291
                // Set focus at the beginning
248
            // Barcodes scanning table initially hidden
249
            $("#sci_barcodes_table").hide();
250
251
            // Control the 'append' button behaviour
252
            $("#sci_append_button").on('click', function(e) {
253
                // Make sure the form is not submitted by the button
254
                e.preventDefault();
255
256
                var barcode = $('#barcode_input').val().trim(); // Trim whitespace from input
257
258
                if (barcode !== "") {
259
                    // Properly escape the barcode value by using .text() for display
260
                    var barcodeHtml = $('<tr style="font-size: initial;"><td></td></tr>');
261
                    barcodeHtml.find('td').text(barcode).append(
262
                        $('<input>').attr({
263
                            type: 'hidden',
264
                            name: 'barcode',
265
                            value: barcode
266
                        })
267
                    );
268
269
                    $('#sci_barcodes_table tbody').append(barcodeHtml);
270
271
                    // Make sure the table is now displayed
272
                    $("#sci_barcodes_table").show();
273
                    $('#sci_checkin_button').show();
274
                    $('#sci_refresh_button').show();
275
276
                    // Add barcode to the array
277
                    barcodes.push(barcode);
278
                }
279
280
                // Clear the input and reset the focus
281
                $('#barcode_input').val('');
282
                dofocus();
292
                dofocus();
283
            });
293
            });
284
294
285
            $(".helpModal-trigger").on("click", function(e) {
286
                e.preventDefault();
287
                $("#helpModal").modal("show");
288
            });
289
295
290
            // Set focus at the beginning
296
                    var idleTime = 0;
291
            dofocus();
297
                    $(document).ready(function () {
292
        });
298
                        //Increment the idle time counter every second
299
                        var idleInterval = setInterval(timerIncrement, 1000);
293
300
294
301
                        //Zero the idle timer on mouse movement.
295
                var idleTime = 0;
302
                        $(this).mousemove(function (e) {
296
                $(document).ready(function () {
303
                            idleTime = 0;
297
                    //Increment the idle time counter every second
304
                        });
298
                    var idleInterval = setInterval(timerIncrement, 1000);
305
                        $(this).keypress(function (e) {
299
306
                            idleTime = 0;
300
                    //Zero the idle timer on mouse movement.
307
                        });
301
                    $(this).mousemove(function (e) {
302
                        idleTime = 0;
303
                    });
304
                    $(this).keypress(function (e) {
305
                        idleTime = 0;
306
                    });
308
                    });
307
                });
308
309
309
                function timerIncrement() {
310
                    function timerIncrement() {
310
                    if ( $("#sci_finish_button").is(":visible") || $("#sci_refresh_button").is(":visible") ) {
311
                        if ( $("#sci_finish_button").is(":visible") || $("#sci_refresh_button").is(":visible") ) {
311
                        idleTime = idleTime + 1;
312
                            idleTime = idleTime + 1;
312
                        idleTimeout = [% refresh_timeout | html %];
313
                            idleTimeout = [% refresh_timeout | html %];
313
                        if (idleTime >= idleTimeout ) {
314
                            if (idleTime >= idleTimeout ) {
314
                            location.href = '/cgi-bin/koha/sci/sci-main.pl';
315
                                location.href = '/cgi-bin/koha/sci/sci-main.pl';
316
                            }
315
                        }
317
                        }
316
                    }
318
                    }
317
                }
318
319
319
320
320
                function checkBarcodeInput() {
321
                    function checkBarcodeInput() {
321
                    var inputField = document.getElementById("barcode_input");
322
                        var inputField = document.getElementById("barcode_input");
322
                    var button = document.getElementById("sci_append_button");
323
                        var button = document.getElementById("sci_append_button");
323
324
324
                    if (inputField.value.trim() === "") {
325
                        if (inputField.value.trim() === "") {
325
                        button.disabled = true;
326
                            button.disabled = true;
326
                    } else {
327
                        } else {
327
                        button.disabled = false;
328
                            button.disabled = false;
329
                        }
328
                    }
330
                    }
329
                }
330
331
331
        checkBarcodeInput();
332
            checkBarcodeInput();
332
333
333
        document.getElementById("barcode_input").addEventListener("input", checkBarcodeInput);
334
            document.getElementById("barcode_input").addEventListener("input", checkBarcodeInput);
334
335
335
        document.getElementById("sci_append_button").addEventListener("click", function() {
336
            document.getElementById("sci_append_button").addEventListener("click", function() {
336
            setTimeout(checkBarcodeInput, 10);
337
                setTimeout(checkBarcodeInput, 10);
337
        });
338
            });
338
    </script>
339
    [% IF ( Koha.Preference('SelfCheckInUserJS') ) %]
340
        <script>
341
            [% Koha.Preference('SelfCheckInUserJS') | $raw %]
342
        </script>
339
        </script>
340
        [% IF ( Koha.Preference('SelfCheckInUserJS') ) %]
341
            <script>
342
                [% Koha.Preference('SelfCheckInUserJS') | $raw %]
343
            </script>
344
        [% END %]
343
    [% END %]
345
    [% END %]
344
[% END %]
346
</div>
345
- 

Return to bug 41646