<ul class="dropdown-menu pull-right">
<li>
<a href dropdown-toggle
- ng-click="modifiers.no_precat_alert=!modifiers.no_precat_alert">
+ ng-click="toggle_mod('no_precat_alert')">
<span ng-if="modifiers.no_precat_alert"
class="label label-success">✓</span>
<span ng-if="!modifiers.no_precat_alert"
</li>
<li>
<a href dropdown-toggle
- ng-click="modifiers.noop=!modifiers.noop">
+ ng-click="toggle_mod('noop')">
<span ng-if="modifiers.noop"
class="label label-success">✓</span>
<span ng-if="!modifiers.noop"
</li>
<li>
<a href dropdown-toggle
- ng-click="modifiers.void_overdues=!modifiers.void_overdues">
+ ng-click="toggle_mod('void_overdues')">
<span ng-if="modifiers.void_overdues"
class="label label-success">✓</span>
<span ng-if="!modifiers.void_overdues"
</li>
<li>
<a href dropdown-toggle
- ng-click="modifiers.auto_print_holds_transits=!modifiers.auto_print_holds_transits">
+ ng-click="toggle_mod('auto_print_holds_transits')">
<span ng-if="modifiers.auto_print_holds_transits"
class="label label-success">✓</span>
<span ng-if="!modifiers.auto_print_holds_transits"
</li>
<li>
<a href dropdown-toggle
- ng-click="modifiers.clear_expired=!modifiers.clear_expired">
+ ng-click="toggle_mod('clear_expired')">
<span ng-if="modifiers.clear_expired"
class="label label-success">✓</span>
<span ng-if="!modifiers.clear_expired"
</li>
<li>
<a href dropdown-toggle
- ng-click="modifiers.retarget_holds=!modifiers.retarget_holds">
+ ng-click="toggle_mod('retarget_holds')">
<span ng-if="modifiers.retarget_holds"
class="label label-success">✓</span>
<span ng-if="!modifiers.retarget_holds"
</li>
<li>
<a href dropdown-toggle
- ng-click="modifiers.retarget_holds_all=!modifiers.retarget_holds_all">
+ ng-click="toggle_mod('retarget_holds_all')">
<span ng-if="modifiers.retarget_holds_all"
class="label label-success">✓</span>
<span ng-if="!modifiers.retarget_holds_all"
</li>
<li>
<a href dropdown-toggle
- ng-click="modifiers.hold_as_transit=!modifiers.hold_as_transit">
+ ng-click="toggle_mod('hold_as_transit')">
<span ng-if="modifiers.hold_as_transit"
class="label label-success">✓</span>
<span ng-if="!modifiers.hold_as_transit"
function($scope , $q , $window , $location , egCore , checkinSvc , egGridDataProvider , egCirc) {
var suppress_popups = false;
- var today = new Date();
- $scope.focusMe = true;
- $scope.checkins = checkinSvc.checkins;
- $scope.checkinArgs = {backdate : today}
- $scope.using_hatch = egCore.hatch.usingHatch();
- $scope.modifiers = {};
- $scope.fine_total = 0;
// run egCore.startup here since it's not handled via resolver
egCore.startup.go().then(
}
);
+ var today = new Date();
+ $scope.focusMe = true;
+ $scope.checkins = checkinSvc.checkins;
+ $scope.checkinArgs = {backdate : today}
+ $scope.using_hatch = egCore.hatch.usingHatch();
+ $scope.modifiers = {};
+ $scope.fine_total = 0;
+
+ // set modifiers from stored preferences
+ angular.forEach(['noop','void_overdues', 'clear_expired',
+ 'hold_as_transit','manual_float','no_precat_alert',
+ 'auto_print_holds_transits','retarget_holds','retarget_holds_all'],
+ function(mod) {
+ egCore.hatch.getItem('eg.circ.checkin.' + mod)
+ .then(function(val) {
+ if (val) $scope.modifiers[mod] = true;
+ });
+ }
+ );
+
+ // set / unset a checkin modifier
+ // when set, store the preference
+ $scope.toggle_mod = function(mod) {
+ if ($scope.modifiers[mod]) {
+ $scope.modifiers[mod] = false;
+ egCore.hatch.removeItem('eg.circ.checkin.' + mod);
+ } else {
+ $scope.modifiers[mod] = true;
+ egCore.hatch.setItem('eg.circ.checkin.' + mod, true);
+ }
+ }
+
+
// ensure the backdate is not in the future
// note: input type=date max=foo not yet supported anywhere
$scope.$watch('checkinArgs.backdate', function(newval) {
}
$scope.applyShowExtras = function($event, bool) {
- $scope.showExtras = bool;
- egCore.hatch.setItem('eg.prefs.circ.patron.search.showExtras', bool);
+ if (bool) {
+ $scope.showExtras = true;
+ egCore.hatch.setItem('eg.circ.patron.search.show_extras', true);
+ } else {
+ $scope.showExtras = false;
+ egCore.hatch.removeItem('eg.circ.patron.search.show_extras');
+ }
$event.preventDefault();
}