From 04499c1ef890839f306b9e1803b25992751cd5cc Mon Sep 17 00:00:00 2001 From: Bill Erickson Date: Tue, 1 Sep 2015 21:02:56 -0400 Subject: [PATCH] LP#1452950 patron reg barcodes dialog Signed-off-by: Bill Erickson Signed-off-by: Galen Charlton --- .../templates/staff/circ/patron/t_edit.tt2 | 3 +- .../circ/patron/t_patron_cards_dialog.tt2 | 34 ++++++++++++++++ Open-ILS/src/templates/staff/css/circ.css.tt2 | 4 ++ .../js/ui/default/staff/circ/patron/regctl.js | 40 ++++++++++++++++++- 4 files changed, 78 insertions(+), 3 deletions(-) create mode 100644 Open-ILS/src/templates/staff/circ/patron/t_patron_cards_dialog.tt2 diff --git a/Open-ILS/src/templates/staff/circ/patron/t_edit.tt2 b/Open-ILS/src/templates/staff/circ/patron/t_edit.tt2 index 2aa6d5786c..f9abc182d4 100644 --- a/Open-ILS/src/templates/staff/circ/patron/t_edit.tt2 +++ b/Open-ILS/src/templates/staff/circ/patron/t_edit.tt2 @@ -78,7 +78,8 @@ [% IF field == 'barcode' %] - + [% ELSIF field == 'passwd' %] diff --git a/Open-ILS/src/templates/staff/circ/patron/t_patron_cards_dialog.tt2 b/Open-ILS/src/templates/staff/circ/patron/t_patron_cards_dialog.tt2 new file mode 100644 index 0000000000..4ef6b3292c --- /dev/null +++ b/Open-ILS/src/templates/staff/circ/patron/t_patron_cards_dialog.tt2 @@ -0,0 +1,34 @@ +
+ + + + +
diff --git a/Open-ILS/src/templates/staff/css/circ.css.tt2 b/Open-ILS/src/templates/staff/css/circ.css.tt2 index 05cea1b099..efc04f77b8 100644 --- a/Open-ILS/src/templates/staff/css/circ.css.tt2 +++ b/Open-ILS/src/templates/staff/css/circ.css.tt2 @@ -141,6 +141,10 @@ but the ones I'm finding aren't quite cutting it..*/ font-weight: bold; } +.patron-reg-barcodes > .header { + font-weight: bold; +} + /* -- end patron registration -- */ [%# diff --git a/Open-ILS/web/js/ui/default/staff/circ/patron/regctl.js b/Open-ILS/web/js/ui/default/staff/circ/patron/regctl.js index 09a4e576dd..5fd227354f 100644 --- a/Open-ILS/web/js/ui/default/staff/circ/patron/regctl.js +++ b/Open-ILS/web/js/ui/default/staff/circ/patron/regctl.js @@ -298,6 +298,12 @@ angular.module('egCoreMod') function(field) { patron[field] = patron[field] == 't'; } ); + angular.forEach(patron.cards, function(card) { + card.active = card.active == 't' + if (card.id == patron.card.id) + card._primary = 'on'; + }); + angular.forEach(patron.addresses, function(addr) { service.ingest_address(patron, addr) }); @@ -328,7 +334,7 @@ angular.module('egCoreMod') function PatronRegCtrl($scope, $routeParams, - $q, egCore, patronSvc, patronRegSvc) { + $q, $modal, egCore, patronSvc, patronRegSvc) { $scope.clone_id = $routeParams.clone_id; @@ -495,7 +501,6 @@ function PatronRegCtrl($scope, $routeParams, } $scope.post_code_changed = function(addr) { - console.log('post code ' + addr.post_code); egCore.net.request( 'open-ils.search', 'open-ils.search.zip', addr.post_code) .then(function(resp) { @@ -506,6 +511,37 @@ function PatronRegCtrl($scope, $routeParams, if (resp.alert) alert(resp.alert); }); } + + $scope.cards_dialog = function() { + $modal.open({ + templateUrl: './circ/patron/t_patron_cards_dialog', + controller: + ['$scope','$modalInstance','cards', + function($scope , $modalInstance , cards) { + // scope here is the modal-level scope + $scope.args = {cards : cards}; + $scope.ok = function() { $modalInstance.close($scope.args) } + $scope.cancel = function () { $modalInstance.dismiss() } + }], + resolve : { + cards : function() { + // scope here is the controller-level scope + return $scope.patron.cards; + } + } + }).result.then( + function(args) { + angular.forEach(args.cards, function(card) { + card.ischanged = true; // assume cards need updating, OK? + if (card._primary == 'on' && + card.id != $scope.patron.card.id) { + $scope.patron.card = card; + } + }); + } + ); + } + } -- 2.43.2