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 158-177 $(document).ready(function() { Link Here
158
        $("#catalog-search-dropdown a").toggleClass("catalog-search-dropdown-hover");
158
        $("#catalog-search-dropdown a").toggleClass("catalog-search-dropdown-hover");
159
    });
159
    });
160
160
161
    if ( localStorage.getItem("lastborrowernumber") ){
161
    console.log("HIDDEN BORROWER: " + $("#hiddenborrowernumber").val() );
162
        if( $("#hiddenborrowernumber").val() != localStorage.getItem("lastborrowernumber") ) {
162
    if ( localStorage.getItem("previousPatrons") || $("#hiddenborrowernumber").val() ){
163
        var previous_patrons = [];
164
        if ( localStorage.getItem("previousPatrons") ) {
165
            previous_patrons = JSON.parse(localStorage.getItem("previousPatrons"));
166
        }
167
168
        if ( $("#hiddenborrowernumber").val() ) {
169
            // Remove this patron from the list if they are already there
170
            previous_patrons = previous_patrons.filter(function (p) {
171
                return p["borrowernumber"] != $("#hiddenborrowernumber").val();
172
            });
173
174
            const previous_patron = {
175
                "borrowernumber": $("#hiddenborrowernumber").val(),
176
                "name": $("#hiddenborrowername").val(),
177
                "card": $("#hiddenborrowercard").val()
178
            };
179
180
            previous_patrons.unshift( previous_patron );
181
            // Limit to last 10 patrons
182
            if ( previous_patrons.length > 10 ) previous_patrons.pop();
183
            localStorage.setItem("previousPatrons", JSON.stringify(previous_patrons));
184
        }
185
186
        if ( previous_patrons.length ) {
187
            let p = previous_patrons[0];
163
            $("#lastborrowerlink").show();
188
            $("#lastborrowerlink").show();
164
            $("#lastborrowerlink").prop("title", localStorage.getItem("lastborrowername") + " (" + localStorage.getItem("lastborrowercard") + ")");
189
            $("#lastborrowerlink").prop("title", `${p["name"]} (${p["card"]})`);
165
            $("#lastborrowerlink").prop("href", "/cgi-bin/koha/circ/circulation.pl?borrowernumber=" + localStorage.getItem("lastborrowernumber"));
190
            $("#lastborrowerlink").prop("href", `/cgi-bin/koha/circ/circulation.pl?borrowernumber=${p["borrowernumber"]}`);
166
            $("#lastborrower-window").css("display", "inline-flex");
191
            $("#lastborrower-window").css("display", "inline-flex");
167
        }
168
    }
169
192
170
    if( !localStorage.getItem("lastborrowernumber") || ( $("#hiddenborrowernumber").val() != localStorage.getItem("lastborrowernumber") && localStorage.getItem("currentborrowernumber") != $("#hiddenborrowernumber").val())) {
193
            previous_patrons.reverse();
171
        if( $("#hiddenborrowernumber").val() ){
194
            for ( i in previous_patrons ) {
172
            localStorage.setItem("lastborrowernumber", $("#hiddenborrowernumber").val() );
195
                p = previous_patrons[i];
173
            localStorage.setItem("lastborrowername", $("#hiddenborrowername").val() );
196
                const el = `<li><a href="/cgi-bin/koha/circ/circulation.pl?borrowernumber=${p["borrowernumber"]}">${p["name"]} (${p["card"]})</a></li>`;
174
            localStorage.setItem("lastborrowercard", $("#hiddenborrowercard").val() );
197
                $("#lastBorrowerList").prepend(el);
198
            }
175
        }
199
        }
176
    }
200
    }
177
201
Lines 219-228 $(document).ready(function() { Link Here
219
});
243
});
220
244
221
function removeLastBorrower(){
245
function removeLastBorrower(){
222
    localStorage.removeItem("lastborrowernumber");
246
    localStorage.removeItem("previousPatrons");
223
    localStorage.removeItem("lastborrowername");
224
    localStorage.removeItem("lastborrowercard");
225
    localStorage.removeItem("currentborrowernumber");
226
}
247
}
227
248
228
// http://jennifermadden.com/javascript/stringEnterKeyDetector.html
249
// http://jennifermadden.com/javascript/stringEnterKeyDetector.html
229
- 

Return to bug 21246