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

(-)a/koha-tmpl/intranet-tmpl/prog/css/src/_header.scss (-10 / +1 lines)
Lines 271-294 a.navbar-toggle { Link Here
271
271
272
#lastborrower-window {
272
#lastborrower-window {
273
    display: none;
273
    display: none;
274
    background-color: $background-color-primary;
275
    box-shadow: 1px 1px 1px 0 #999;
276
    color: #FFFFFF;
277
    padding: .2em;
278
    border-radius: 5px 5px 5px 5px;
279
274
280
    > * {
275
    > * {
281
        padding: 0 .4em;
276
        padding: 0 .4em;
282
    }
277
    }
283
}
278
}
284
279
285
#lastborrower-remove {
286
    cursor: pointer;
287
    border-left: 1px solid #fff;
288
}
289
290
#lastborrowerlink {
280
#lastborrowerlink {
291
    color: #FFFFFF;
281
    color: #FFFFFF;
282
    background-color: $background-color-primary;
292
}
283
}
293
284
294
@media (max-width: 768px) {
285
@media (max-width: 768px) {
(-)a/koha-tmpl/intranet-tmpl/prog/en/includes/last-borrower.inc (-2 / +11 lines)
Lines 1-4 Link Here
1
<div id="lastborrower-window">
1
<div id="lastborrower-window">
2
    <div id="lastborrower-ref" class="lastborrower"><a id="lastborrowerlink" href="" title=""><i class="fa fa-arrow-right"></i> Last patron</a></div>
2
    <div class="btn-group">
3
    <div id="lastborrower-remove" class="lastborrower"><i class="fa fa-times"></i></div>
3
        <a class="btn btn-default navbar-btn lastborrower" id="lastborrowerlink" href="#" title=""><i class="fa fa-arrow-right"></i> Last patron</a>
4
        <button type="button" data-toggle="dropdown" class="btn btn-default navbar-btn dropdown-toggle" aria-haspopup="true" aria-expanded="false">
5
            <span class="caret"></span>
6
            <span class="sr-only">Toggle Dropdown</span>
7
        </button>
8
        <ul id="lastBorrowerList" class="dropdown-menu">
9
            <li role="separator" class="divider"></li>
10
            <li><a id="lastborrower-remove" class="lastborrower" href="#">Clear list</a></li>
11
        </ul>
12
    </div>
4
</div>
13
</div>
(-)a/koha-tmpl/intranet-tmpl/prog/js/staff-global.js (-16 / +36 lines)
Lines 151-170 $(document).ready(function() { Link Here
151
        $("#catalog-search-dropdown a").toggleClass("catalog-search-dropdown-hover");
151
        $("#catalog-search-dropdown a").toggleClass("catalog-search-dropdown-hover");
152
    });
152
    });
153
153
154
    if ( localStorage.getItem("lastborrowernumber") ){
154
    console.log("HIDDEN BORROWER: " + $("#hiddenborrowernumber").val() );
155
        if( $("#hiddenborrowernumber").val() != localStorage.getItem("lastborrowernumber") ) {
155
    if ( localStorage.getItem("previousPatrons") || $("#hiddenborrowernumber").val() ){
156
        var previous_patrons = [];
157
        if ( localStorage.getItem("previousPatrons") ) {
158
            previous_patrons = JSON.parse(localStorage.getItem("previousPatrons"));
159
        }
160
161
        if ( $("#hiddenborrowernumber").val() ) {
162
            // Remove this patron from the list if they are already there
163
            previous_patrons = previous_patrons.filter(function (p) {
164
                return p["borrowernumber"] != $("#hiddenborrowernumber").val();
165
            });
166
167
            const previous_patron = {
168
                "borrowernumber": $("#hiddenborrowernumber").val(),
169
                "name": $("#hiddenborrowername").val(),
170
                "card": $("#hiddenborrowercard").val()
171
            };
172
173
            previous_patrons.unshift( previous_patron );
174
            // Limit to last 10 patrons
175
            if ( previous_patrons.length > 10 ) previous_patrons.pop();
176
            localStorage.setItem("previousPatrons", JSON.stringify(previous_patrons));
177
        }
178
179
        if ( previous_patrons.length ) {
180
            let p = previous_patrons[0];
156
            $("#lastborrowerlink").show();
181
            $("#lastborrowerlink").show();
157
            $("#lastborrowerlink").prop("title", localStorage.getItem("lastborrowername") + " (" + localStorage.getItem("lastborrowercard") + ")");
182
            $("#lastborrowerlink").prop("title", `${p["name"]} (${p["card"]})`);
158
            $("#lastborrowerlink").prop("href", "/cgi-bin/koha/circ/circulation.pl?borrowernumber=" + localStorage.getItem("lastborrowernumber"));
183
            $("#lastborrowerlink").prop("href", `/cgi-bin/koha/circ/circulation.pl?borrowernumber=${p["borrowernumber"]}`);
159
            $("#lastborrower-window").css("display", "inline-flex");
184
            $("#lastborrower-window").css("display", "inline-flex");
160
        }
161
    }
162
185
163
    if( !localStorage.getItem("lastborrowernumber") || ( $("#hiddenborrowernumber").val() != localStorage.getItem("lastborrowernumber") && localStorage.getItem("currentborrowernumber") != $("#hiddenborrowernumber").val())) {
186
            previous_patrons.reverse();
164
        if( $("#hiddenborrowernumber").val() ){
187
            for ( i in previous_patrons ) {
165
            localStorage.setItem("lastborrowernumber", $("#hiddenborrowernumber").val() );
188
                p = previous_patrons[i];
166
            localStorage.setItem("lastborrowername", $("#hiddenborrowername").val() );
189
                const el = `<li><a href="/cgi-bin/koha/circ/circulation.pl?borrowernumber=${p["borrowernumber"]}">${p["name"]} (${p["card"]})</a></li>`;
167
            localStorage.setItem("lastborrowercard", $("#hiddenborrowercard").val() );
190
                $("#lastBorrowerList").prepend(el);
191
            }
168
        }
192
        }
169
    }
193
    }
170
194
Lines 212-221 $(document).ready(function() { Link Here
212
});
236
});
213
237
214
function removeLastBorrower(){
238
function removeLastBorrower(){
215
    localStorage.removeItem("lastborrowernumber");
239
    localStorage.removeItem("previousPatrons");
216
    localStorage.removeItem("lastborrowername");
217
    localStorage.removeItem("lastborrowercard");
218
    localStorage.removeItem("currentborrowernumber");
219
}
240
}
220
241
221
// http://jennifermadden.com/javascript/stringEnterKeyDetector.html
242
// http://jennifermadden.com/javascript/stringEnterKeyDetector.html
222
- 

Return to bug 21246