From f7b87f0591dd68c3b84975d033cc22c8bd8e5c24 Mon Sep 17 00:00:00 2001 From: erickson Date: Thu, 27 May 2010 13:18:45 +0000 Subject: [PATCH] added Replace Barcode option into new patron reg. interface. Also added a basic See All operation that shows all attached barcodes for a user, provides no editing capabilities git-svn-id: svn://svn.open-ils.org/ILS/trunk@16516 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- Open-ILS/web/js/ui/default/actor/user/register.js | 63 +++++++++++++++++++++- .../web/templates/default/actor/user/register.tt2 | 29 ++++++++++ .../default/actor/user/register_table.tt2 | 8 ++- 3 files changed, 98 insertions(+), 2 deletions(-) diff --git a/Open-ILS/web/js/ui/default/actor/user/register.js b/Open-ILS/web/js/ui/default/actor/user/register.js index 63428da836..0ce7decb6e 100644 --- a/Open-ILS/web/js/ui/default/actor/user/register.js +++ b/Open-ILS/web/js/ui/default/actor/user/register.js @@ -42,6 +42,7 @@ var cloneUser; var cloneUserObj; var stageUser; var optInSettings; +var allCardsTemplate; if(!window.xulG) var xulG = null; @@ -123,6 +124,66 @@ function load() { loadSurveys(); checkClaimsReturnCountPerm(); checkClaimsNoCheckoutCountPerm(); + + dojo.connect(replaceBarcode, 'onClick', replaceCardHandler); + dojo.connect(allCards, 'onClick', drawAllCards); + if(patron.cards().length > 1) + dojo.removeClass(dojo.byId('uedit-all-barcodes'), 'hidden'); +} + + +function drawAllCards() { + + var tbody = dojo.byId('uedit-all-cards-tbody'); + if(!allCardsTemplate) { + allCardsTemplate = tbody.removeChild(dojo.byId('uedit-all-cards-tr-template')); + } else { + while(tbody.childNodes[0]) + tbody.removeChild(tbody.childNodes[0]); + } + + var first = true; + dojo.forEach( + [patron.card()].concat(patron.cards()), // grab the main card first + function(card) { + if(!first) { + if(card.id() == patron.card().id()) + return; + } + var row = allCardsTemplate.cloneNode(true); + getByName(row, 'barcode').innerHTML = card.barcode(); + getByName(row, 'active').appendChild( + openils.Util.isTrue(card.active()) ? + dojo.byId('true').cloneNode(true) : + dojo.byId('false').cloneNode(true) + ); + + tbody.appendChild(row); + first = false; + } + ); + + allCardsDialog.show(); +} + +/** + * Mark the current card inactive, create a new primary card + */ +function replaceCardHandler() { + var input = findWidget('ac', 'barcode'); + input.widget.attr('value', null); + + // pull old car off the cards list so we don't have a dupe sitting in there + var old = patron.cards().filter(function(c){return (c.id() == patron.card().id())})[0]; + old.active('f'); + old.ischanged(1); + + var newc = new fieldmapper.ac(); + newc.id(uEditCardVirtId--); + newc.isnew(1); + newc.active('t'); + patron.card(newc); + patron.cards().push(newc); } @@ -797,7 +858,7 @@ function uEditNewPatron() { patron.isnew(1); patron.id(-1); card = new ac(); - card.id(uEditCardVirtId); + card.id(uEditCardVirtId--); card.isnew(1); patron.active(1); patron.card(card); diff --git a/Open-ILS/web/templates/default/actor/user/register.tt2 b/Open-ILS/web/templates/default/actor/user/register.tt2 index b26d7a8294..c5c3027efe 100644 --- a/Open-ILS/web/templates/default/actor/user/register.tt2 +++ b/Open-ILS/web/templates/default/actor/user/register.tt2 @@ -115,5 +115,34 @@
+ + + [% END %] diff --git a/Open-ILS/web/templates/default/actor/user/register_table.tt2 b/Open-ILS/web/templates/default/actor/user/register_table.tt2 index 69ca6a3281..0acfb11906 100644 --- a/Open-ILS/web/templates/default/actor/user/register_table.tt2 +++ b/Open-ILS/web/templates/default/actor/user/register_table.tt2 @@ -1,5 +1,11 @@ - + + + + + + + Verify Password -- 2.11.0