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

(-)a/koha-tmpl/opac-tmpl/bootstrap/en/includes/masthead-sci.inc (-38 / +40 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
        <div 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
        </div>
19
            </h1>
20
19
21
            <ul class="navbar-nav ml-auto">
20
        [% IF ( Koha.Preference( 'opaclanguagesdisplay' ) && ( ! one_language_enabled ) && ( languages_loop ) && ( OpacLangSelectorMode == 'both' || OpacLangSelectorMode == 'top') ) %]
22
                [% IF ( Koha.Preference( 'opaclanguagesdisplay' ) ) %]
21
            [% context = "header" %]
23
                    <li class="nav-item"> [% INCLUDE 'langmenu.inc' %] </li>
22
            [% INCLUDE 'langmenu.inc' %]
24
                [% END # / IF opaclanguagedisplay %]
23
        [% END %]
25
24
26
                <li class="nav-item">
25
        <ul class="navbar-nav ml-auto">
27
                    <ul class="navbar-nav">
26
            <li class="nav-item">
28
                        <li class="nav-item">
27
                <ul class="navbar-nav">
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
                    <li class="nav-item">
30
                        </li>
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>
31
                    </ul>
30
                    </li>
32
                </li>
31
                </ul>
33
                <li class="nav-item">
32
            </li>
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
            <li class="nav-item">
35
                </li>
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>
36
            </ul>
35
            </li>
37
        </nav>
36
        </ul>
38
        <!-- /navbar -->
37
    </nav>
38
    <!-- /navbar -->
39
39
40
        [% IF ( OpacHeader ) %]
40
    [% IF ( OpacHeader ) %]
41
            <div class="container-fluid">
41
        <div class="container-fluid">
42
                <div class="row">
42
            <div class="row">
43
                    <div class="col"> [% PROCESS koha_news_block news => OpacHeader %] </div>
43
                <div class="col"> [% PROCESS koha_news_block news => OpacHeader %] </div>
44
                </div>
45
            </div>
44
            </div>
46
        [% END # /IF opacheader %]
45
        </div>
47
    </header>
46
    [% END # /IF opacheader %]
48
    <!-- /navbar -->
47
</header>
49
</div>
48
<!-- /navbar -->
49
<!-- prettier-ignore-start -->
50
    <div id="wrapper"><!-- / closed in opac-bottom.inc -->
51
<!-- prettier-ignore-end -->
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/includes/masthead-sco.inc (+3 lines)
Lines 43-45 Link Here
43
    [% END # /IF opacheader %]
43
    [% END # /IF opacheader %]
44
</header>
44
</header>
45
<!-- /navbar -->
45
<!-- /navbar -->
46
<!-- prettier-ignore-start -->
47
    <div id="wrapper"><!-- / closed in opac-bottom.inc -->
48
<!-- prettier-ignore-end -->
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/modules/sci/sci-main.tt (-17 / +21 lines)
Lines 103-110 Link Here
103
                            <table id="sci_bcheckins_table" class="table table-bordered table-striped dataTable no-footer">
103
                            <table id="sci_bcheckins_table" class="table table-bordered table-striped dataTable no-footer">
104
                                <caption><h2>Results</h2></caption>
104
                                <caption><h2>Results</h2></caption>
105
                                <thead>
105
                                <thead>
106
                                    <th>Barcode</th>
106
                                    <tr>
107
                                    <th>Status</th>
107
                                        <th>Barcode</th>
108
                                        <th>Status</th>
109
                                    </tr>
108
                                </thead>
110
                                </thead>
109
                                <tbody>
111
                                <tbody>
110
                                    [% FOREACH success_line IN success %]
112
                                    [% FOREACH success_line IN success %]
Lines 135-160 Link Here
135
                    <div id="new_checkins" class="sci_entry">
137
                    <div id="new_checkins" class="sci_entry">
136
                        <form id="scan_form" name="scan_form" method="post" action="/cgi-bin/koha/sci/sci-main.pl">
138
                        <form id="scan_form" name="scan_form" method="post" action="/cgi-bin/koha/sci/sci-main.pl">
137
                            [% INCLUDE 'csrf-token.inc' %]
139
                            [% INCLUDE 'csrf-token.inc' %]
138
                            <legend class="sr-only">Scan</legend>
140
                            <fieldset class="mb-3">
139
                            <div class="row">
141
                                <legend class="sr-only">Scan</legend>
140
                                <div class="col-auto">
142
                                <div class="row">
141
                                    <label for="barcode_input">Scan the item or enter its barcode:</label>
143
                                    <div class="col-auto">
142
                                </div>
144
                                        <label for="barcode_input">Scan the item or enter its barcode:</label>
143
                                <div class="col-4">
145
                                    </div>
144
                                    <input id="barcode_input" name="barcode_input" size="20" type="text" class="focus form-control" autocomplete="off" />
146
                                    <div class="col-4">
145
                                </div>
147
                                        <input id="barcode_input" name="barcode_input" size="20" type="text" class="focus form-control" autocomplete="off" />
146
                                <div class="col-auto">
148
                                    </div>
147
                                    <button id="sci_append_button" type="submit" class="btn btn-primary"> Submit </button>
149
                                    <div class="col-auto">
150
                                        <button id="sci_append_button" type="submit" class="btn btn-primary"> Submit </button>
151
                                    </div>
148
                                </div>
152
                                </div>
149
                            </div>
153
                                <!-- /.row -->
150
                            <!-- /.row -->
154
                            </fieldset>
151
                            <div class="row">
155
                            <div class="row">
152
                                <div class="col">
156
                                <div class="col">
153
                                    <div class="sci_input_append">
157
                                    <div class="sci_input_append">
154
                                        <table id="sci_barcodes_table" class="table table-bordered table-striped dataTable no-footer" style="display: none;">
158
                                        <table id="sci_barcodes_table" class="table table-bordered table-striped dataTable no-footer" style="display: none;">
155
                                            <caption class="sr-only">Barcodes</caption>
159
                                            <caption class="sr-only">Barcodes</caption>
156
                                            <thead>
160
                                            <thead>
157
                                                <th class="barcodes_column">Barcode</th>
161
                                                <tr>
162
                                                    <th class="barcodes_column">Barcode</th>
163
                                                </tr>
158
                                            </thead>
164
                                            </thead>
159
                                            <tbody> </tbody>
165
                                            <tbody> </tbody>
160
                                        </table>
166
                                        </table>
Lines 218-225 Link Here
218
</div>
224
</div>
219
<!-- /#helpModal -->
225
<!-- /#helpModal -->
220
226
221
</body>
222
223
[% INCLUDE 'opac-bottom.inc' %]
227
[% INCLUDE 'opac-bottom.inc' %]
224
[% BLOCK jsinclude %]
228
[% BLOCK jsinclude %]
225
    <script>
229
    <script>
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/modules/sco/sco-main.tt (-566 / +564 lines)
Lines 24-66 Link Here
24
[% END %]
24
[% END %]
25
</head>
25
</head>
26
<body id="sco_main" class="sco">
26
<body id="sco_main" class="sco">
27
<div id="wrapper">
27
[% INCLUDE 'masthead-sco.inc' %]
28
    [% INCLUDE 'masthead-sco.inc' %]
29
28
30
    <main class="main">
29
<main class="main">
31
        [% IF ( display_patron_image ) %]
30
    [% IF ( display_patron_image ) %]
32
            [% SET main_div_class = 'col-10 order-first order-md-first order-lg-2' %]
31
        [% SET main_div_class = 'col-10 order-first order-md-first order-lg-2' %]
33
        [% ELSE %]
32
    [% ELSE %]
34
            [% SET main_div_class = 'col order-first order-md-first order-lg-2' %]
33
        [% SET main_div_class = 'col order-first order-md-first order-lg-2' %]
35
        [% END %]
34
    [% END %]
35
36
    [% UNLESS ( hide_main ) %]
37
        [% IF ( validuser ) %]
38
            <div class="container-fluid">
39
                <div class="row">
40
                    <div class="[% main_div_class | html %]">
41
                        <div id="masthead"><h1>[% LibraryName | html %] Self-checkout system</h1></div>
42
43
                        [% PROCESS display_errors %]
36
44
37
        [% UNLESS ( hide_main ) %]
45
                        <div class="alert alert-info">You are logged in as [% borrowername | html %].</div>
38
            [% IF ( validuser ) %]
46
                        [% INCLUDE 'opac-note.inc' sco="true" %]
39
                <div class="container-fluid">
47
                        [% IF patron_has_hold_fee %]
40
                    <div class="row">
48
                            <div class="alert alert-warning">A hold fee was charged to your account for collecting this item.</div>
41
                        <div class="[% main_div_class | html %]">
49
                        [% END %]
42
                            <div id="masthead"><h1>[% LibraryName | html %] Self-checkout system</h1></div>
50
43
51
                        <div id="newcheckout" class="sco_entry">
44
                            [% PROCESS display_errors %]
52
                            <form id="scan_form" name="scan_form" method="post" action="/cgi-bin/koha/sco/sco-main.pl">
45
53
                                [% INCLUDE 'csrf-token.inc' %]
46
                            <div class="alert alert-info">You are logged in as [% borrowername | html %].</div>
54
                                <fieldset class="mb-3">
47
                            [% INCLUDE 'opac-note.inc' sco="true" %]
55
                                    <legend>
48
                            [% IF patron_has_hold_fee %]
56
                                        <h2>
49
                                <div class="alert alert-warning">A hold fee was charged to your account for collecting this item.</div>
50
                            [% END %]
51
52
                            <div id="newcheckout" class="sco_entry">
53
                                <form id="scan_form" name="scan_form" method="post" action="/cgi-bin/koha/sco/sco-main.pl">
54
                                    [% INCLUDE 'csrf-token.inc' %]
55
                                    <legend
56
                                        ><h2>
57
                                            [% IF ( Koha.Preference('SCOAllowCheckin') ) %]
57
                                            [% IF ( Koha.Preference('SCOAllowCheckin') ) %]
58
                                                <span>Check out, return, or renew an item:</span>
58
                                                <span>Check out, return, or renew an item:</span>
59
                                            [% ELSE %]
59
                                            [% ELSE %]
60
                                                <span>Check out or renew an item:</span>
60
                                                <span>Check out or renew an item:</span>
61
                                            [% END %]
61
                                            [% END %]
62
                                        </h2></legend
62
                                        </h2>
63
                                    >
63
                                    </legend>
64
                                    <div class="row">
64
                                    <div class="row">
65
                                        <div class="col">
65
                                        <div class="col">
66
                                            <label for="barcode">Scan a new item or enter its barcode[% IF batch_checkouts_allowed %](or for <b>multiple checkouts only,</b> enter a barcode list, one barcode per line)[% END %]:</label>
66
                                            <label for="barcode">Scan a new item or enter its barcode[% IF batch_checkouts_allowed %](or for <b>multiple checkouts only,</b> enter a barcode list, one barcode per line)[% END %]:</label>
Lines 84-352 Link Here
84
                                        </div>
84
                                        </div>
85
                                    </div>
85
                                    </div>
86
                                    <!-- /.row -->
86
                                    <!-- /.row -->
87
                                </form>
87
                                </fieldset>
88
                                <!-- /#scan_form -->
88
                            </form>
89
                            </div>
89
                            <!-- /#scan_form -->
90
                            <!-- / #newcheckout -->
91
                        </div>
90
                        </div>
92
                        <!-- / .span12/12 -->
91
                        <!-- / #newcheckout -->
93
                        [% IF ( display_patron_image ) %]
94
                            <div class="col-lg-2">
95
                                <img src="/cgi-bin/koha/sco/sco-patron-image.pl" alt="" />
96
                            </div>
97
                        [% END %]
98
                    </div>
92
                    </div>
99
                    <!-- / .row -->
93
                    <!-- / .span12/12 -->
94
                    [% IF ( display_patron_image ) %]
95
                        <div class="col-lg-2">
96
                            <img src="/cgi-bin/koha/sco/sco-patron-image.pl" alt="" />
97
                        </div>
98
                    [% END %]
100
                </div>
99
                </div>
101
                <!-- / .container-fluid -->
100
                <!-- / .row -->
102
101
103
                <div class="container-fluid">
102
                <div class="row">
104
                    <div class="row">
103
                    <div class="col order-first order-md-first order-lg-2">
105
                        <div class="col order-first order-md-first order-lg-2">
104
                        [% WRAPPER tabs id="checkouts" %]
106
                            [% WRAPPER tabs %]
105
                            [% WRAPPER tabs_nav %]
107
                                [% WRAPPER tabs_nav %]
106
                                [% WRAPPER tab_item tabname= "checkouts" bt_active= 1 %]
108
                                    [% WRAPPER tab_item tabname= "checkouts" bt_active= 1 %]
107
                                    <span>Checkouts ([% issues_count | html %])</span>
109
                                        <span>Checkouts ([% issues_count | html %])</span>
108
                                [% END %]
109
                                [% WRAPPER tab_item tabname= "holds" %]
110
                                    [% IF waiting_holds_count %]
111
                                        <i class="fa fa-exclamation-circle" aria-hidden="true"></i>
110
                                    [% END %]
112
                                    [% END %]
111
                                    [% WRAPPER tab_item tabname= "holds" %]
113
                                    <span>Holds</span> ([% HOLDS.count | html %])
112
                                        [% IF waiting_holds_count %]
114
                                [% END %]
113
                                            <i class="fa fa-exclamation-circle" aria-hidden="true"></i>
115
                                [% WRAPPER tab_item tabname= "account" %]
116
                                    <span>Charges ([% total | $Price %])</span>
117
                                [% END %]
118
                            [% END # /WRAPPER tabs_nav %]
119
120
                            [% WRAPPER tab_panels %]
121
                                [% WRAPPER tab_panel tabname="checkouts" bt_active= 1 %]
122
                                    <div id="borrowerdetails">
123
                                        [% IF ( new_issue ) %]
124
                                            <div class="lastchecked">
125
                                                <p>
126
                                                    <strong>Checked out: </strong>
127
                                                    [% new_issue.item.biblio.title | html %] ([% new_issue.item.barcode | html %]).
128
                                                    [% IF new_issue.item.is_bundle %]
129
                                                        [% SET bundle_items_count = new_issue.item.bundle_items.count %]
130
                                                        [% tnx('Bundle of {count} item', 'Bundle of {count} items', bundle_items_count, { count = bundle_items_count }) | html %].
131
                                                    [% END %]
132
                                                    Due on [% new_issue.date_due | $KohaDates as_due_date => 1 %]
133
                                                </p>
134
                                            </div>
114
                                        [% END %]
135
                                        [% END %]
115
                                        <span>Holds</span> ([% HOLDS.count | html %])
136
                                        [% IF ( issues_count ) %]
116
                                    [% END %]
137
                                            [% IF ( Koha.Preference('SCOLoadCheckoutsByDefault') || load_checkouts ) %]
117
                                    [% WRAPPER tab_item tabname= "account" %]
138
                                                <table id="loanTable" class="table table-bordered table-striped">
118
                                        <span>Charges ([% total | $Price %])</span>
139
                                                    <caption>Checkouts for [% borrowername | html %] <span class="count">([% issues_count | html %] total)</span></caption>
119
                                    [% END %]
140
                                                    <!-- ISSUES TABLE ROWS -->
120
                                [% END # /WRAPPER tabs_nav %]
141
                                                    <thead>
121
142
                                                        <tr>
122
                                [% WRAPPER tab_panels %]
143
                                                            <th class="noshow">Checked out on</th>
123
                                    [% WRAPPER tab_panel tabname="checkouts" bt_active= 1 %]
144
                                                            <th class="all anti-the">Title</th>
124
                                        <div id="checkouts-tab" class="tab-pane show active" aria-labelledby="checkouts">
145
                                                            <th>Call number</th>
125
                                            <div id="borrowerdetails">
146
                                                            <th class="psort">Due</th>
126
                                                [% IF ( new_issue ) %]
147
                                                            <th class="all no-sort">Renew</th>
127
                                                    <div class="lastchecked">
148
                                                            [% IF Koha.Preference('SCOAllowCheckin') %]
128
                                                        <p>
149
                                                                <th class="all no-sort">Check in</th>
129
                                                            <strong>Checked out: </strong>
130
                                                            [% new_issue.item.biblio.title | html %] ([% new_issue.item.barcode | html %]).
131
                                                            [% IF new_issue.item.is_bundle %]
132
                                                                [% SET bundle_items_count = new_issue.item.bundle_items.count %]
133
                                                                [% tnx('Bundle of {count} item', 'Bundle of {count} items', bundle_items_count, { count = bundle_items_count }) | html %].
134
                                                            [% END %]
150
                                                            [% END %]
135
                                                            Due on [% new_issue.date_due | $KohaDates as_due_date => 1 %]
151
                                                            [% UNLESS ( nofines ) %]
136
                                                        </p>
152
                                                                <th>Fines</th>
137
                                                    </div>
153
                                                            [% END %]
138
                                                [% END %]
154
                                                            <th class="dtr-control-col"></th>
139
                                                [% IF ( issues_count ) %]
155
                                                        </tr>
140
                                                    [% IF ( Koha.Preference('SCOLoadCheckoutsByDefault') || load_checkouts ) %]
156
                                                    </thead>
141
                                                        <table id="loanTable" class="table table-bordered table-striped">
157
                                                    <tbody>
142
                                                            <caption>Checkouts for [% borrowername | html %] <span class="count">([% issues_count | html %] total)</span></caption>
158
                                                        [% FOREACH ISSUE IN ISSUES %]
143
                                                            <!-- ISSUES TABLE ROWS -->
159
                                                            <tr>
144
                                                            <thead>
160
                                                                <td>[% ISSUE.issuedate | html %]</td>
145
                                                                <tr>
161
                                                                <td>
146
                                                                    <th class="noshow">Checked out on</th>
162
                                                                    [% UNLESS ( noitemlinks ) %]
147
                                                                    <th class="all anti-the">Title</th>
163
                                                                        <a href="/cgi-bin/koha/opac-detail.pl?bib=[% ISSUE.  biblionumber | uri %]">[% ISSUE.title | html %]</a>
148
                                                                    <th>Call number</th>
164
                                                                    [% ELSE %]
149
                                                                    <th class="psort">Due</th>
165
                                                                        <strong>[% ISSUE.title | html %]</strong>
150
                                                                    <th class="all no-sort">Renew</th>
151
                                                                    [% IF Koha.Preference('SCOAllowCheckin') %]
152
                                                                        <th class="all no-sort">Check in</th>
153
                                                                    [% END %]
166
                                                                    [% END %]
154
                                                                    [% UNLESS ( nofines ) %]
167
                                                                    [% IF ( newissues.match(ISSUE.barcode)) %]
155
                                                                        <th>Fines</th>
168
                                                                        <span class="badge text-bg-info">NEW</span>
156
                                                                    [% END %]
169
                                                                    [% END %]
157
                                                                    <th class="dtr-control-col"></th>
170
                                                                    <span class="item-details">[% ISSUE.author | html %]</span>
158
                                                                </tr>
171
                                                                    ([% ISSUE.barcode | html %])
159
                                                            </thead>
172
                                                                </td>
160
                                                            <tbody>
173
                                                                <td>[% ISSUE.itemcallnumber | html %]</td>
161
                                                                [% FOREACH ISSUE IN ISSUES %]
174
                                                                [% IF ( ISSUE.overdue ) %]
162
                                                                    <tr>
175
                                                                    <td class="overdue" data-order="[% ISSUE.date_due | html %]"> [% ISSUE.date_due | $KohaDates as_due_date => 1 %] </td>
163
                                                                        <td>[% ISSUE.issuedate | html %]</td>
176
                                                                [% ELSE %]
164
                                                                        <td>
177
                                                                    <td data-order="[% ISSUE.date_due | html %]"> [% ISSUE.date_due | $KohaDates as_due_date => 1 %] </td>
165
                                                                            [% UNLESS ( noitemlinks ) %]
178
                                                                [% END %]
166
                                                                                <a href="/cgi-bin/koha/opac-detail.pl?bib=[% ISSUE.  biblionumber | uri %]">[% ISSUE.title | html %]</a>
179
                                                                <td>
180
                                                                    <form action="/cgi-bin/koha/sco/sco-main.pl" method="post">
181
                                                                        [% INCLUDE 'csrf-token.inc' %]
182
                                                                        <fieldset>
183
                                                                            <legend class="sr-only">Issue renews</legend>
184
                                                                            <input type="hidden" name="patronid" value="[% patronid | html %]" />
185
                                                                            <input type="hidden" name="load_checkouts" value="[% load_checkouts | html %]" />
186
                                                                            <input type="hidden" name="barcode" value="[% ISSUE.barcode | html %]" />
187
                                                                            <input type="hidden" name="newissues" value="[% newissues | html %]" />
188
                                                                            [% IF ISSUE.can_be_renewed %]
189
                                                                                <input type="hidden" name="op" value="cud-renew" />
190
                                                                                <input type="hidden" name="confirmed" value="1" />
191
                                                                                [% UNLESS ( ISSUE.renew ) %]
192
                                                                                    <input type="submit" value="Renew item" name="confirm  " class="btn btn-primary btn-sm renew" />
193
                                                                                [% ELSE %]
194
                                                                                    <input type="submit" value="Renew item" class="btn btn-primary btn-sm renew" />
195
                                                                                [% END %]
167
                                                                            [% ELSE %]
196
                                                                            [% ELSE %]
168
                                                                                <strong>[% ISSUE.title | html %]</strong>
197
                                                                                [% IF ISSUE.renew_error == 'onsite_checkout' %]
198
                                                                                    <span>This is a on-site checkout, it cannot be renewed.</span>
199
                                                                                [% ELSIF ISSUE.renew_error == 'too_unseen' %]
200
                                                                                    <span>You have renewed this item the maximum number of consecutive times without it being seen by the library.</span>
201
                                                                                [% ELSIF ISSUE.renew_error == 'too_soon' %]
202
                                                                                    <span>This item cannot yet be renewed.</span>
203
                                                                                [% ELSE %]
204
                                                                                    <span>No renewals allowed</span>
205
                                                                                [% END %]
169
                                                                            [% END %]
206
                                                                            [% END %]
170
                                                                            [% IF ( newissues.match(ISSUE.barcode)) %]
207
                                                                            [% IF ISSUE.auto_renew %]
171
                                                                                <span class="badge text-bg-info">NEW</span>
208
                                                                                <br /><span>This item is scheduled for automatic renewal</span>
172
                                                                            [% END %]
209
                                                                            [% END %]
173
                                                                            <span class="item-details">[% ISSUE.author | html %]</span>
210
                                                                        </fieldset>
174
                                                                            ([% ISSUE.barcode | html %])
211
                                                                    </form>
175
                                                                        </td>
212
                                                                </td>
176
                                                                        <td>[% ISSUE.itemcallnumber | html %]</td>
213
                                                                [% IF Koha.Preference('SCOAllowCheckin') %]
177
                                                                        [% IF ( ISSUE.overdue ) %]
214
                                                                    <td>
178
                                                                            <td class="overdue" data-order="[% ISSUE.date_due | html %]"> [% ISSUE.date_due | $KohaDates as_due_date => 1 %] </td>
215
                                                                        <form action="/cgi-bin/koha/sco/sco-main.pl" method="post">
179
                                                                        [% ELSE %]
216
                                                                            [% INCLUDE 'csrf-token.inc' %]
180
                                                                            <td data-order="[% ISSUE.date_due | html %]"> [% ISSUE.date_due | $KohaDates as_due_date => 1 %] </td>
217
                                                                            <fieldset>
181
                                                                        [% END %]
182
                                                                        <td>
183
                                                                            <form action="/cgi-bin/koha/sco/sco-main.pl" method="post">
184
                                                                                [% INCLUDE 'csrf-token.inc' %]
185
                                                                                <legend class="sr-only">Issue renews</legend>
218
                                                                                <legend class="sr-only">Issue renews</legend>
186
                                                                                <input type="hidden" name="patronid" value="[% patronid | html %]" />
219
                                                                                <input type="hidden" name="patronid" value="[% patronid | html %]" />
187
                                                                                <input type="hidden" name="load_checkouts" value="[% load_checkouts | html %]" />
220
                                                                                <input type="hidden" name="load_checkouts" value="[% load_checkouts | html %]" />
188
                                                                                <input type="hidden" name="barcode" value="[% ISSUE.barcode | html %]" />
221
                                                                                <input type="hidden" name="barcode" value="[% ISSUE.barcode | html %]" />
189
                                                                                <input type="hidden" name="newissues" value="[% newissues | html %]" />
222
                                                                                <input type="submit" value="Check in item" name="confirm" class="btn btn-info btn-sm return" />
190
                                                                                [% IF ISSUE.can_be_renewed %]
223
                                                                                <input type="hidden" name="op" value="cud-returnbook" />
191
                                                                                    <input type="hidden" name="op" value="cud-renew" />
224
                                                                                <input type="hidden" name="confirmed" value="" />
192
                                                                                    <input type="hidden" name="confirmed" value="1" />
225
                                                                            </fieldset>
193
                                                                                    [% UNLESS ( ISSUE.renew ) %]
226
                                                                        </form>
194
                                                                                        <input type="submit" value="Renew item" name="confirm  " class="btn btn-primary btn-sm renew" />
227
                                                                    </td>
195
                                                                                    [% ELSE %]
228
                                                                [% END %]
196
                                                                                        <input type="submit" value="Renew item" class="btn btn-primary btn-sm renew" />
229
                                                                [% UNLESS ( nofines ) %]
197
                                                                                    [% END %]
230
                                                                    <td> [% IF ( ISSUE.charges ) %]Yes[% ELSE %]No[% END %] </td>
198
                                                                                [% ELSE %]
231
                                                                [% END %]
199
                                                                                    [% IF ISSUE.renew_error == 'onsite_checkout' %]
232
                                                                <td></td>
200
                                                                                        <span>This is a on-site checkout, it cannot be renewed.</span>
233
                                                            </tr>
201
                                                                                    [% ELSIF ISSUE.renew_error == 'too_unseen' %]
234
                                                        [% END # / FOREACH ISSUE %]
202
                                                                                        <span>You have renewed this item the maximum number of consecutive times without it being seen by the library.</span>
235
                                                    </tbody>
203
                                                                                    [% ELSIF ISSUE.renew_error == 'too_soon' %]
236
                                                </table>
204
                                                                                        <span>This item cannot yet be renewed.</span>
237
                                            [% ELSE %]
205
                                                                                    [% ELSE %]
238
                                                <a class="btn btn-secondary" href="?load_checkouts=1#scan_form"><i class="fa fa-book" aria-hidden="true"></i> Show your checkouts</a>
206
                                                                                        <span>No renewals allowed</span>
239
                                            [% END # / IF ( Koha.preference('SCOLoadCheckoutsByDefault') || load_checkouts ) %]
207
                                                                                    [% END %]
208
                                                                                [% END %]
209
                                                                                [% IF ISSUE.auto_renew %]
210
                                                                                    <br /><span>This item is scheduled for automatic renewal</span>
211
                                                                                [% END %]
212
                                                                            </form>
213
                                                                        </td>
214
                                                                        [% IF Koha.Preference('SCOAllowCheckin') %]
215
                                                                            <td>
216
                                                                                <form action="/cgi-bin/koha/sco/sco-main.pl" method="post">
217
                                                                                    [% INCLUDE 'csrf-token.inc' %]
218
                                                                                    <legend class="sr-only">Issue renews</legend>
219
                                                                                    <input type="hidden" name="patronid" value="[% patronid | html %]" />
220
                                                                                    <input type="hidden" name="load_checkouts" value="[% load_checkouts | html %]" />
221
                                                                                    <input type="hidden" name="barcode" value="[% ISSUE.barcode | html %]" />
222
                                                                                    <input type="submit" value="Check in item" name="confirm" class="btn btn-info btn-sm return" />
223
                                                                                    <input type="hidden" name="op" value="cud-returnbook" />
224
                                                                                    <input type="hidden" name="confirmed" value="" />
225
                                                                                </form>
226
                                                                            </td>
227
                                                                        [% END %]
228
                                                                        [% UNLESS ( nofines ) %]
229
                                                                            <td> [% IF ( ISSUE.charges ) %]Yes[% ELSE %]No[% END %] </td>
230
                                                                        [% END %]
231
                                                                        <td></td>
232
                                                                    </tr>
233
                                                                [% END # / FOREACH ISSUE %]
234
                                                            </tbody>
235
                                                        </table>
236
                                                    [% ELSE %]
237
                                                        <a class="btn btn-secondary" href="?load_checkouts=1#scan_form"><i class="fa fa-book" aria-hidden="true"></i> Show your checkouts</a>
238
                                                    [% END # / IF ( Koha.preference('SCOLoadCheckoutsByDefault') || load_checkouts ) %]
239
                                                [% ELSE %]
240
                                                    <h3>You currently have nothing checked out.</h3>
241
                                                [% END # / IF issues_count %]
242
                                            </div>
243
                                            <!-- / #borrowerdetails -->
244
                                        </div>
245
                                    [% END # /tab_panel %]
246
                                    [% WRAPPER tab_panel tabname="holds" %]
247
                                        [% IF HOLDS.count > 0 %]
248
                                            [% PROCESS 'holds-table.inc' HOLDS = HOLDS, SuspendHoldsOpac = SuspendHoldsOpac, showpriority = showpriority, AutoResumeSuspendedHolds = AutoResumeSuspendedHolds, onlyinfo = 'true' %]
249
                                        [% ELSE %]
240
                                        [% ELSE %]
250
                                            <h3>You currently have no pending holds.</h3>
241
                                            <h3>You currently have nothing checked out.</h3>
251
                                        [% END %]
242
                                        [% END # / IF issues_count %]
252
                                    [% END # /tab_panel %]
243
                                    </div>
253
                                    [% WRAPPER tab_panel tabname="account" %]
244
                                    <!-- / #borrowerdetails -->
254
                                        [% PROCESS 'account-table.inc' %]
245
                                [% END # /tab_panel %]
255
                                    [% END # /tab_panel %]
246
                                [% WRAPPER tab_panel tabname="holds" %]
256
                                [% END # /WRAPPER tab_panels %]
247
                                    [% IF HOLDS.count > 0 %]
257
                            [% END # /WRAPPER tabs %]
248
                                        [% PROCESS 'holds-table.inc' HOLDS = HOLDS, SuspendHoldsOpac = SuspendHoldsOpac, showpriority = showpriority, AutoResumeSuspendedHolds = AutoResumeSuspendedHolds, onlyinfo = 'true' %]
258
249
                                    [% ELSE %]
259
                            [% IF ( SCOMainUserBlock ) %]
250
                                        <h3>You currently have no pending holds.</h3>
260
                                <div id="scomainuserblock"> [% PROCESS koha_news_block news => SCOMainUserBlock %] </div>
251
                                    [% END %]
261
                            [% END %]
252
                                [% END # /tab_panel %]
262
                        </div>
253
                                [% WRAPPER tab_panel tabname="account" %]
263
                        <!-- / .span12 -->
254
                                    [% PROCESS 'account-table.inc' %]
264
                    </div>
255
                                [% END # /tab_panel %]
265
                    <!-- / .row -->
256
                            [% END # /WRAPPER tab_panels %]
266
                </div>
257
                        [% END # /WRAPPER tabs %]
267
                <!-- / .container-fluid -->
258
268
            [% ELSE # IF validuser %]
259
                        [% IF ( SCOMainUserBlock ) %]
269
                <div class="container-fluid">
260
                            <div id="scomainuserblock"> [% PROCESS koha_news_block news => SCOMainUserBlock %] </div>
270
                    <div class="row">
261
                        [% END %]
271
                        <div class="[% main_div_class | html %]">
272
                            <div id="masthead"><h1>[% LibraryName | html %] Self-checkout system</h1></div>
273
274
                            [% PROCESS display_errors %]
275
276
                            [% IF patronid && nouser %]
277
                                <div class="alert alert-warning">
278
                                    <p
279
                                        >You entered an incorrect username or password. Please try again! But note that passwords are case sensitive.
280
                                        [% IF Koha.Preference('FailedLoginAttempts') %]
281
                                            Your account will be locked after a fixed number of failed login attempts.
282
                                        [% END %]
283
                                        Please contact a library staff member if you continue to have problems.</p
284
                                    >
285
                                </div>
286
                            [% END %]
287
288
                            <div class="sco_entry">
289
                                <form id="mainform" action="/cgi-bin/koha/sco/sco-main.pl" name="mainform" method="post">
290
                                    [% INCLUDE 'csrf-token.inc' %]
291
                                    <fieldset>
292
                                        <legend>Log in to your account</legend>
293
                                        <div class="row">
294
                                            <div class="col-md-6">
295
                                                [% IF ( Koha.Preference('SelfCheckoutByLogin') ) %]
296
                                                    <div class="row">
297
                                                        <div class="col-md-12"> [% PROCESS login_label for="patronlogin" %] </div>
298
                                                        <div class="col-md-12">
299
                                                            <input type="text" id="patronlogin" class="form-control focus noEnterSubmit" size="20" name="patronlogin" autocomplete="off" />
300
                                                        </div>
301
                                                        <div class="col-md-12">
302
                                                            <label for="patronpw">Password:</label>
303
                                                        </div>
304
                                                        <div class="col-md-12">
305
                                                            <input type="password" id="patronpw" class="form-control" size="20" name="patronpw" autocomplete="off" />
306
                                                        </div>
307
                                                        <div class="col-md-12">
308
                                                            <button type="submit" class="btn btn-primary">Log in</button>
309
                                                        </div>
310
                                                    </div>
311
                                                    <!-- /.row -->
312
                                                [% ELSE %]
313
                                                    <div class="row">
314
                                                        <div class="col-md-12">
315
                                                            <label for="patronid">Please enter your card number:</label>
316
                                                        </div>
317
                                                        <div class="col-md-12">
318
                                                            <input type="text" id="patronid" class="form-control focus" size="20" name="patronid" autocomplete="off" />
319
                                                        </div>
320
                                                        <div class="col-md-12">
321
                                                            <button type="submit" class="btn btn-primary">Submit</button>
322
                                                        </div>
323
                                                    </div>
324
                                                    <!-- /.row -->
325
                                                [% END %]
326
                                            </div>
327
                                            <!-- /.col-md-6 -->
328
                                        </div>
329
                                        <!-- /.row -->
330
                                        [% FOREACH INPUT IN INPUTS %]
331
                                            <input type="hidden" name="[% INPUT.name | html %]" value="[% INPUT.value | html %]" />
332
                                        [% END %]
333
                                        <input type="hidden" name="op" value="cud-login" />
334
                                    </fieldset>
335
                                </form>
336
                                <!-- /#mainform -->
337
                            </div>
338
                            <!-- / .sco_entry -->
339
                            [% IF ( SCOMainUserBlock ) %]
340
                                <div id="scomainuserblock"> [% PROCESS koha_news_block news => SCOMainUserBlock %] </div>
341
                            [% END %]
342
                        </div>
343
                        <!-- / .span12 -->
344
                    </div>
262
                    </div>
345
                    <!-- / .row -->
263
                    <!-- / .span12 -->
346
                </div>
264
                </div>
347
                <!-- / .container-fluid -->
265
                <!-- / .row -->
348
            [% END # / IF validuser %]
266
            </div>
349
        [% ELSE # / UNLESS ( hide_main %]
267
            <!-- / .container-fluid -->
268
        [% ELSE # IF validuser %]
350
            <div class="container-fluid">
269
            <div class="container-fluid">
351
                <div class="row">
270
                <div class="row">
352
                    <div class="[% main_div_class | html %]">
271
                    <div class="[% main_div_class | html %]">
Lines 354-359 Link Here
354
273
355
                        [% PROCESS display_errors %]
274
                        [% PROCESS display_errors %]
356
275
276
                        [% IF patronid && nouser %]
277
                            <div class="alert alert-warning">
278
                                <p
279
                                    >You entered an incorrect username or password. Please try again! But note that passwords are case sensitive.
280
                                    [% IF Koha.Preference('FailedLoginAttempts') %]
281
                                        Your account will be locked after a fixed number of failed login attempts.
282
                                    [% END %]
283
                                    Please contact a library staff member if you continue to have problems.</p
284
                                >
285
                            </div>
286
                        [% END %]
287
288
                        <div class="sco_entry">
289
                            <form id="mainform" action="/cgi-bin/koha/sco/sco-main.pl" name="mainform" method="post">
290
                                [% INCLUDE 'csrf-token.inc' %]
291
                                <fieldset>
292
                                    <legend>Log in to your account</legend>
293
                                    <div class="row">
294
                                        <div class="col-md-6">
295
                                            [% IF ( Koha.Preference('SelfCheckoutByLogin') ) %]
296
                                                <div class="row">
297
                                                    <div class="col-md-12"> [% PROCESS login_label for="patronlogin" %] </div>
298
                                                    <div class="col-md-12">
299
                                                        <input type="text" id="patronlogin" class="form-control focus noEnterSubmit" size="20" name="patronlogin" autocomplete="off" />
300
                                                    </div>
301
                                                    <div class="col-md-12">
302
                                                        <label for="patronpw">Password:</label>
303
                                                    </div>
304
                                                    <div class="col-md-12">
305
                                                        <input type="password" id="patronpw" class="form-control" size="20" name="patronpw" autocomplete="off" />
306
                                                    </div>
307
                                                    <div class="col-md-12">
308
                                                        <button type="submit" class="btn btn-primary">Log in</button>
309
                                                    </div>
310
                                                </div>
311
                                                <!-- /.row -->
312
                                            [% ELSE %]
313
                                                <div class="row">
314
                                                    <div class="col-md-12">
315
                                                        <label for="patronid">Please enter your card number:</label>
316
                                                    </div>
317
                                                    <div class="col-md-12">
318
                                                        <input type="text" id="patronid" class="form-control focus" size="20" name="patronid" autocomplete="off" />
319
                                                    </div>
320
                                                    <div class="col-md-12">
321
                                                        <button type="submit" class="btn btn-primary">Submit</button>
322
                                                    </div>
323
                                                </div>
324
                                                <!-- /.row -->
325
                                            [% END %]
326
                                        </div>
327
                                        <!-- /.col-md-6 -->
328
                                    </div>
329
                                    <!-- /.row -->
330
                                    [% FOREACH INPUT IN INPUTS %]
331
                                        <input type="hidden" name="[% INPUT.name | html %]" value="[% INPUT.value | html %]" />
332
                                    [% END %]
333
                                    <input type="hidden" name="op" value="cud-login" />
334
                                </fieldset>
335
                            </form>
336
                            <!-- /#mainform -->
337
                        </div>
338
                        <!-- / .sco_entry -->
357
                        [% IF ( SCOMainUserBlock ) %]
339
                        [% IF ( SCOMainUserBlock ) %]
358
                            <div id="scomainuserblock"> [% PROCESS koha_news_block news => SCOMainUserBlock %] </div>
340
                            <div id="scomainuserblock"> [% PROCESS koha_news_block news => SCOMainUserBlock %] </div>
359
                        [% END %]
341
                        [% END %]
Lines 363-697 Link Here
363
                <!-- / .row -->
345
                <!-- / .row -->
364
            </div>
346
            </div>
365
            <!-- / .container-fluid -->
347
            <!-- / .container-fluid -->
366
        [% END # / UNLESS ( hide_main %]
348
        [% END # / IF validuser %]
367
    </main>
349
    [% ELSE # / UNLESS ( hide_main %]
368
    <!-- / .main -->
350
        <div class="container-fluid">
369
    <span id="audio-alert"></span>
351
            <div class="row">
370
352
                <div class="[% main_div_class | html %]">
371
    [% INCLUDE 'opac-bottom.inc' %]
353
                    <div id="masthead"><h1>[% LibraryName | html %] Self-checkout system</h1></div>
372
    [% BLOCK jsinclude %]
354
373
        [% INCLUDE 'datatables.inc' %]
355
                    [% PROCESS display_errors %]
374
        <script>
375
            function mungeHistory() {
376
                    // prevent back button from allowing form resubmission
377
                    if (history && history.pushState) {
378
                        history.replaceState(null, document.title, window.location.href);
379
                    }
380
                }
381
                var mainTimeout;
382
                function sco_init() {
383
                    mainTimeout = setTimeout(function() {
384
                        location.href = '/cgi-bin/koha/sco/sco-main.pl?op=logout';
385
                    }, [% SelfCheckTimeout | html %]);
386
                }
387
                function dofocus() {    // named function req'd for body onload event by some FF and IE7 security models
388
                    // alert("dofocus called");
389
                    $(".focus:last").select();
390
                }
391
                var slip_re = /slip/;
392
                function printx_window(print_type) {
393
                  var handler = print_type.match(slip_re) ? "printslip" : "moremember";
394
356
395
                  return false;
357
                    [% IF ( SCOMainUserBlock ) %]
358
                        <div id="scomainuserblock"> [% PROCESS koha_news_block news => SCOMainUserBlock %] </div>
359
                    [% END %]
360
                </div>
361
                <!-- / .span12 -->
362
            </div>
363
            <!-- / .row -->
364
        </div>
365
        <!-- / .container-fluid -->
366
    [% END # / UNLESS ( hide_main %]
367
</main>
368
<!-- / .main -->
369
<span id="audio-alert"></span>
370
371
[% INCLUDE 'opac-bottom.inc' %]
372
[% BLOCK jsinclude %]
373
    [% INCLUDE 'datatables.inc' %]
374
    <script>
375
        function mungeHistory() {
376
                // prevent back button from allowing form resubmission
377
                if (history && history.pushState) {
378
                    history.replaceState(null, document.title, window.location.href);
396
                }
379
                }
397
                function checkout_confirm(patronid) {
380
            }
398
                    var   barcode = $("#barcode").val();
381
            var mainTimeout;
399
                    // alert("checkout_confirm('" + patronid + "') called for barcode '" + barcode + "'");
382
            function sco_init() {
400
                    if (! barcode) { dofocus(); return false; }    // no barcode
383
                mainTimeout = setTimeout(function() {
401
                    if (barcode == "__KOHA_NEW_CIRC__") {   // magic barcode
384
                    location.href = '/cgi-bin/koha/sco/sco-main.pl?op=logout';
402
                        window.location.href='/cgi-bin/koha/sco/sco-main.pl?op=logout';
385
                }, [% SelfCheckTimeout | html %]);
403
                        return false;
386
            }
404
                    }
387
            function dofocus() {    // named function req'd for body onload event by some FF and IE7 security models
405
                    return true;
388
                // alert("dofocus called");
389
                $(".focus:last").select();
390
            }
391
            var slip_re = /slip/;
392
            function printx_window(print_type) {
393
              var handler = print_type.match(slip_re) ? "printslip" : "moremember";
394
395
              return false;
396
            }
397
            function checkout_confirm(patronid) {
398
                var   barcode = $("#barcode").val();
399
                // alert("checkout_confirm('" + patronid + "') called for barcode '" + barcode + "'");
400
                if (! barcode) { dofocus(); return false; }    // no barcode
401
                if (barcode == "__KOHA_NEW_CIRC__") {   // magic barcode
402
                    window.location.href='/cgi-bin/koha/sco/sco-main.pl?op=logout';
403
                    return false;
406
                }
404
                }
407
                [% IF Koha.Preference('AudioAlerts') %]
405
                return true;
408
                    var AUDIO_ALERTS = JSON.parse( "[% To.json(AudioAlerts.AudioAlerts) | $raw %]" );
406
            }
409
                    $( document ).ready(function() {
407
            [% IF Koha.Preference('AudioAlerts') %]
410
                        if ( AUDIO_ALERTS ) {
408
                var AUDIO_ALERTS = JSON.parse( "[% To.json(AudioAlerts.AudioAlerts) | $raw %]" );
411
                            for ( var k in AUDIO_ALERTS ) {
409
                $( document ).ready(function() {
412
                                var alert = AUDIO_ALERTS[k];
410
                    if ( AUDIO_ALERTS ) {
413
                                if ( $( alert.selector ).length ) {
411
                        for ( var k in AUDIO_ALERTS ) {
414
                                    playSound( alert.sound );
412
                            var alert = AUDIO_ALERTS[k];
415
                                    break;
413
                            if ( $( alert.selector ).length ) {
416
                                }
414
                                playSound( alert.sound );
415
                                break;
417
                            }
416
                            }
418
                        }
417
                        }
419
                    });
420
                    function playSound( sound ) {
421
                        if (!(sound.indexOf("http://") === 0 || sound.indexOf("https://") === 0)) {
422
                            sound = '[% interface | html %]' + '/bootstrap/sound/' + sound;
423
                        }
424
                        document.getElementById("audio-alert").innerHTML = '<audio src="' + sound + '" autoplay="autoplay" autobuffer="autobuffer"></audio>';
425
                    }
418
                    }
426
                [% END %]
427
428
                $( window ).on( "load", function() {
429
                    dofocus();
430
                });
419
                });
420
                function playSound( sound ) {
421
                    if (!(sound.indexOf("http://") === 0 || sound.indexOf("https://") === 0)) {
422
                        sound = '[% interface | html %]' + '/bootstrap/sound/' + sound;
423
                    }
424
                    document.getElementById("audio-alert").innerHTML = '<audio src="' + sound + '" autoplay="autoplay" autobuffer="autobuffer"></audio>';
425
                }
426
            [% END %]
431
427
432
                $( window ).on( "unload", function() {
428
            $( window ).on( "load", function() {
433
                    mungeHistory();
429
                dofocus();
434
                });
430
            });
435
431
436
                $(document).ready(function() {
432
            $( window ).on( "unload", function() {
437
                    dofocus();
433
                mungeHistory();
438
                    [% IF ( patronid ) %]sco_init();[% END %]
434
            });
439
435
440
                    var dTables = $("#loanTable, #holdst, #finestable");
436
            $(document).ready(function() {
441
                    dTables.each(function(){
437
                dofocus();
442
                        var thIndex = $(this).find("th.psort").index();
438
                [% IF ( patronid ) %]sco_init();[% END %]
443
                        $(this).kohaTable({
439
444
                            sorting: [[thIndex, "asc"]],
440
                var dTables = $("#loanTable, #holdst, #finestable");
445
                            dom: '<"top"<"table_entries"><"table_controls"f>>t<"clear">',
441
                dTables.each(function(){
446
                            columnDefs: [
442
                    var thIndex = $(this).find("th.psort").index();
447
                                { targets: ["noshow"], visible: false, searchable: false },
443
                    $(this).kohaTable({
448
                                { visible: false, targets: ["hidden"] },
444
                        sorting: [[thIndex, "asc"]],
449
                                { className: "dtr-control", orderable: false, targets: -1 },
445
                        dom: '<"top"<"table_entries"><"table_controls"f>>t<"clear">',
450
                            ],
446
                        columnDefs: [
451
                            language: {
447
                            { targets: ["noshow"], visible: false, searchable: false },
452
                                search: "_INPUT_",
448
                            { visible: false, targets: ["hidden"] },
453
                                searchPlaceholder: _("Search"),
449
                            { className: "dtr-control", orderable: false, targets: -1 },
454
                            },
450
                        ],
455
                            responsive: {
451
                        language: {
456
                                details: {
452
                            search: "_INPUT_",
457
                                    type: "column",
453
                            searchPlaceholder: _("Search"),
458
                                    target: -1,
454
                        },
459
                                },
455
                        responsive: {
456
                            details: {
457
                                type: "column",
458
                                target: -1,
460
                            },
459
                            },
461
                        });
460
                        },
462
                    });
461
                    });
462
                });
463
463
464
                    $('a[data-bs-toggle="tab"]').on('shown.bs.tab', function (event) {
464
                $('a[data-bs-toggle="tab"]').on('shown.bs.tab', function (event) {
465
                        dTables.DataTable().responsive.recalc();
465
                    dTables.DataTable().responsive.recalc();
466
                    } );
466
                } );
467
467
468
                    $("#logout_form").on("click", function(e){
468
                $("#logout_form").on("click", function(e){
469
                        e.preventDefault(e);
469
                    e.preventDefault(e);
470
                        clearTimeout(mainTimeout);
470
                    clearTimeout(mainTimeout);
471
                        [% IF Koha.Preference('SelfCheckReceiptPrompt') %]
471
                    [% IF Koha.Preference('SelfCheckReceiptPrompt') %]
472
                            confirmModal("", _("Would you like to print a receipt?"), _("Print receipt and end session"), _("End session"), function(result) {
472
                        confirmModal("", _("Would you like to print a receipt?"), _("Print receipt and end session"), _("End session"), function(result) {
473
                                if ( result ){
473
                            if ( result ){
474
                                    var win = window.open("/cgi-bin/koha/sco/printslip.pl?print=qslip");
474
                                var win = window.open("/cgi-bin/koha/sco/printslip.pl?print=qslip");
475
                                    location.href = '/cgi-bin/koha/sco/sco-main.pl?op=logout';
475
                                location.href = '/cgi-bin/koha/sco/sco-main.pl?op=logout';
476
                                } else {
476
                            } else {
477
                                    location.href = '/cgi-bin/koha/sco/sco-main.pl?op=logout';
477
                                location.href = '/cgi-bin/koha/sco/sco-main.pl?op=logout';
478
                                }
478
                            }
479
                            });
479
                        });
480
                        [% ELSE %]
480
                    [% ELSE %]
481
                            location.href = '/cgi-bin/koha/sco/sco-main.pl?op=logout';
481
                        location.href = '/cgi-bin/koha/sco/sco-main.pl?op=logout';
482
                        [% END %]
482
                    [% END %]
483
483
484
                        return true;
484
                    return true;
485
                    });
485
                });
486
486
487
                    $("#scan_form").on("submit", function(){
487
                $("#scan_form").on("submit", function(){
488
                        return checkout_confirm('[% patronid | html %]');
488
                    return checkout_confirm('[% patronid | html %]');
489
                    });
489
                });
490
            });
490
        });
491
    </script>
492
    [% Asset.js("js/holds.js") | $raw %]
493
    [% IF ( Koha.Preference('SCOUserJS') ) %]
494
        <script>
495
            [% Koha.Preference('SCOUserJS') | $raw %]
491
        </script>
496
        </script>
492
        [% Asset.js("js/holds.js") | $raw %]
493
        [% IF ( Koha.Preference('SCOUserJS') ) %]
494
            <script>
495
                [% Koha.Preference('SCOUserJS') | $raw %]
496
            </script>
497
        [% END %]
498
    [% END %]
497
    [% END %]
498
[% END %]
499
499
500
    [% BLOCK display_errors %]
500
[% BLOCK display_errors %]
501
        [% FOREACH item IN impossible %]
501
    [% FOREACH item IN impossible %]
502
            <!-- We tried to issue, but failed. -->
502
        <!-- We tried to issue, but failed. -->
503
            <div class="alert alert-warning">
503
        <div class="alert alert-warning">
504
                <span class="sco-alert-warning noissue"></span>
504
            <span class="sco-alert-warning noissue"></span>
505
                <h2>Item cannot be checked out.</h2>
505
            <h2>Item cannot be checked out.</h2>
506
                <p>Sorry, this item cannot be checked out at this station.</p>
506
            <p>Sorry, this item cannot be checked out at this station.</p>
507
                [% IF ( item.title ) %]
507
            [% IF ( item.title ) %]
508
                    <p>Title: <em>[% item.title | html %]</em> </p>
508
                <p>Title: <em>[% item.title | html %]</em> </p>
509
                [% END %]
509
            [% END %]
510
510
511
                <p>
511
            <p>
512
                    [% IF ( item.circ_error_UNKNOWN_BARCODE ) %]
512
                [% IF ( item.circ_error_UNKNOWN_BARCODE ) %]
513
                        <span id="ce_unknown_barcode">The system does not recognize this barcode.</span>
513
                    <span id="ce_unknown_barcode">The system does not recognize this barcode.</span>
514
                    [% ELSIF ( item.circ_error_max_loans_allowed ) %]
514
                [% ELSIF ( item.circ_error_max_loans_allowed ) %]
515
                        <span id="ce_max_loans_allowed">You have reached the maximum limit of items checked out.</span>
515
                    <span id="ce_max_loans_allowed">You have reached the maximum limit of items checked out.</span>
516
                    [% ELSIF ( item.circ_error_ISSUED_TO_ANOTHER ) %]
516
                [% ELSIF ( item.circ_error_ISSUED_TO_ANOTHER ) %]
517
                        <span id="ce_issued_to_another">This item is checked out to someone else.</span>
517
                    <span id="ce_issued_to_another">This item is checked out to someone else.</span>
518
                    [% ELSIF ( item.circ_error_NO_MORE_RENEWALS ) %]
518
                [% ELSIF ( item.circ_error_NO_MORE_RENEWALS ) %]
519
                        <span id="ce_no_more_renewals">You cannot renew this item again.</span>
519
                    <span id="ce_no_more_renewals">You cannot renew this item again.</span>
520
                    [% ELSIF ( item.circ_error_NOT_FOR_LOAN ) %]
520
                [% ELSIF ( item.circ_error_NOT_FOR_LOAN ) %]
521
                        <span id="ce_not_for_loan">This item is not for loan.</span>
521
                    <span id="ce_not_for_loan">This item is not for loan.</span>
522
                    [% ELSIF ( item.circ_error_DEBT ) %]
522
                [% ELSIF ( item.circ_error_DEBT ) %]
523
                        <span id="ce_too_much_debt">You owe the library [% item.DEBT | $Price with_symbol => 1 %] and cannot check out.</span>
523
                    <span id="ce_too_much_debt">You owe the library [% item.DEBT | $Price with_symbol => 1 %] and cannot check out.</span>
524
                    [% ELSIF ( item.circ_error_WTHDRAWN ) %]
524
                [% ELSIF ( item.circ_error_WTHDRAWN ) %]
525
                        <span id="ce_wthdrawn">This item has been withdrawn from the collection.</span>
525
                    <span id="ce_wthdrawn">This item has been withdrawn from the collection.</span>
526
                    [% ELSIF ( item.circ_error_RESTRICTED ) %]
526
                [% ELSIF ( item.circ_error_RESTRICTED ) %]
527
                        <span id="ce_restricted">This item is restricted.</span>
527
                    <span id="ce_restricted">This item is restricted.</span>
528
                    [% ELSIF ( item.circ_error_RESERVED ) %]
528
                [% ELSIF ( item.circ_error_RESERVED ) %]
529
                        <span id="ce_reserved">This item is on hold for another patron.</span>
529
                    <span id="ce_reserved">This item is on hold for another patron.</span>
530
                    [% ELSIF ( item.circ_error_ITEMNOTSAMEBRANCH ) %]
530
                [% ELSIF ( item.circ_error_ITEMNOTSAMEBRANCH ) %]
531
                        <span id="ce_itemnotsamebranch">This item belongs to another library.</span>
531
                    <span id="ce_itemnotsamebranch">This item belongs to another library.</span>
532
                    [% ELSIF ( item.circ_error_EXPIRED ) %]
532
                [% ELSIF ( item.circ_error_EXPIRED ) %]
533
                        <span id="ce_expired">Your account has expired.</span>
533
                    <span id="ce_expired">Your account has expired.</span>
534
                    [% ELSIF ( item.circ_error_DEBARRED ) %]
534
                [% ELSIF ( item.circ_error_DEBARRED ) %]
535
                        <span id="ce_debarred">Your account has been suspended.</span>
535
                    <span id="ce_debarred">Your account has been suspended.</span>
536
                    [% ELSIF ( item.circ_error_CARD_LOST ) %]
536
                [% ELSIF ( item.circ_error_CARD_LOST ) %]
537
                        <span id="ce_card_lost">This library card has been declared lost.</span>
537
                    <span id="ce_card_lost">This library card has been declared lost.</span>
538
                    [% ELSIF ( item.circ_error_GNA ) %]
538
                [% ELSIF ( item.circ_error_GNA ) %]
539
                        <span id="ce_gna">Your contact information seems to be incomplete.</span>
539
                    <span id="ce_gna">Your contact information seems to be incomplete.</span>
540
                    [% ELSIF ( item.circ_error_INVALID_DATE ) %]
540
                [% ELSIF ( item.circ_error_INVALID_DATE ) %]
541
                        <span id="ce_invalid_date">Due date is not valid.</span>
541
                    <span id="ce_invalid_date">Due date is not valid.</span>
542
                    [% ELSIF ( item.circ_error_ADDITIONAL_MATERIALS ) %]
542
                [% ELSIF ( item.circ_error_ADDITIONAL_MATERIALS ) %]
543
                        <span id="ce_addtional_materials">Item must be checked out at a circulation desk.</span>
543
                    <span id="ce_addtional_materials">Item must be checked out at a circulation desk.</span>
544
                    [% END %]
545
                    <span id="ce_see_staff">Please see a member of the library staff.</span>
546
                </p>
547
548
                [% IF ( item.returnitem && Koha.Preference('SCOAllowCheckin') ) %]
549
                    <form action="/cgi-bin/koha/sco/sco-main.pl" name="errorForm" class="inline" method="post">
550
                        [% INCLUDE 'csrf-token.inc' %]
551
                        <legend class="sr-only">Return</legend>
552
                        <input type="hidden" name="op" value="cud-returnbook" />
553
                        <input type="hidden" name="patronid" value="[% patronid | html %]" />
554
                        <input type="hidden" name="barcode" value="[% item.barcode | html %]" />
555
                        <input type="hidden" name="load_checkouts" value="[% load_checkouts | html %]" />
556
                        <input type="hidden" name="newissues" value="[% newissues | html %]" />
557
                        <button type="submit" name="returnbook" class="btn btn-primary"><i class="fa fa-undo" aria-hidden="true"></i> Return this item</button>
558
                    </form>
559
                [% END %]
544
                [% END %]
560
545
                <span id="ce_see_staff">Please see a member of the library staff.</span>
561
                <form action="/cgi-bin/koha/sco/sco-main.pl" name="errorForm" class="inline" method="get">
546
            </p>
562
                    <legend class="sr-only">Error</legend>
547
563
                    <input type="hidden" name="op" value="" />
548
            [% IF ( item.returnitem && Koha.Preference('SCOAllowCheckin') ) %]
549
                <form action="/cgi-bin/koha/sco/sco-main.pl" name="errorForm" class="inline" method="post">
550
                    [% INCLUDE 'csrf-token.inc' %]
551
                    <legend class="sr-only">Return</legend>
552
                    <input type="hidden" name="op" value="cud-returnbook" />
564
                    <input type="hidden" name="patronid" value="[% patronid | html %]" />
553
                    <input type="hidden" name="patronid" value="[% patronid | html %]" />
565
                    <input type="hidden" name="barcode" value="[% item.barcode | html %]" />
554
                    <input type="hidden" name="barcode" value="[% item.barcode | html %]" />
566
                    <input type="hidden" name="load_checkouts" value="[% load_checkouts | html %]" />
555
                    <input type="hidden" name="load_checkouts" value="[% load_checkouts | html %]" />
567
                    <input type="hidden" name="newissues" value="[% newissues | html %]" />
556
                    <input type="hidden" name="newissues" value="[% newissues | html %]" />
568
                    <input type="submit" name="confirm" value="Return to account summary" class="btn btn-info back focus" />
557
                    <button type="submit" name="returnbook" class="btn btn-primary"><i class="fa fa-undo" aria-hidden="true"></i> Return this item</button>
569
                </form>
558
                </form>
570
            </div>
559
            [% END %]
571
            <!-- / .alert -->
572
        [% END # / FOREACH impossible %]
573
574
        [% FOREACH c IN confirm %]
575
            <!-- We need to confirm the issue.. -->
576
            <div class="alert alert-warning"
577
                ><h2>Please confirm the checkout:</h2>
578
                <span class="sco-alert-warning confirm"></span>
579
                [% IF ( c.confirm_renew_issue ) %]
580
                    <p>This item is already checked out to you: <b>[% c.confirm | html %]</b> <i>([% c.barcode | html %])</i></p>
581
                [% END %]
582
560
583
                [% IF ( c.renew && Koha.Preference('SCOAllowCheckin') ) %]
561
            <form action="/cgi-bin/koha/sco/sco-main.pl" name="errorForm" class="inline" method="get">
584
                    <form action="/cgi-bin/koha/sco/sco-main.pl" name="confirmForm" class="inline" method="post">
562
                <legend class="sr-only">Error</legend>
585
                        [% INCLUDE 'csrf-token.inc' %]
563
                <input type="hidden" name="op" value="" />
586
                        <legend class="sr-only">Return</legend>
564
                <input type="hidden" name="patronid" value="[% patronid | html %]" />
587
                        <input type="hidden" name="op" value="cud-returnbook" />
565
                <input type="hidden" name="barcode" value="[% item.barcode | html %]" />
588
                        <input type="hidden" name="patronid" value="[% patronid | html %]" />
566
                <input type="hidden" name="load_checkouts" value="[% load_checkouts | html %]" />
589
                        <input type="hidden" name="barcode" value="[% c.barcode | html %]" />
567
                <input type="hidden" name="newissues" value="[% newissues | html %]" />
590
                        <input type="hidden" name="load_checkouts" value="[% load_checkouts | html %]" />
568
                <input type="submit" name="confirm" value="Return to account summary" class="btn btn-info back focus" />
591
                        <input type="hidden" name="confirmed" value="" />
569
            </form>
592
                        <input type="hidden" name="newissues" value="[% newissues | html %]" />
570
        </div>
593
                        <button type="submit" name="returnbook" class="btn btn-primary"><i class="fa fa-undo" aria-hidden="true"></i> Return this item</button>
571
        <!-- / .alert -->
594
                    </form>
572
    [% END # / FOREACH impossible %]
595
                [% END %]
573
574
    [% FOREACH c IN confirm %]
575
        <!-- We need to confirm the issue.. -->
576
        <div class="alert alert-warning"
577
            ><h2>Please confirm the checkout:</h2>
578
            <span class="sco-alert-warning confirm"></span>
579
            [% IF ( c.confirm_renew_issue ) %]
580
                <p>This item is already checked out to you: <b>[% c.confirm | html %]</b> <i>([% c.barcode | html %])</i></p>
581
            [% END %]
596
582
597
                [% UNLESS ( c.renew ) %]
583
            [% IF ( c.renew && Koha.Preference('SCOAllowCheckin') ) %]
598
                    <form action="/cgi-bin/koha/sco/sco-main.pl" name="confirmForm" class="inline" method="post">
584
                <form action="/cgi-bin/koha/sco/sco-main.pl" name="confirmForm" class="inline" method="post">
599
                        [% INCLUDE 'csrf-token.inc' %]
585
                    [% INCLUDE 'csrf-token.inc' %]
600
                        <legend class="sr-only">Renew</legend>
586
                    <legend class="sr-only">Return</legend>
601
                        <input type="hidden" name="op" value="cud-renew" />
587
                    <input type="hidden" name="op" value="cud-returnbook" />
602
                        <input type="hidden" name="patronid" value="[% patronid | html %]" />
588
                    <input type="hidden" name="patronid" value="[% patronid | html %]" />
603
                        <input type="hidden" name="barcode" value="[% c.barcode | html %]" />
589
                    <input type="hidden" name="barcode" value="[% c.barcode | html %]" />
604
                        <input type="hidden" name="load_checkouts" value="[% load_checkouts | html %]" />
590
                    <input type="hidden" name="load_checkouts" value="[% load_checkouts | html %]" />
605
                        <input type="hidden" name="confirmed" value="1" />
591
                    <input type="hidden" name="confirmed" value="" />
606
                        <input type="hidden" name="newissues" value="[% newissues | html %]" />
592
                    <input type="hidden" name="newissues" value="[% newissues | html %]" />
607
                        <button type="submit" name="confirm" class="btn btn-primary"><i class="fa-solid fa-rotate" aria-hidden="true"></i> Renew item</button>
593
                    <button type="submit" name="returnbook" class="btn btn-primary"><i class="fa fa-undo" aria-hidden="true"></i> Return this item</button>
608
                    </form>
594
                </form>
609
                [% ELSE %]
595
            [% END %]
610
                    <form action="/cgi-bin/koha/sco/sco-main.pl" name="confirmForm" class="inline" method="post">
611
                        [% INCLUDE 'csrf-token.inc' %]
612
                        <legend class="sr-only">Renew</legend>
613
                        <input type="hidden" name="op" value="cud-renew" />
614
                        <input type="hidden" name="patronid" value="[% patronid | html %]" />
615
                        <input type="hidden" name="barcode" value="[% c.barcode | html %]" />
616
                        <input type="hidden" name="load_checkouts" value="[% load_checkouts | html %]" />
617
                        <input type="hidden" name="confirmed" value="1" />
618
                        <input type="hidden" name="newissues" value="[% newissues | html %]" />
619
                        <button type="submit" class="btn btn-primary"><i class="fa-solid fa-rotate" aria-hidden="true"></i> Renew item</button>
620
                    </form>
621
                [% END %]
622
596
623
                <form action="/cgi-bin/koha/sco/sco-main.pl" name="confirmForm" class="inline" method="get">
597
            [% UNLESS ( c.renew ) %]
624
                    <legend class="sr-only">Cancel</legend>
598
                <form action="/cgi-bin/koha/sco/sco-main.pl" name="confirmForm" class="inline" method="post">
625
                    <input type="hidden" name="op" value="" />
599
                    [% INCLUDE 'csrf-token.inc' %]
600
                    <legend class="sr-only">Renew</legend>
601
                    <input type="hidden" name="op" value="cud-renew" />
626
                    <input type="hidden" name="patronid" value="[% patronid | html %]" />
602
                    <input type="hidden" name="patronid" value="[% patronid | html %]" />
603
                    <input type="hidden" name="barcode" value="[% c.barcode | html %]" />
627
                    <input type="hidden" name="load_checkouts" value="[% load_checkouts | html %]" />
604
                    <input type="hidden" name="load_checkouts" value="[% load_checkouts | html %]" />
605
                    <input type="hidden" name="confirmed" value="1" />
628
                    <input type="hidden" name="newissues" value="[% newissues | html %]" />
606
                    <input type="hidden" name="newissues" value="[% newissues | html %]" />
629
                    <button type="submit" class="btn btn-primary"><i class="fa fa-cancel" aria-hidden="true"></i> Cancel</button>
607
                    <button type="submit" name="confirm" class="btn btn-primary"><i class="fa-solid fa-rotate" aria-hidden="true"></i> Renew item</button>
630
                </form>
608
                </form>
631
            </div>
609
            [% ELSE %]
632
        [% END # / FOREACH confirm %]
610
                <form action="/cgi-bin/koha/sco/sco-main.pl" name="confirmForm" class="inline" method="post">
633
611
                    [% INCLUDE 'csrf-token.inc' %]
634
        [% IF ( nopermission ) %]
612
                    <legend class="sr-only">Renew</legend>
635
            <!-- This is what is displayed if user doesn't have permission -->
613
                    <input type="hidden" name="op" value="cud-renew" />
636
            <div class="alert alert-warning">
614
                    <input type="hidden" name="patronid" value="[% patronid | html %]" />
637
                <span class="sco-alert-warning nopermission"></span>
615
                    <input type="hidden" name="barcode" value="[% c.barcode | html %]" />
638
                <h2>Access denied</h2>
616
                    <input type="hidden" name="load_checkouts" value="[% load_checkouts | html %]" />
639
                <p>Sorry, this self-checkout station has lost authentication. Please contact the administrator to resolve this problem.</p>
617
                    <input type="hidden" name="confirmed" value="1" />
640
            </div>
618
                    <input type="hidden" name="newissues" value="[% newissues | html %]" />
641
        [% END %]
619
                    <button type="submit" class="btn btn-primary"><i class="fa-solid fa-rotate" aria-hidden="true"></i> Renew item</button>
620
                </form>
621
            [% END %]
642
622
643
        [% IF ( different_ip ) %]
623
            <form action="/cgi-bin/koha/sco/sco-main.pl" name="confirmForm" class="inline" method="get">
644
            <!-- This is what is displayed if user doesn't have permission -->
624
                <legend class="sr-only">Cancel</legend>
645
            <div class="alert alert-warning">
625
                <input type="hidden" name="op" value="" />
646
                <span class="sco-alert-warning sessionlost"></span>
626
                <input type="hidden" name="patronid" value="[% patronid | html %]" />
647
                <h2>Session lost</h2>
627
                <input type="hidden" name="load_checkouts" value="[% load_checkouts | html %]" />
648
                <p>You are accessing self-checkout from a different IP address! please log in again.</p>
628
                <input type="hidden" name="newissues" value="[% newissues | html %]" />
649
            </div>
629
                <button type="submit" class="btn btn-primary"><i class="fa fa-cancel" aria-hidden="true"></i> Cancel</button>
650
        [% END %]
630
            </form>
631
        </div>
632
    [% END # / FOREACH confirm %]
633
634
    [% IF ( nopermission ) %]
635
        <!-- This is what is displayed if user doesn't have permission -->
636
        <div class="alert alert-warning">
637
            <span class="sco-alert-warning nopermission"></span>
638
            <h2>Access denied</h2>
639
            <p>Sorry, this self-checkout station has lost authentication. Please contact the administrator to resolve this problem.</p>
640
        </div>
641
    [% END %]
651
642
652
        [% IF ( invalid_username_or_password ) %]
643
    [% IF ( different_ip ) %]
653
            <!-- This is what is displayed if user doesn't have permission -->
644
        <!-- This is what is displayed if user doesn't have permission -->
654
            <div class="alert alert-warning">
645
        <div class="alert alert-warning">
655
                <span class="sco-alert-warning notfound"></span>
646
            <span class="sco-alert-warning sessionlost"></span>
656
                <h2>Record not found</h2>
647
            <h2>Session lost</h2>
657
                <p>Your userid was not found in the database. Please try again.</p>
648
            <p>You are accessing self-checkout from a different IP address! please log in again.</p>
658
            </div>
649
        </div>
659
        [% END %]
650
    [% END %]
660
651
661
        [% IF ( issued ) %]
652
    [% IF ( invalid_username_or_password ) %]
662
            [% IF batch_checkouts_allowed %]
653
        <!-- This is what is displayed if user doesn't have permission -->
663
                [% FOREACH barcode IN newissues.split(',') %]
654
        <div class="alert alert-warning">
664
                    <span class="sco-alert-success issue"></span>
655
            <span class="sco-alert-warning notfound"></span>
665
                    <div class="alert alert-info">
656
            <h2>Record not found</h2>
666
                        <p>Item checked out <i>([% barcode | html %])</i></p>
657
            <p>Your userid was not found in the database. Please try again.</p>
667
                    </div>
658
        </div>
668
                [% END %]
659
    [% END %]
669
            [% ELSE %]
660
661
    [% IF ( issued ) %]
662
        [% IF batch_checkouts_allowed %]
663
            [% FOREACH barcode IN newissues.split(',') %]
670
                <span class="sco-alert-success issue"></span>
664
                <span class="sco-alert-success issue"></span>
671
                <div class="alert alert-info">
665
                <div class="alert alert-info">
672
                    <p>Item checked out <i>([% newissues.split(',').last | html %])</i></p>
666
                    <p>Item checked out <i>([% barcode | html %])</i></p>
673
                </div>
667
                </div>
674
            [% END %]
668
            [% END %]
675
        [% ELSIF ( renewed ) %]
669
        [% ELSE %]
676
            <span class="sco-alert-success renew"></span>
670
            <span class="sco-alert-success issue"></span>
677
            <div class="alert alert-info">
678
                <p>Item renewed <i>([% barcode | html %])</i></p>
679
            </div>
680
        [% ELSIF ( renewed == 0) %]
681
            <span class="sco-alert-warning renew"></span>
682
            <div class="alert alert-info">
683
                <p>Item not renewed</p>
684
            </div>
685
        [% ELSIF ( returned == 0 ) %]
686
            <span class="sco-alert-warning return"></span>
687
            <div class="alert alert-info">
688
                <p>Item not checked in: please see circulation staff for assistance</p>
689
            </div>
690
        [% ELSIF ( returned == 1 ) %]
691
            <span class="sco-alert-success return"></span>
692
            <div class="alert alert-info">
671
            <div class="alert alert-info">
693
                <p>Item checked in <i>([% barcode | html %])</i></p>
672
                <p>Item checked out <i>([% newissues.split(',').last | html %])</i></p>
694
            </div>
673
            </div>
695
        [% END %]
674
        [% END %]
675
    [% ELSIF ( renewed ) %]
676
        <span class="sco-alert-success renew"></span>
677
        <div class="alert alert-info">
678
            <p>Item renewed <i>([% barcode | html %])</i></p>
679
        </div>
680
    [% ELSIF ( renewed == 0) %]
681
        <span class="sco-alert-warning renew"></span>
682
        <div class="alert alert-info">
683
            <p>Item not renewed</p>
684
        </div>
685
    [% ELSIF ( returned == 0 ) %]
686
        <span class="sco-alert-warning return"></span>
687
        <div class="alert alert-info">
688
            <p>Item not checked in: please see circulation staff for assistance</p>
689
        </div>
690
    [% ELSIF ( returned == 1 ) %]
691
        <span class="sco-alert-success return"></span>
692
        <div class="alert alert-info">
693
            <p>Item checked in <i>([% barcode | html %])</i></p>
694
        </div>
696
    [% END %]
695
    [% END %]
697
</div>
696
[% END %]
698
- 

Return to bug 41144