<div id='oils-selfck-checkin-table-div'>
+ <div id='oils-selfck-checkin-mods'>
+ <span class='oils-selfck-checkin-mod'>
+ <span>[% l('Backdate') %]</span>
+ <span><input
+ id='oils-selfchk-backdate'
+ style='width: 8em;'
+ constraints='{max: new Date()}'
+ dojoType='dijit.form.DateTextBox'
+ jsId='checkinBackdateInput'/>
+ </span>
+ </span>
+ <span class='oils-selfck-checkin-mod'>
+ <span>[% l('Amnesty Mode') %]</span>
+ <span><input
+ id='oils-selfchk-amnesty-mode'
+ type='checkbox'
+ checked='checked'/>
+ </span>
+ </span>
+ </div>
<table id='oils-selfck-checkin-table' class='oils-selfck-item-table'>
<thead>
<tr>
#oils-selfck-circ-info-div span {
padding-right: 8px;
}
+
+/*
#oils-selfck-info-nav span {
padding-left: 8px;
}
+*/
+
+#oils-selfck-info-nav a {
+ padding-left: 4px;
+ padding-right: 4px;
+ padding-top: 4px;
+}
-#oils-selfck-info-nav span.selected {
+#oils-selfck-info-nav .selected {
background-color: #e0e0e0;
+ border: 1px solid #333;
}
#oils-selfck-circ-info-div fieldset {
padding: 5px;
}
+#oils-selfck-checkin-mods {
+ text-align: right;
+ border-bottom: 1px solid #333;
+ background-color: #e0e0e0;
+ padding: 10px;
+}
+
+.oils-selfck-checkin-mod {
+ border-left: 1px solid #333;
+ padding-left: 8px;
+ padding-left: 8px;
+}
+#oils-selfchk-staff-actions {
+ position: absolute;
+ bottom: 0px;
+ right: 0px;
+ text-align: right;
+ padding-left: 10px;
+ padding: 10px;
+ background-color: #e0e0e0;
+ border-top: 2px solid #333;
+}
this.authtoken = openils.User.authtoken;
}
+SelfCheckManager.prototype.logoutStaff = function() {
+ // remove the authtoken
+ dojo.cookie('ses', null, {expires:-1, path:'/'});
+ // reload the page, which displays the login dialog
+ location.href = location.href;
+}
+
+SelfCheckManager.prototype.activateStaffMode = function() {
+ this.staffMode = true;
+ openils.Util.show(
+ dojo.byId('oils-selfck-nav-checkin').parentNode,
+ 'inline'
+ );
+
+ openils.Util.show(dojo.byId('oils-selfchk-staff-actions'));
+
+ var self = this;
+ dojo.byId('oils-selfchk-staff-logout').onclick = function() {
+ self.logoutStaff();
+ }
+}
/**
// are we in staff mode?
new openils.User().getPermOrgList(['SELFCHECK_FULL_THROTTLE'],
- function(orglist) {
- if (orglist.length) {
- self.staffMode = true;
- openils.Util.show(
- dojo.byId('oils-selfck-nav-checkin').parentNode,
- 'inline'
- );
- }
- }
+ function(orglist) { if (orglist.length) self.activateStaffMode() }
);
this.circTbody = dojo.byId('oils-selfck-circ-tbody');
// clear the box now so checkins can continue
this.updateScanBox();
+ var backdate = checkinBackdateInput.attr('value') || null;
+ if (backdate) backdate = dojo.date.stamp.toISOString(backdate);
+
this.checkinCopy({
barcode : barcode,
+ void_overdues : dojo.byId('oils-selfchk-amnesty-mode').checked,
+ backdate : backdate,
onload : function(evts) {
if (!evts.length) evts = [evts];
dojo.forEach(evts,
openils.Util.hide('oils-selfck-circ-page');
openils.Util.hide('oils-selfck-checkin-page');
openils.Util.hide('oils-selfck-pay-fines-link');
-
+
+ dojo.removeClass('oils-selfck-nav-home', 'selected');
+ dojo.removeClass('oils-selfck-nav-checkin', 'selected');
+
+
switch(name) {
case 'checkout':
openils.Util.show('oils-selfck-circ-page');
+ dojo.addClass('oils-selfck-nav-home', 'selected');
break;
case 'checkin':
openils.Util.show('oils-selfck-checkin-page');
+ dojo.addClass('oils-selfck-nav-checkin', 'selected');
break;
case 'items_out':
openils.Util.show('oils-selfck-circ-page');
this.authtoken, {
patron_id : this.patron.id(),
copy_barcode : args.barcode,
- // TODO
- // amnesty
- // backdate
+ void_overdues : args.void_overdues,
+ backdate : args.backdate
}
],
oncomplete : function(r) {