From: Bill Erickson Date: Wed, 29 Oct 2014 21:07:45 +0000 (-0400) Subject: KMAIN-421: Staging missing local KCLS changes X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=3726994821fbf17fbff76974fd1df8200843e5bb;p=working%2FEvergreen.git KMAIN-421: Staging missing local KCLS changes Cross-port: eca548e --- diff --git a/KCLS/openils/var/data/zips.txt b/KCLS/openils/var/data/zips.txt index e69de29bb2..254d590973 100644 --- a/KCLS/openils/var/data/zips.txt +++ b/KCLS/openils/var/data/zips.txt @@ -0,0 +1,1456 @@ +|WA|AUBURN|98001|1||| + +|WA|AUBURN|98002|1||| + +|WA|FEDERAL WAY|98003|1||| + +|WA||98004|1||||Zip code crosses Hunts Point and Yarrow Point city limits. Use +parcel viewer to determine permission group. Use parcel viewer to determine +permission group. + +|WA|BELLEVUE|98005|1||| + +|WA|BELLEVUE|98006|1||| + +|WA|BELLEVUE|98007|1||| + +|WA|BELLEVUE|98008|1||| + +|WA|BELLEVUE|98009|1||| + +|WA|BLACK DIAMOND|98010|1||| + +|WA||98011|1||| + +|WA|BOTHELL|98012|1||| + +|WA|VASHON|98013|1||| + +|WA|CARNATION|98014|1||| + +|WA|BELLEVUE|98015|1||| + +|WA|DUVALL|98019|1||| + +|WA|EDMONDS|98020|1||| + +|WA||98021|1||| + +|WA|ENUMCLAW|98022|1||| + +|WA|FEDERAL WAY|98023|1||| + +|WA||98024|1||| + +|WA||98025|1||| + +|WA|EDMONDS|98026|1||| + +|WA|ISSAQUAH|98027|1||| + +|WA|BOTHELL|98028|1||| + +|WA|ISSAQUAH|98029|1||| + +|WA|KENT|98030|1||| + +|WA|KENT|98031|1||| + +|WA|KENT|98032|1||| + +|WA|KIRKLAND|98033|1||| + +|WA|KIRKLAND|98034|1||| + +|WA|KENT|98035|1||| + +|WA||98036|1||| + +|WA|LYNNWOOD|98037|1||| + +|WA|MAPLE VALLEY|98038|1||| + +|WA|MEDINA|98039|1||| + +|WA|MERCER ISLAND|98040|1||| + +|WA|BOTHELL|98041|1||| + +|WA||98042|1||| + +|WA|MOUNTLAKE TERRACE|98043|1||| + +|WA||98045|1||| + +|WA|LYNNWOOD|98046|1||| + +|WA|PACIFIC|98047|1||| + +|WA|PRESTON|98050|1||| + +|WA||98051|1||| + +|WA|REDMOND|98052|1||| + +|WA|REDMOND|98053|1||| + +|WA||98054|1||| + +|WA|RENTON|98055|1||| + +|WA||98056|1|||May be Renton or Newcastle + +|WA|RENTON|98057|1||| + +|WA|RENTON|98058|1||| + +|WA||98059|1|||May be Renton or Newcastle + +|WA||98061|1||| + +|WA||98062|1||| + +|WA|AUBURN|98063|1||| + +|WA|KENT|98064|1||| + +|WA|SNOQUALMIE|98065|1||| + +|||98068|1||||King County ends within this zip code at top of pass. + +|WA|VASHON|98070|1||| + +|WA|AUBURN|98071|1||| + +|WA|WOODINVILLE|98072|1||| + +|WA|REDMOND|98073|1||| + +|WA|SAMMAMISH|98074|1||| + +|WA|SAMMAMISH|98075|1||| + +|WA|WOODINVILLE|98077|1||| + +|WA|BOTHELL|98082|1||| + +|WA|KIRKLAND|98083|1||| + +|WA|LYNNWOOD|98087|1||| + +|WA|AUBURN|98092|1||| + +|WA|AUBURN|98093|1||| + +|WA|SEATTLE|98101|1||||Zip code is totally within the Seattle city limits. + +|WA||98102|1||||Zip code is totally within the Seattle city limits. + +|WA|SEATTLE|98103|1||||Zip code is totally within the Seattle city limits. + +|WA||98104|1||||Zip code is totally within the Seattle city limits. + +|WA|SEATTLE|98105|1||||Zip code is totally within the Seattle city limits. + +|WA|SEATTLE|98106|1||||Zip code crosses the Seattle city limits. Use parcel +viewer to determine permission group. + +|WA|SEATTLE|98107|1||||Zip code is totally within the Seattle city limits. + +|WA|SEATTLE|98108|1||||Zip code crosses the Seattle city limits. Use parcel +viewer to determine permission group. + +|WA|SEATTLE|98109|1||||Zip code is totally within the Seattle city limits. + +|WA|BAINBRIDGE ISLAND|98110|1||| + +|WA|SEATTLE|98111|1||| + +|WA|SEATTLE|98112|1||||Zip code is totally within the Seattle city limits. + +|WA|SEATTLE|98114|1||| + +|WA||98115|1||||Zip code is totally within the Seattle city limits. + +|WA|SEATTLE|98116|1||||Zip code is totally within the Seattle city limits. + +|WA|SEATTLE|98117|1||||Zip code is totally within the Seattle city limits. + +|WA|SEATTLE|98118|1||||Zip code is totally within the Seattle city limits. + +|WA|SEATTLE|98119|1||||Zip code is totally within the Seattle city limits. + +|WA|SEATTLE|98121|1||||Zip code is totally within the Seattle city limits. + +|WA|SEATTLE|98122|1||||Zip code is totally within the Seattle city limits. + +|||98123|1||| + +|WA|SEATTLE|98124|1||| + +|WA||98125|1||||Zip code is totally within the Seattle city limits. + +|WA|SEATTLE|98126|1||||Zip code crosses the Seattle city limits. Use parcel +viewer to determine permission group. + +|WA|SEATTLE|98129|1||| + +|WA|SEATTLE|98131|1||| + +|WA|SEATTLE|98132|1||| + +|WA||98133|1||||Zip code crosses the Seattle city limits. Use parcel viewer to +determine permission group. + +|WA|SEATTLE|98134|1||||Zip code is totally within the Seattle city limits. + +|WA|SEATTLE|98136|1||||Zip code is totally within the Seattle city limits. + +|WA|SEATTLE|98138|1||| + +|WA|SEATTLE|98144|1||||Zip code is totally within the Seattle city limits. + +|WA|SEATTLE|98145|1||| + +|WA||98146|1||||Zip code crosses the Seattle city limits. Use parcel viewer to +determine permission group. + +|WA||98148|1||| + +|WA|SEATTLE|98151|1||| + +|WA|SEATTLE|98154|1||| + +|WA||98155|1||| + +|WA||98158|1||| + +|WA|SEATTLE|98160|1||| + +|WA|SEATTLE|98161|1||| + +|WA|SEATTLE|98164|1||| + +|WA||98166|1||| + +|WA||98168|1||| + +|WA|SEATTLE|98170|1||| + +|WA|SEATTLE|98171|1||| + +|WA|SEATTLE|98174|1||| + +|WA||98177|1||||Zip code crosses the Seattle city limits. Use parcel viewer to +determine permission group. + +|WA|SEATTLE|98178|1||||Zip code crosses the Seattle city limits. Use parcel +viewer to determine permission group. + +|WA|SEATTLE|98181|1||| + +|WA|SEATTLE|98184|1||| + +|WA|SEATTLE|98185|1||| + +|WA||98188|1||| + +|WA|SEATTLE|98190|1||| + +|WA|SEATTLE|98191|1||| + +|WA|SEATTLE|98195|1||| + +|WA||98198|1||| + +|WA||98199|1||||Zip code is totally within the Seattle city limits. + +|WA|EVERETT|98201|1||| + +|WA||98203|1||| + +|WA|EVERETT|98204|1||| + +|WA|EVERETT|98205|1||| + +|WA|EVERETT|98206|1||| + +|WA|EVERETT|98207|1||| + +|WA|EVERETT|98208|1||| + +|WA|ACME|98220|1||| + +|WA||98221|1||| + +|WA|ANACORTES|98222|1||| + +|WA||98223|1||| + +|WA|BARING|98224|1||| + +|WA||98225|1||| + +|WA|BELLINGHAM|98226|1||| + +|WA|BELLINGHAM|98227|1||| + +|WA|BELLINGHAM|98228|1||| + +|WA|BELLINGHAM|98229|1||| + +|WA|BLAINE|98230|1||| + +|WA|BLAINE|98231|1||| + +|WA||98232|1||| + +|WA|BURLINGTON|98233|1||| + +|WA||98235|1||| + +|WA||98236|1||| + +|WA|CONCRETE|98237|1||| + +|WA||98238|1||| + +|WA|COUPEVILLE|98239|1||| + +|WA|CUSTER|98240|1||| + +|WA|DARRINGTON|98241|1||| + +|WA||98243|1||| + +|WA||98244|1||| + +|WA||98245|1||| + +|WA||98247|1||| + +|WA|FERNDALE|98248|1||| + +|WA|FREELAND|98249|1||| + +|WA|FRIDAY HARBOR|98250|1||| + +|WA|GOLD BAR|98251|1||| + +|WA|GRANITE FALLS|98252|1||| + +|WA||98253|1||| + +|WA|HAMILTON|98255|1||| + +|WA||98256|1||| + +|WA|LA CONNER|98257|1||| + +|WA|LAKE STEVENS|98258|1||| + +|WA||98259|1||| + +|WA|LANGLEY|98260|1||| + +|WA||98261|1||| + +|WA||98262|1||| + +|WA|LYMAN|98263|1||| + +|WA|LYNDEN|98264|1||| + +|WA|MAPLE FALLS|98266|1||| + +|WA|MARBLEMOUNT|98267|1||| + +|WA|MARYSVILLE|98270|1||| + +|WA|MARYSVILLE|98271|1||| + +|WA|MONROE|98272|1||| + +|WA|MOUNT VERNON|98273|1||| + +|WA|MOUNT VERNON|98274|1||| + +|WA|MUKILTEO|98275|1||| + +|WA|EVERSON|98276|1||| + +|WA|OAK HARBOR|98277|1||| + +|WA|OAK HARBOR|98278|1||| + +|WA||98279|1||| + +|WA||98280|1||| + +|WA||98281|1||| + +|WA|STANWOOD|98282|1||| + +|WA||98283|1||| + +|WA|SEDRO-WOOLLEY|98284|1||| + +|WA||98286|1||| + +|WA||98287|1||| + +|WA||98288|1||| + +|WA||98290|1||| + +|WA|SNOHOMISH|98291|1||| + +|WA||98292|1||| + +|WA||98293|1||| + +|WA|SULTAN|98294|1||| + +|WA|SUMAS|98295|1||| + +|WA|SNOHOMISH|98296|1||| + +|WA||98297|1||| + +|WA||98303|1||| + +|WA|ASHFORD|98304|1||| + +|WA||98305|1||| + +|WA||98310|1||| + +|WA|BREMERTON|98311|1||| + +|WA|BREMERTON|98312|1||| + +|WA|BREMERTON|98314|1||| + +|WA||98315|1||| + +|WA|BRINNON|98320|1||| + +|WA|BUCKLEY|98321|1||| + +|WA||98322|1||| + +|WA|CARBONADO|98323|1||| + +|WA||98324|1||| + +|WA||98325|1||| + +|WA||98326|1||| + +|WA|DUPONT|98327|1||| + +|WA|EATONVILLE|98328|1||| + +|WA|GIG HARBOR|98329|1||| + +|WA|ELBE|98330|1||| + +|WA||98331|1||| + +|WA|GIG HARBOR|98332|1||| + +|WA|FOX ISLAND|98333|1||| + +|WA||98335|1||| + +|WA||98336|1||| + +|WA|BREMERTON|98337|1||| + +|WA||98338|1||| + +|WA||98339|1||| + +|WA||98340|1||| + +|WA|INDIANOLA|98342|1||| + +|WA||98343|1||| + +|WA||98344|1||| + +|WA||98345|1||| + +|WA|KINGSTON|98346|1||| + +|WA||98348|1||| + +|WA||98349|1||| + +|WA||98350|1||| + +|WA|LONGBRANCH|98351|1||| + +|WA|SUMNER|98352|1||| + +|WA||98353|1||| + +|WA|MILTON|98354|1||| + +|WA||98355|1||| + +|WA|MORTON|98356|1||| + +|WA||98357|1||| + +|WA||98358|1||| + +|WA||98359|1||| + +|WA||98360|1||| + +|WA||98361|1||| + +|WA||98362|1||| + +|WA||98363|1||| + +|WA||98364|1||| + +|WA|PORT LUDLOW|98365|1||| + +|WA||98366|1||| + +|WA|PORT ORCHARD|98367|1||| + +|WA||98368|1||| + +|WA||98370|1||| + +|WA||98371|1||| + +|WA|PUYALLUP|98372|1||| + +|WA|PUYALLUP|98373|1||| + +|WA|PUYALLUP|98374|1||| + +|WA|PUYALLUP|98375|1||| + +|WA||98376|1||| + +|WA||98377|1||| + +|WA||98378|1||| + +|WA||98380|1||| + +|WA||98381|1||| + +|WA||98382|1||| + +|WA|SILVERDALE|98383|1||| + +|WA||98384|1||| + +|WA|SOUTH PRAIRIE|98385|1||| + +|WA||98386|1||| + +|WA||98387|1||| + +|WA||98388|1||| + +|WA|SUMNER|98390|1||| + +|WA|BONNEY LAKE|98391|1||| + +|WA|SUQUAMISH|98392|1||| + +|WA||98393|1||| + +|WA|VAUGHN|98394|1||| + +|WA||98395|1||| + +|WA||98396|1||| + +|WA||98397|1||| + +|WA||98398|1||| + +|WA|TACOMA|98401|1||| + +|WA|TACOMA|98402|1||| + +|WA|TACOMA|98403|1||| + +|WA|TACOMA|98404|1||| + +|WA|TACOMA|98405|1||| + +|WA|TACOMA|98406|1||| + +|WA|TACOMA|98407|1||| + +|WA|TACOMA|98408|1||| + +|WA|TACOMA|98409|1||| + +|WA|TACOMA|98411|1||| + +|WA|TACOMA|98412|1||| + +|WA|TACOMA|98413|1||| + +|WA|TACOMA|98415|1||| + +|WA|TACOMA|98416|1||| + +|WA|TACOMA|98418|1||| + +|WA|TACOMA|98421|1||| + +|WA|TACOMA|98422|1||| + +|WA|FIFE|98424|1||| + +|||98430|1||| + +|WA||98431|1||| + +|WA||98433|1||| + +|WA|MCCHORD AIR FORCE BASE|98438|1||| + +|WA||98439|1||| + +|WA|TACOMA|98442|1||| + +|WA|TACOMA|98443|1||| + +|WA|TACOMA|98444|1||| + +|WA|TACOMA|98445|1||| + +|WA|TACOMA|98446|1||| + +|WA|TACOMA|98447|1||| + +|WA|TACOMA|98450|1||| + +|WA|TACOMA|98455|1||| + +|WA|TACOMA|98460|1||| + +|WA|TACOMA|98464|1||| + +|WA|TACOMA|98465|1||| + +|WA||98466|1||| + +|WA|TACOMA|98467|1||| + +|WA|TACOMA|98471|1||| + +|WA|TACOMA|98477|1||| + +|WA|TACOMA|98481|1||| + +|WA|TACOMA|98492|1||| + +|WA|TACOMA|98493|1||| + +|WA||98497|1||| + +|WA||98498|1||| + +|WA||98499|1||| + +|WA||98501|1||| + +|WA|OLYMPIA|98502|1||| + +|WA|LACEY|98503|1||| + +|WA|OLYMPIA|98504|1||| + +|WA|OLYMPIA|98505|1||| + +|WA|OLYMPIA|98506|1||| + +|WA|OLYMPIA|98507|1||| + +|WA|OLYMPIA|98508|1||| + +|WA|LACEY|98509|1||| + +|WA|OLYMPIA|98511|1||| + +|WA|OLYMPIA|98512|1||| + +|WA|LACEY|98513|1||| + +|WA|OLYMPIA|98516|1||| + +|WA||98520|1||| + +|WA||98522|1||| + +|WA||98524|1||| + +|WA||98526|1||| + +|WA||98527|1||| + +|WA||98528|1||| + +|WA||98530|1||| + +|WA||98531|1||| + +|WA||98532|1||| + +|WA||98533|1||| + +|WA|COPALIS BEACH|98535|1||| + +|WA||98536|1||| + +|WA|COSMOPOLIS|98537|1||| + +|WA||98538|1||| + +|WA||98539|1||| + +|WA||98540|1||| + +|WA|ELMA|98541|1||| + +|WA||98542|1||| + +|WA||98544|1||| + +|WA||98546|1||| + +|WA|GRAYLAND|98547|1||| + +|WA||98548|1||| + +|WA||98550|1||| + +|WA|HUMPTULIPS|98552|1||| + +|WA||98554|1||| + +|WA||98555|1||| + +|WA||98556|1||| + +|WA||98557|1||| + +|WA||98558|1||| + +|WA||98559|1||| + +|WA||98560|1||| + +|WA||98561|1||| + +|WA|MOCLIPS|98562|1||| + +|WA||98563|1||| + +|WA|MOSSYROCK|98564|1||| + +|WA|NAPAVINE|98565|1||| + +|WA||98566|1||| + +|WA||98568|1||| + +|WA|OCEAN SHORES|98569|1||| + +|WA||98570|1||| + +|WA||98571|1||| + +|WA|PE ELL|98572|1||| + +|WA||98575|1||| + +|WA|RAINIER|98576|1||| + +|WA||98577|1||| + +|WA|ROCHESTER|98579|1||| + +|WA|ROY|98580|1||| + +|WA||98581|1||| + +|WA||98582|1||| + +|WA||98583|1||| + +|WA||98584|1||| + +|WA||98585|1||| + +|WA|SOUTH BEND|98586|1||| + +|WA|TAHOLAH|98587|1||| + +|WA||98588|1||| + +|WA|TENINO|98589|1||| + +|WA|TOKELAND|98590|1||| + +|WA|TOLEDO|98591|1||| + +|WA||98592|1||| + +|WA|VADER|98593|1||| + +|WA|WESTPORT|98595|1||| + +|WA||98596|1||| + +|WA|YELM|98597|1||| + +|WA|OLYMPIA|98599|1||| + +|WA|AMBOY|98601|1||| + +|WA||98602|1||| + +|WA||98603|1||| + +|WA|BATTLE GROUND|98604|1||| + +|WA|BINGEN|98605|1||| + +|WA|BRUSH PRAIRIE|98606|1||| + +|WA|CAMAS|98607|1||| + +|WA||98609|1||| + +|WA||98610|1||| + +|WA|CASTLE ROCK|98611|1||| + +|WA|CATHLAMET|98612|1||| + +|WA|CENTERVILLE|98613|1||| + +|WA||98614|1||| + +|WA||98616|1||| + +|WA|DALLESPORT|98617|1||| + +|WA||98619|1||| + +|WA|GOLDENDALE|98620|1||| + +|WA||98621|1||| + +|WA||98622|1||| + +|WA||98623|1||| + +|WA|ILWACO|98624|1||| + +|WA|KALAMA|98625|1||| + +|WA|KELSO|98626|1||| + +|WA|KLICKITAT|98628|1||| + +|WA|LA CENTER|98629|1||| + +|WA|LONG BEACH|98631|1||| + +|WA|LONGVIEW|98632|1||| + +|WA|LYLE|98635|1||| + +|WA||98637|1||| + +|WA|NASELLE|98638|1||| + +|WA|NORTH BONNEVILLE|98639|1||| + +|WA|OCEAN PARK|98640|1||| + +|WA||98641|1||| + +|WA|RIDGEFIELD|98642|1||| + +|WA||98643|1||| + +|WA||98644|1||| + +|WA||98645|1||| + +|WA||98647|1||| + +|WA|STEVENSON|98648|1||| + +|WA||98649|1||| + +|WA|TROUT LAKE|98650|1||| + +|WA||98651|1||| + +|WA|VANCOUVER|98660|1||| + +|WA|VANCOUVER|98661|1||| + +|WA|VANCOUVER|98662|1||| + +|WA|VANCOUVER|98663|1||| + +|WA|VANCOUVER|98664|1||| + +|WA|VANCOUVER|98665|1||| + +|WA|VANCOUVER|98666|1||| + +|WA|VANCOUVER|98667|1||| + +|WA|VANCOUVER|98668|1||| + +|WA|KLICKITAT|98670|1||| + +|WA|WASHOUGAL|98671|1||| + +|WA|WHITE SALMON|98672|1||| + +|WA||98673|1||| + +|WA|WOODLAND|98674|1||| + +|WA|YACOLT|98675|1||| + +|WA|VANCOUVER|98682|1||| + +|WA|VANCOUVER|98683|1||| + +|WA|VANCOUVER|98684|1||| + +|WA|VANCOUVER|98685|1||| + +|WA|VANCOUVER|98686|1||| + +|WA|VANCOUVER|98687|1||| + +|WA||98801|1||| + +|WA|EAST WENATCHEE|98802|1||| + +|WA|WENATCHEE|98807|1||| + +|WA||98811|1||| + +|WA||98812|1||| + +|WA|BRIDGEPORT|98813|1||| + +|WA||98814|1||| + +|WA|CASHMERE|98815|1||| + +|WA||98816|1||| + +|WA||98817|1||| + +|WA||98819|1||| + +|WA||98821|1||| + +|WA|ENTIAT|98822|1||| + +|WA|EPHRATA|98823|1||| + +|WA|GEORGE|98824|1||| + +|WA||98826|1||| + +|WA||98827|1||| + +|WA||98828|1||| + +|WA||98829|1||| + +|WA|MANSFIELD|98830|1||| + +|WA||98831|1||| + +|WA||98832|1||| + +|WA||98833|1||| + +|WA||98834|1||| + +|WA||98836|1||| + +|WA|MOSES LAKE|98837|1||| + +|WA|OKANOGAN|98840|1||| + +|WA|OMAK|98841|1||| + +|WA||98843|1||| + +|WA||98844|1||| + +|WA||98845|1||| + +|WA|PATEROS|98846|1||| + +|WA||98847|1||| + +|WA||98848|1||| + +|WA|RIVERSIDE|98849|1||| + +|WA|ROCK ISLAND|98850|1||| + +|WA||98851|1||| + +|WA||98852|1||| + +|WA||98853|1||| + +|WA||98855|1||| + +|WA|TWISP|98856|1||| + +|WA|WARDEN|98857|1||| + +|WA||98858|1||| + +|WA||98859|1||| + +|WA||98860|1||| + +|WA|WINTHROP|98862|1||| + +|WA||98901|1||| + +|WA||98902|1||| + +|WA||98903|1||| + +|WA|YAKIMA|98904|1||| + +|WA|YAKIMA|98907|1||| + +|WA|YAKIMA|98908|1||| + +|WA|YAKIMA|98909|1||| + +|WA||98920|1||| + +|WA||98921|1||| + +|WA||98922|1||| + +|WA||98923|1||| + +|WA||98925|1||| + +|WA|ELLENSBURG|98926|1||| + +|WA|NACHES|98929|1||| + +|WA|GRANDVIEW|98930|1||| + +|WA|GRANGER|98932|1||| + +|WA|HARRAH|98933|1||| + +|WA|KITTITAS|98934|1||| + +|WA|MABTON|98935|1||| + +|WA|MOXEE|98936|1||| + +|WA||98937|1||| + +|WA||98938|1||| + +|WA||98939|1||| + +|WA||98940|1||| + +|WA|ROSLYN|98941|1||| + +|WA|SELAH|98942|1||| + +|WA|SOUTH CLE ELUM|98943|1||| + +|WA|SUNNYSIDE|98944|1||| + +|WA|THORP|98946|1||| + +|WA|TIETON|98947|1||| + +|WA|TOPPENISH|98948|1||| + +|WA|ELLENSBURG|98950|1||| + +|WA||98951|1||| + +|WA|WHITE SWAN|98952|1||| + +|WA|ZILLAH|98953|1||| + +|WA|AIRWAY HEIGHTS|99001|1||| + +|WA||99003|1||| + +|WA|CHENEY|99004|1||| + +|WA||99005|1||| + +|WA|DEER PARK|99006|1||| + +|WA||99008|1||| + +|WA||99009|1||| + +|WA||99011|1||| + +|WA|FAIRFIELD|99012|1||| + +|WA||99013|1||| + +|WA||99014|1||| + +|WA||99015|1||| + +|WA||99016|1||| + +|WA|LAMONT|99017|1||| + +|WA|LATAH|99018|1||| + +|WA|LIBERTY LAKE|99019|1||| + +|WA||99020|1||| + +|WA||99021|1||| + +|WA|MEDICAL LAKE|99022|1||| + +|WA||99023|1||| + +|WA||99025|1||| + +|WA||99026|1||| + +|WA||99027|1||| + +|WA|REARDAN|99029|1||| + +|WA|ROCKFORD|99030|1||| + +|WA|SPANGLE|99031|1||| + +|WA|SPRAGUE|99032|1||| + +|WA|TEKOA|99033|1||| + +|WA||99034|1||| + +|WA||99036|1||| + +|WA|VERADALE|99037|1||| + +|WA|WAVERLY|99039|1||| + +|WA||99040|1||| + +|WA||99101|1||| + +|WA|ALBION|99102|1||| + +|WA|ALMIRA|99103|1||| + +|WA|FARMINGTON|99104|1||| + +|WA||99105|1||| + +|WA|KETTLE FALLS|99107|1||| + +|WA|CHEWELAH|99109|1||| + +|WA||99110|1||| + +|WA|COLFAX|99111|1||| + +|WA|COLTON|99113|1||| + +|WA|COLVILLE|99114|1||| + +|WA|COULEE CITY|99115|1||| + +|WA|COULEE DAM|99116|1||| + +|WA|CRESTON|99117|1||| + +|WA||99118|1||| + +|WA|CUSICK|99119|1||| + +|WA||99121|1||| + +|WA|DAVENPORT|99122|1||| + +|WA|ELECTRIC CITY|99123|1||| + +|WA|ELMER CITY|99124|1||| + +|WA|ENDICOTT|99125|1||| + +|WA|KETTLE FALLS|99126|1||| + +|WA|SAINT JOHN|99127|1||| + +|WA|FARMINGTON|99128|1||| + +|WA||99129|1||| + +|WA|GARFIELD|99130|1||| + +|WA||99131|1||| + +|WA|GRAND COULEE|99133|1||| + +|WA|HARRINGTON|99134|1||| + +|WA|HARTLINE|99135|1||| + +|WA||99136|1||| + +|WA||99137|1||| + +|WA|INCHELIUM|99138|1||| + +|WA|IONE|99139|1||| + +|WA||99140|1||| + +|WA|KETTLE FALLS|99141|1||| + +|WA||99143|1||| + +|WA|ODESSA|99144|1||| + +|WA||99146|1||| + +|WA|CRESTON|99147|1||| + +|WA||99148|1||| + +|WA|MALDEN|99149|1||| + +|WA||99150|1||| + +|WA|MARCUS|99151|1||| + +|WA|METALINE|99152|1||| + +|WA|METALINE FALLS|99153|1||| + +|WA|HARRINGTON|99154|1||| + +|WA||99155|1||| + +|WA|NEWPORT|99156|1||| + +|WA|NORTHPORT|99157|1||| + +|WA|OAKESDALE|99158|1||| + +|WA|ODESSA|99159|1||| + +|WA|KETTLE FALLS|99160|1||| + +|WA|PALOUSE|99161|1||| + +|WA|PULLMAN|99163|1||| + +|WA|PULLMAN|99164|1||| + +|WA|PULLMAN|99165|1||| + +|WA|REPUBLIC|99166|1||| + +|WA||99167|1||| + +|WA|RITZVILLE|99169|1||| + +|WA|ROSALIA|99170|1||| + +|WA||99171|1||| + +|WA|SPRINGDALE|99173|1||| + +|WA||99174|1||| + +|WA||99176|1||| + +|WA|UNIONTOWN|99179|1||| + +|WA||99180|1||| + +|WA||99181|1||| + +|WA|WILBUR|99185|1||| + +|WA|SPOKANE|99201|1||| + +|WA|SPOKANE|99202|1||| + +|WA|SPOKANE|99203|1||| + +|WA|SPOKANE|99204|1||| + +|WA|SPOKANE|99205|1||| + +|WA|SPOKANE|99206|1||| + +|WA|SPOKANE|99207|1||| + +|WA|SPOKANE|99208|1||| + +|WA|SPOKANE|99209|1||| + +|WA|SPOKANE|99210|1||| + +|WA|SPOKANE|99211|1||| + +|WA|SPOKANE|99212|1||| + +|WA|SPOKANE|99213|1||| + +|WA|SPOKANE|99214|1||| + +|WA|SPOKANE|99215|1||| + +|WA|SPOKANE|99216|1||| + +|WA|SPOKANE|99217|1||| + +|WA|SPOKANE|99218|1||| + +|WA|SPOKANE|99219|1||| + +|WA|SPOKANE|99220|1||| + +|WA|SPOKANE|99223|1||| + +|WA|SPOKANE|99224|1||| + +|WA||99228|1||| + +|WA|SPOKANE|99251|1||| + +|WA|SPOKANE|99252|1||| + +|WA|SPOKANE|99256|1||| + +|WA|SPOKANE|99258|1||| + +|WA|SPOKANE|99260|1||| + +|WA|SPOKANE|99299|1||| + +|WA|PASCO|99301|1||| + +|WA|PASCO|99302|1||| + +|WA|BENTON CITY|99320|1||| + +|WA||99321|1||| + +|WA|BICKLETON|99322|1||| + +|WA|BURBANK|99323|1||| + +|WA|COLLEGE PLACE|99324|1||| + +|WA|CONNELL|99326|1||| + +|WA|OTHELLO|99327|1||| + +|WA|DAYTON|99328|1||| + +|WA||99329|1||| + +|WA||99330|1||| + +|WA|HATTON|99332|1||| + +|WA||99333|1||| + +|WA|KAHLOTUS|99335|1||| + +|WA||99336|1||| + +|WA|KENNEWICK|99337|1||| + +|WA|KENNEWICK|99338|1||| + +|WA|LIND|99341|1||| + +|WA|MESA|99343|1||| + +|WA|OTHELLO|99344|1||| + +|WA||99345|1||| + +|WA||99346|1||| + +|WA|POMEROY|99347|1||| + +|WA|PRESCOTT|99348|1||| + +|WA|MATTAWA|99349|1||| + +|WA|PROSSER|99350|1||| + +|WA|RICHLAND|99352|1||| + +|WA|RICHLAND|99353|1||| + +|WA|RICHLAND|99354|1||| + +|WA|ROOSEVELT|99356|1||| + +|WA|ROYAL CITY|99357|1||| + +|WA|STARBUCK|99359|1||| + +|WA|TOUCHET|99360|1||| + +|WA|WAITSBURG|99361|1||| + +|WA|WALLA WALLA|99362|1||| + +|WA||99363|1||| + +|WA|WASHTUCNA|99371|1||| + +|WA||99401|1||| + +|WA|ASOTIN|99402|1||| + +|WA|CLARKSTON|99403|1||| + + diff --git a/Open-ILS/xul/staff_client/chrome/content/util/date.js b/Open-ILS/xul/staff_client/chrome/content/util/date.js index 47c3e2152f..cbf4fd04db 100644 --- a/Open-ILS/xul/staff_client/chrome/content/util/date.js +++ b/Open-ILS/xul/staff_client/chrome/content/util/date.js @@ -91,8 +91,9 @@ util.date.formatted_date = function (orig_date,format) { if (_date == null) { return ''; } - + var mEN_names = new Array('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'); var mm = _date.getMonth() + 1; mm = mm.toString(); if (mm.length == 1) mm = '0' +mm; + var mmEN = _date.getMonth(); var dd = _date.getDate().toString(); if (dd.length == 1) dd = '0' +dd; var yyyy = _date.getFullYear().toString(); var yy = yyyy.substr(2); @@ -121,6 +122,7 @@ util.date.formatted_date = function (orig_date,format) { s = s.replace( /%\{localized_date\}/g, dojo.date.locale.format( _date, dojo_format2 ) ); s = s.replace( /%\{iso8601\}/g, dojo.date.stamp.toISOString( _date ) ); } + s = s.replace( /%MMM/g, mEN_names[mmEN]); s = s.replace( /%m/g, mm ); s = s.replace( /%d/g, dd ); s = s.replace( /%Y/g, yyyy ); diff --git a/Open-ILS/xul/staff_client/chrome/content/util/print.js b/Open-ILS/xul/staff_client/chrome/content/util/print.js index e66e81d047..c6e8fcd315 100644 --- a/Open-ILS/xul/staff_client/chrome/content/util/print.js +++ b/Open-ILS/xul/staff_client/chrome/content/util/print.js @@ -108,8 +108,100 @@ util.print.prototype = { if (typeof data != 'string') { return data; } return data.replace(/&/g,'&').replace(//g,'>'); }, +'simple' : function(msg,params) { + try { + if (!params) params = {}; + params.msg = msg; + + var obj = this; + + obj.data.last_print = { 'msg' : msg, 'params' : params, 'context' : this.context}; + obj.data.stash('last_print'); + + var silent = false; + if ( params && params.no_prompt && (params.no_prompt == true || params.no_prompt == 'true') ) { + silent = true; + } + + var content_type; + if (params && params.content_type) { + content_type = params.content_type; + } else { + content_type = 'text/html'; + } + + var w; + + netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); + obj.data.init({'via':'stash'}); + + if (typeof obj.data.print_strategy == 'undefined') { + obj.data.print_strategy = {}; + obj.data.stash('print_strategy'); + } - 'simple' : function(msg,params) { + if (params.print_strategy || obj.data.print_strategy[obj.context] || obj.data.print_strategy['default']) { + + switch(params.print_strategy || obj.data.print_strategy[obj.context] || obj.data.print_strategy['default']) { + case 'dos.print': + params.dos_print = true; + case 'custom.print': + /* FIXME - this it a kludge.. we're going to sidestep window-based html rendering for printing */ + /* I'm using regexps to mangle the html receipt templates; it'd be nice to use xsl but the */ + /* templates aren't guaranteed to be valid xml. The unadulterated msg is still preserved in */ + /* params */ + if (content_type=='text/html') { + w = obj.html2txt(msg); + } else { + w = msg; + } + if (! params.no_form_feed) { w = w + '\f'; } + obj.NSPrint(w, silent, params); + return; + break; + } + } + + switch(content_type) { + case 'text/html' : + var jsrc = 'data:text/javascript,' + window.escape('var params = { "data" : ' + js2JSON(params.data) + ', "list" : ' + js2JSON(params.list) + '}; function my_init() { if (typeof go_print == "function") { go_print(); } else { setTimeout( function() { if (typeof go_print == "function") { alert("Please tell the developers that the 2-second go_print workaround executed, and let them know whether this job printed successfully. Thanks!"); go_print(); } else { alert("Please tell the developers that the 2-second go_print workaround did not work. We will try to print one more time; there have been reports of wasted receipt paper at this point. Please check the settings in the print dialog and/or prepare to power off your printer. Thanks!"); window.print(); } }, 2000 ); } /* FIXME - mozilla bug#301560 - xpcom kills it too */ }'); + var print_url = 'data:text/html,' + + '' + + '' + window.escape(msg) + ''; + w = obj.win.open(print_url,'receipt_temp','chrome,resizable'); + w.minimize(); + w.go_print = function() { + try { + obj.NSPrint(w, silent, params); + } catch(E) { + obj.error.standard_unexpected_error_alert("Print Error in util.print.simple. After this dialog we'll try a second print attempt. content_type = " + content_type,E); + w.print(); + } + w.minimize(); w.close(); + } + break; + default: + w = obj.win.open('data:' + content_type + ',' + window.escape(msg),'receipt_temp','chrome,resizable'); + w.minimize(); + setTimeout( + function() { + try { + obj.NSPrint(w, silent, params); + } catch(E) { + obj.error.standard_unexpected_error_alert("Print Error in util.print.simple. After this dialog we'll try a second print attempt. content_type = " + content_type,E); + w.print(); + } + w.minimize(); w.close(); + }, 1000 + ); + break; + } + + } catch(E) { + this.error.standard_unexpected_error_alert('util.print.simple',E); + } + }, + 'simple_new' : function(msg,params) { try { if (!params) params = {}; params.msg = msg; @@ -164,6 +256,11 @@ util.print.prototype = { switch(content_type) { case 'text/html' : + var jsrc = 'data:text/javascript,' + window.escape('var params = window.arguments[0]; window.go_print = window.arguments[1];'); + var print_url = 'data:text/html,' + + '' + + '' + window.escape(msg) + ''; +/* temporary backport to re-enable javascript templates if(!params.type) { params.type = ''; } @@ -184,6 +281,8 @@ util.print.prototype = { } print_url += '' + msg.replace(/]*>.*?<\/script>/gi,'') + ''; print_url = 'data:text/html;charset=utf-8,' + encodeURIComponent(print_url); +*/ + obj.win.openDialog(print_url,'receipt_temp','chrome,resizable,modal', { "data" : params.data, "list" : params.list}, function(w) { try { obj.NSPrint(w, silent, params); @@ -289,12 +388,13 @@ util.print.prototype = { } } if (params.footer) s += this.template_sub( params.footer, cols, params ); - +/* Insanity Check - temporary backport to re-enable javascript templates // Sanity check, no javascript in templates // Note: [\s\S] is a workaround for . not including newlines. s=s.replace(/]*>[\s\S]*?<\/script[^>]*>/gi,'') s=s.replace(/onload\s*=\s*"[^"]*"/gi,''); s=s.replace(/onload\s*=\s*'[^']*'/gi,''); +*/ if (params.sample_frame) { var jsrc = 'data:text/javascript,' + encodeURIComponent('var params = { "data" : ' + js2JSON(params.data) + ', "list" : ' + js2JSON(params.list) + '};'); @@ -353,6 +453,8 @@ util.print.prototype = { catch(E){s = b; this.error.sdump('D_WARN','string = <' + s + '> error = ' + js2JSON(E)+'\n');} try{b = s; s = s.replace(/%PATRON_ALIAS_OR_FIRSTNAME%/g,this.escape_html((params.patron.alias() == '' || params.patron.alias() == null) ? params.patron.first_given_name() : params.patron.alias()));} catch(E){s = b; this.error.sdump('D_WARN','string = <' + s + '> error = ' + js2JSON(E)+'\n');} + try{b = s; s = s.replace(/%PATRON_ALIAS_OR_FIRSTNAME_ABBR%/,(params.patron.alias() == '' || params.patron.alias() == null) ? params.data['hold_for_first_given_name'].substr(0,3).toUpperCase() : params.patron.alias());} + catch(E){s = b; this.error.sdump('D_WARN','string = <' + s + '> error = ' + js2JSON(E)+'\n');} try{b = s; s = s.replace(/%PATRON_ALIAS%/g,this.escape_html((params.patron.alias() == '' || params.patron.alias() == null) ? '' : params.patron.alias()));} catch(E){s = b; this.error.sdump('D_WARN','string = <' + s + '> error = ' + js2JSON(E)+'\n');} try{b = s; s = s.replace(/%PATRON_FIRSTNAME%/g,this.escape_html(params.patron.first_given_name()));} @@ -361,6 +463,12 @@ util.print.prototype = { catch(E){s = b; this.error.sdump('D_WARN','string = <' + s + '> error = ' + js2JSON(E)+'\n');} try{b = s; s = s.replace(/%PATRON_LASTNAME%/g,this.escape_html(params.patron.family_name()));} catch(E){s = b; this.error.sdump('D_WARN','string = <' + s + '> error = ' + js2JSON(E)+'\n');} + try{b = s; s = s.replace(/%PATRON_HOLD_LASTNAME_ABBR%/,(params.data['hold_for_family_name'].substr(0,4).toUpperCase()));} + catch(E){s = b; this.error.sdump('D_WARN','string = <' + s + '> error = ' + js2JSON(E)+'\n');} + try{b = s; s = s.replace(/%PATRON_HOLD_FIRSTNAME_ABBR%/,(params.data['hold_for_first_given_name'].substr(0,3).toUpperCase()));} + catch(E){s = b; this.error.sdump('D_WARN','string = <' + s + '> error = ' + js2JSON(E)+'\n');} + try{b = s; s = s.replace(/%PATRON_ID%/,params.patron.a[28]);} + catch(E){s = b; this.error.sdump('D_WARN','string = <' + s + '> error = ' + js2JSON(E)+'\n');} try{b = s; s = s.replace(/%PATRON_BARCODE%/g,this.escape_html(typeof params.patron.card() == 'object' ? params.patron.card().barcode() : util.functional.find_id_object_in_list( params.patron.cards(), params.patron.card() ).barcode() )) ;} catch(E){s = b; this.error.sdump('D_WARN','string = <' + s + '> error = ' + js2JSON(E)+'\n');} try{b = s; s = s.replace(/%PATRON_EXPIRE_DATE%/g,this.escape_html(params.patron.expire_date()));} @@ -388,6 +496,8 @@ util.print.prototype = { catch(E){s = b; this.error.sdump('D_WARN','string = <' + s + '> error = ' + js2JSON(E)+'\n');} try{b = s; s=s.replace(/%TODAY_F%/g,(util.date.formatted_date(new Date(),'%F')));} catch(E){s = b; this.error.sdump('D_WARN','string = <' + s + '> error = ' + js2JSON(E)+'\n');} + try{b = s; s=s.replace(/%TODAY_MMM%/g,(util.date.formatted_date(new Date(),'%MMM %d, %Y')));} + catch(E){s = b; this.error.sdump('D_WARN','string = <' + s + '> error = ' + js2JSON(E)+'\n');} try { if (typeof params.row != 'undefined') { @@ -401,9 +511,27 @@ util.print.prototype = { } else { /* for dump_with_keys */ for (var i in params.row) { + switch(i) { + case "due_date": + var re = new RegExp('%'+i+'%',"g"); + try{b = s; s=s.replace(re, params.row[i]);} + catch(E){s = b; this.error.standard_unexpected_error_alert('print.js, template_sub(): 2 string = <' + s + '>',E);} + var re = RegExp('%due_date_EN%',"g"); + var s1 = params.row[i].replace(/-/gi, '/'); + + var s2 = new Date(s1); + var s3 = util.date.formatted_date(s2, '%MMM %d, %Y'); + + try{b = s; s=s.replace(re, this.escape_html(s3));} + catch(E){s = b; this.error.standard_unexpected_error_alert('print.js, template_sub(): 2 string = <' + s + '>',E);} + + break; + default: var re = new RegExp('%'+i+'%',"g"); try{b = s; s=s.replace(re, this.escape_html(params.row[i].toString()));} catch(E){s = b; this.error.standard_unexpected_error_alert('print.js, template_sub(): 2 string = <' + s + '>',E);} + break; + } } } } diff --git a/Open-ILS/xul/staff_client/server/patron/summary.xul b/Open-ILS/xul/staff_client/server/patron/summary.xul index 699002889f..e8ec4d85c7 100644 --- a/Open-ILS/xul/staff_client/server/patron/summary.xul +++ b/Open-ILS/xul/staff_client/server/patron/summary.xul @@ -123,7 +123,24 @@ break; }; } - + function export_card(ev) { +var action = ev.originalTarget.id; + +var patron_bc = g.summary.patron.card().barcode(); + switch(action) { + case 'card_export_copy': + // Replace literal instances of '\n' and excessive whitespace. + // s = s.replace(/(\\n)+/g, "\r\n").replace(/ {2,}/g, " "); + copy_to_clipboard(patron_bc); + break; + case 'card_export_print': + // Replace literal instances of '\n' and excessive whitespace. + //s = s.replace(/(\\n)+/g, "
").replace(/ {2,}/g, " "); + JSAN.use('util.print'); var print = new util.print('receipt'); print.simple(patron_bc); + break; + }; + +} function post_overlay() { try { var patron_id = xul_param('id'); diff --git a/Open-ILS/xul/staff_client/server/patron/summary_overlay_horiz.xul b/Open-ILS/xul/staff_client/server/patron/summary_overlay_horiz.xul index 037adf6240..ac6daae055 100644 --- a/Open-ILS/xul/staff_client/server/patron/summary_overlay_horiz.xul +++ b/Open-ILS/xul/staff_client/server/patron/summary_overlay_horiz.xul @@ -96,6 +96,12 @@ + + + + + + @@ -114,9 +120,13 @@ + + diff --git a/Open-ILS/xul/staff_client/server/skin/custom.js b/Open-ILS/xul/staff_client/server/skin/custom.js new file mode 100644 index 0000000000..31a951228c --- /dev/null +++ b/Open-ILS/xul/staff_client/server/skin/custom.js @@ -0,0 +1,58 @@ +_dump_level = 4; +//urls['opac'] = '/eg/opac/advanced'; +//urls['opac_rdetail'] = '/eg/opac/record/'; +//urls['opac_rresult'] = '/eg/opac/results'; +//urls['opac_rresult_metarecord'] = '/eg/opac/results?metarecord='; +//urls['browser'] = urls.opac; +urls['AUDIO_special_checkin.error'] = '/xul/server/skin/media/audio/custom/error.wav'; +urls['AUDIO_special_checkin.hold_shelf'] = '/xul/server/skin/media/audio/custom/hold.wav'; +urls['AUDIO_special_checkin.no_change'] = '/xul/server/skin/media/audio/custom/note1.wav'; +urls['AUDIO_special_checkin.success'] = '/xul/server/skin/media/audio/custom/note2.wav'; +urls['AUDIO_special_checkin.transit'] = '/xul/server/skin/media/audio/custom/transit.wav'; +urls['AUDIO_special_checkin.transit_for_hold'] = '/xul/server/skin/media/audio/custom/hold_transit.wav'; +urls['AUDIO_event_ASSET_COPY_NOT_FOUND'] = '/xul/server/skin/media/audio/custom/error.wav'; +urls['AUDIO_horrible'] = '/xul/server/skin/media/audio/custom/error.wav'; +urls['AUDIO_event_ACTOR_USER_NOT_FOUND'] = '/xul/server/skin/media/audio/custom/error.wav'; +if (location.href.match('checkin')){ +urls['AUDIO_circ_good'] = ''; +} else { +urls['AUDIO_circ_good'] = '/xul/server/skin/media/audio/custom/note2.wav'; +} +if (location.href.match('checkin')){ +urls['AUDIO_circ_bad'] = ''; +} else { +urls['AUDIO_circ_bad'] = '/xul/server/skin/media/audio/question.wav'; +} + + + + +//urls['opac'] = '/opac/' + LOCALE + '/skin/kcls/xml/advanced.xml?nps=1'; +//urls['opac_rdetail'] = '/opac/' + LOCALE + '/skin/kcls/xml/rdetail.xml?r='; +//urls['opac_rresult'] = '/opac/' + LOCALE + '/skin/kcls/xml/rresult.xml'; +//urls['opac_rresult_metarecord'] = '/opac/' + LOCALE + '/skin/kcls/xml/rresult.xml?m='; +//urls['browser'] = '/opac/' + LOCALE + '/skin/kcls/xml/advanced.xml?nps=1'; + +////////////////////////////////////////////////////////////////////////// +// Overriding default receipt templates + +try { + // In practice, this should be true in menu.js/opac.js, but not util_overlay.xul + if (typeof JSAN != 'undefined' && typeof JSON2js != 'undefined' && typeof xulG != 'undefined') { + var r = new XMLHttpRequest(); + r.open("GET", xulG.url_prefix('/xul/server/skin/print_list_templates'), false); + r.send(null); + if (r.status == 200) { + JSAN.use('OpenILS.data'); + var custom_data = new OpenILS.data(); custom_data.stash_retrieve(); + var custom_templates = JSON2js( r.responseText ); + for (var i in custom_templates) { + custom_data.print_list_templates[i] = custom_templates[i]; + } + custom_data.stash('print_list_templates'); + dump('Overriding receipt templates via custom.js\n'); + } + } +} catch(E) { + dump('Error overriding receipt templates in custom.js: ' + E + '\n'); +} diff --git a/Open-ILS/xul/staff_client/server/skin/media/audio/custom/error.wav b/Open-ILS/xul/staff_client/server/skin/media/audio/custom/error.wav new file mode 100644 index 0000000000..357b8b7d33 Binary files /dev/null and b/Open-ILS/xul/staff_client/server/skin/media/audio/custom/error.wav differ diff --git a/Open-ILS/xul/staff_client/server/skin/media/audio/custom/hold.wav b/Open-ILS/xul/staff_client/server/skin/media/audio/custom/hold.wav new file mode 100644 index 0000000000..e61a6491e9 Binary files /dev/null and b/Open-ILS/xul/staff_client/server/skin/media/audio/custom/hold.wav differ diff --git a/Open-ILS/xul/staff_client/server/skin/media/audio/custom/hold_transit.wav b/Open-ILS/xul/staff_client/server/skin/media/audio/custom/hold_transit.wav new file mode 100644 index 0000000000..405fc8d45b Binary files /dev/null and b/Open-ILS/xul/staff_client/server/skin/media/audio/custom/hold_transit.wav differ diff --git a/Open-ILS/xul/staff_client/server/skin/media/audio/custom/note1.wav b/Open-ILS/xul/staff_client/server/skin/media/audio/custom/note1.wav new file mode 100644 index 0000000000..56be2ed8c2 Binary files /dev/null and b/Open-ILS/xul/staff_client/server/skin/media/audio/custom/note1.wav differ diff --git a/Open-ILS/xul/staff_client/server/skin/media/audio/custom/note2.wav b/Open-ILS/xul/staff_client/server/skin/media/audio/custom/note2.wav new file mode 100644 index 0000000000..56be2ed8c2 Binary files /dev/null and b/Open-ILS/xul/staff_client/server/skin/media/audio/custom/note2.wav differ diff --git a/Open-ILS/xul/staff_client/server/skin/media/audio/custom/transit.wav b/Open-ILS/xul/staff_client/server/skin/media/audio/custom/transit.wav new file mode 100644 index 0000000000..c559c3c51d Binary files /dev/null and b/Open-ILS/xul/staff_client/server/skin/media/audio/custom/transit.wav differ diff --git a/Open-ILS/xul/staff_client/server/skin/media/audio/r2/error.wav b/Open-ILS/xul/staff_client/server/skin/media/audio/r2/error.wav new file mode 100644 index 0000000000..357b8b7d33 Binary files /dev/null and b/Open-ILS/xul/staff_client/server/skin/media/audio/r2/error.wav differ diff --git a/Open-ILS/xul/staff_client/server/skin/media/audio/r2/hold.wav b/Open-ILS/xul/staff_client/server/skin/media/audio/r2/hold.wav new file mode 100644 index 0000000000..e61a6491e9 Binary files /dev/null and b/Open-ILS/xul/staff_client/server/skin/media/audio/r2/hold.wav differ diff --git a/Open-ILS/xul/staff_client/server/skin/media/audio/r2/hold_transit.wav b/Open-ILS/xul/staff_client/server/skin/media/audio/r2/hold_transit.wav new file mode 100644 index 0000000000..405fc8d45b Binary files /dev/null and b/Open-ILS/xul/staff_client/server/skin/media/audio/r2/hold_transit.wav differ diff --git a/Open-ILS/xul/staff_client/server/skin/media/audio/r2/note1.wav b/Open-ILS/xul/staff_client/server/skin/media/audio/r2/note1.wav new file mode 100644 index 0000000000..56be2ed8c2 Binary files /dev/null and b/Open-ILS/xul/staff_client/server/skin/media/audio/r2/note1.wav differ diff --git a/Open-ILS/xul/staff_client/server/skin/media/audio/r2/note2.wav b/Open-ILS/xul/staff_client/server/skin/media/audio/r2/note2.wav new file mode 100644 index 0000000000..56be2ed8c2 Binary files /dev/null and b/Open-ILS/xul/staff_client/server/skin/media/audio/r2/note2.wav differ diff --git a/Open-ILS/xul/staff_client/server/skin/media/audio/r2/transit.wav b/Open-ILS/xul/staff_client/server/skin/media/audio/r2/transit.wav new file mode 100644 index 0000000000..c559c3c51d Binary files /dev/null and b/Open-ILS/xul/staff_client/server/skin/media/audio/r2/transit.wav differ diff --git a/Open-ILS/xul/staff_client/server/skin/media/images/portal/newtab2.PNG b/Open-ILS/xul/staff_client/server/skin/media/images/portal/newtab2.PNG index de5d805a0f..e14dd53343 100644 Binary files a/Open-ILS/xul/staff_client/server/skin/media/images/portal/newtab2.PNG and b/Open-ILS/xul/staff_client/server/skin/media/images/portal/newtab2.PNG differ diff --git a/Open-ILS/xul/staff_client/server/skin/print_list_templates b/Open-ILS/xul/staff_client/server/skin/print_list_templates new file mode 100644 index 0000000000..e9a56b8673 --- /dev/null +++ b/Open-ILS/xul/staff_client/server/skin/print_list_templates @@ -0,0 +1 @@ +{"item_status":{"type":"items","header":"The following items have been examined:
    ","line_item":"
  1. %title%
    \nBarcode: %barcode%
    \nCall #: %call_number%
    \nDue: %due_date_EN%
    \n
    \n","footer":"

%SHORTNAME% %TODAY_TRIM%
\n
\n","inherit":null,"context":"receipt"},"transit_list":{"type":"transits","header":"Transits:
    ","line_item":"
  1. From: %transit_source% To: %transit_dest_lib%
    \nWhen: %transit_source_send_time%
    \nBarcode: %transit_item_barcode% Title: %transit_item_title%
    \n","footer":"

%SHORTNAME% %TODAY_TRIM%
\n
\n","inherit":null,"context":"default"},"items_out":{"type":"items","header":"Welcome to %LIBRARY%!
\n%PATRON_FIRSTNAME% has the following items:
    ","line_item":"
  1. %title%
    \nBarcode: %barcode%
    \nCall #: %call_number%
    \nDue: %due_date_EN%
    \n
    \n\n","footer":"

%SHORTNAME% %TODAY_TRIM%
\n
\n","inherit":null,"context":"receipt"},"renew":{"type":"items","header":"Welcome to %LIBRARY%!
\n%PATRON_FIRSTNAME% has renewed the following items:
    ","line_item":"
  1. %title%
    \nBarcode: %barcode%
    \nDue: %due_date_EN%
    \n
    \n","footer":"

%SHORTNAME% %TODAY_TRIM%
\n
\n","inherit":null,"context":"receipt"},"checkout":{"type":"items","header":"Welcome to %LIBRARY%!
\n%PATRON_FIRSTNAME% checked out the following items:
    ","line_item":"
  1. %title%
    \nBarcode: %barcode%
    \nCall #: %call_number%
    \n Due: %due_date_EN%
    \n
    \n","footer":"

%SHORTNAME% %TODAY_TRIM%
Materials may be returned to any KCLS library.\n\n
\n","inherit":null,"context":"receipt"},"offline_checkout":{"type":"offline_checkout","header":"Patron %patron_barcode%
\nYou checked out the following items:
    ","line_item":"
  1. Barcode: %barcode%
    \nDue: %due_date%\n","footer":"

%TODAY_TRIM%
\n
\n","inherit":null,"context":"offline"},"checkin":{"type":"items","header":" You have checked in the following items:
    ","line_item":"
  1. %title%
    \nBarcode: %barcode% \n
    \n\n","footer":"

%SHORTNAME% %TODAY_TRIM%
\n
\n","inherit":null,"context":"receipt"},"bill_payment":{"type":"payment","header":"Welcome to %LIBRARY%, %PATRON_FIRSTNAME%!
A receipt of your transaction:
Original Balance: $%original_balance%
Payment Received: $%payment_received%
Payment Applied: $%payment_applied%
New Balance: $%new_balance%

Specific bills:

","line_item":"Invoice: %bill_id%
Status: %last_billing_type%
Title: %title%
Barcode: %barcode%
Received: $%payment%

","footer":"


%SHORTNAME% %TODAY_TRIM%

","inherit":null,"context":"receipt"},"bills_historical":{"type":"bills","header":"Welcome to %LIBRARY%!
You had the following bills:
\n\n","line_item":"
Bill #   %mbts_id%
\n\n\n\n\n\n\n\n\n\n\n\n\n\n
Type:%last_billing_type%
Billed/Paid $%total_owed% / %total_paid%
Balance:$%balance_owed%

\n\n\n","footer":"\n\n\n
%SHORTNAME% %TODAY_TRIM%
\n
\n","inherit":null,"context":"receipt"},"bills_current":{"type":"bills","header":"Welcome to %LIBRARY%!
You have the following bills:
\n\n\n","line_item":"
Bill #%mbts_id%
\n\n\n\n\n\n\n\n\n\n\n\n\n\n
Type:%last_billing_type%
Billed/Paid $%total_owed% / %total_paid%
Balance:$%balance_owed%

\n","footer":"\n\n\n
%SHORTNAME% %TODAY_TRIM%
\n
","inherit":null,"context":"receipt"},"offline_checkin":{"type":"offline_checkin","header":"You checked in the following items:
    ","line_item":"
  1. Barcode: %barcode%\n","footer":"

%TODAY_TRIM%
\n
\n","inherit":null,"context":"offline"},"offline_renew":{"type":"offline_renew","header":"You renewed the following items:
    ","line_item":"
  1. Barcode: %barcode%\n","footer":"

%TODAY_TRIM%
\n
\n","inherit":null,"context":"offline"},"offline_inhouse_use":{"type":"offline_inhouse_use","header":"You marked the following in-house items used:
    ","line_item":"
  1. Barcode: %barcode%\nUses: %count%","footer":"

%TODAY_TRIM%
\n
\n","inherit":null,"context":"receipt"},"in_house_use":{"type":"items","header":"You marked the following in-house items used:
    ","line_item":"
  1. Barcode: %barcode%\r\nUses: %uses%\r\n
    %alert_message%","footer":"

%TODAY_TRIM%
\r\n
\r\n"},"holds":{"type":"holds","header":"Welcome to %LIBRARY%!
\nYou have the following titles on hold:
    ","line_item":"
  1. %title%\n","footer":"

%SHORTNAME% %TODAY_TRIM%
\nYou were helped by %STAFF_FIRSTNAME%
\n
\n","inherit":null,"context":"receipt"},"holds_on_bib":{"type":"holds","inherit":"holds"},"holds_for_patron":{"type":"holds","inherit":"holds"},"holds_shelf":{"type":"holds","inherit":null,"header":"%SHORTNAME% %TODAY_TRIM%
\n
\n\n\n\n\n\n\n\n\n\n\n\n","line_item":"\n\n\n\n\n\n\n\n\n","footer":"
PatronActionTypeTitleAuthorShelving LocationCall NumberBarcode
%patron_display_name%%post_clear_shelf_action%%hold_type%%title%%author%%current_copy_location%%callnumber%%current_copy%
\n","context":"default"},"holds_pull_list":{"type":"holds","inherit":"holds"},"hold_slip":{"type":"holds","header":"\n\n⌂\n\n\n\n%LIBRARY%\n\n
\n\n\n
\n%PATRON_HOLD_LASTNAME_ABBR%\n
\n\n%PATRON_ALIAS_OR_FIRSTNAME_ABBR%\n\n\n
\n\n %TODAY_MMM%
\n\n   Barcode: %item_barcode%\n\n
\n
\n   Patron:%PATRON_ID%
\n
\n\n\n\n\n\n
\n\n\n","line_item":"
\n
\n
\n
\n
\n
\n
\n
\n
\n\n%formatted_note%
\n
\n","footer":"
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n
\nSlip Date: %TODAY_TRIM%
\nPrinted by %STAFF_FIRSTNAME%
\n
","inherit":null,"context":"receipt"},"transit_slip":{"type":"transits","header":"This item needs to be routed to %route_to%:
\r\n%route_to_org_fullname%
\r\n%street1%
\r\n%street2%
\r\n%city_state_zip%
\r\n
\r\n","line_item":"Barcode: %item_barcode%
\r\nTitle: %item_title%
\r\nAuthor: %item_author%
\r\n
\r\n","footer":"Slip Date: %TODAY_TRIM%
\r\nPrinted by %STAFF_FIRSTNAME% at %SHORTNAME%
\r\n
\r\n"},"hold_transit_slip":{"type":"transits","header":"\n \n⇚\n\n\n\nRoute to : %route_to_org_fullname%
\n\n \n
\n%PATRON_HOLD_LASTNAME_ABBR%\n
\n\n%PATRON_ALIAS_OR_FIRSTNAME_ABBR%\n\n\n
\n\n %TODAY_MMM%
\n\n   Barcode: %item_barcode%\n\n
\n
\n   Patron:%PATRON_ID%
\n
\n\n\n\n\n
\n
","line_item":"
\n







%formatted_note%
\n","footer":"
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n
\nSlip Date: %TODAY_TRIM%
\nPrinted by %STAFF_FIRSTNAME%
\n
","inherit":null,"context":"receipt"},"holdings_maintenance":{"type":"items","header":"Title: %title%
\nAuthor: %author%
\nISBN: %isbn% Edition: %edition% PubDate: %pubdate%
\nTCN: %tcn_value% Record ID: %mvr_doc_id%
\nCreator: %creator% Create Date: %create_date%
\nEditor: %editor% Edit Date: %edit_date%
\n","line_item":"%prefix% %tree_location% %suffix% %parts% %acp_status%
\n","footer":"
%SHORTNAME% %TODAY_TRIM%
\n
\n","inherit":null,"context":"default"},"bills_main_view":{"type":"bills","header":"Welcome to %LIBRARY%!
You have the following bills:
    ","line_item":"
    Bill #%id% %title%
    Date:%xact_start%
    Type:%xact_type%
    Last Billing:%last_billing_type%
    %last_billing_note%
    Total Billed:$%total_owed%
    Last Payment:%last_payment_type%
    %last_payment_note%
    Total Paid:$%total_paid%
    Balance:$%balance_owed%

    ","footer":"

%SHORTNAME% %TODAY_TRIM%
\n
\n","inherit":null,"context":"receipt"}} \ No newline at end of file