From a0b220f855144f7994b5a654ce9fdb82979cefb0 Mon Sep 17 00:00:00 2001 From: Joshua Ferraro Date: Sun, 25 Nov 2007 23:44:50 -0600 Subject: [PATCH] much-awaited web-based self-checkout system Signed-off-by: Joshua Ferraro --- koha-tmpl/opac-tmpl/prog/en/css/sco.css | 194 ++++++ koha-tmpl/opac-tmpl/prog/en/js/sco.js | 28 + .../prog/en/modules/sco/circulation.tmpl | 141 +++++ .../opac-tmpl/prog/en/modules/sco/help.tmpl | 31 + .../prog/en/modules/sco/receipt.tmpl | 53 ++ .../prog/en/modules/sco/sco-circ.tmpl | 109 ++++ .../prog/en/modules/sco/sco-main.tmpl | 143 +++++ koha-tmpl/opac-tmpl/prog/images/alert.gif | Bin 0 -> 605 bytes koha-tmpl/opac-tmpl/prog/images/back.gif | Bin 0 -> 175 bytes .../prog/images/checkout-bottom-left.gif | Bin 0 -> 1007 bytes .../prog/images/checkout-bottom-right.gif | Bin 0 -> 502 bytes .../opac-tmpl/prog/images/checkout-right.gif | Bin 0 -> 104 bytes .../prog/images/checkout-top-left.gif | Bin 0 -> 2094 bytes .../prog/images/checkout-top-right.gif | Bin 0 -> 870 bytes .../prog/images/transaction-complete.gif | Bin 0 -> 206 bytes opac/sco/abort.pl | 38 ++ opac/sco/help.pl | 28 + opac/sco/printer.pl | 594 ++++++++++++++++++ opac/sco/sco-circ.pl | 211 +++++++ opac/sco/sco-main.pl | 165 +++++ 20 files changed, 1735 insertions(+) create mode 100644 koha-tmpl/opac-tmpl/prog/en/css/sco.css create mode 100644 koha-tmpl/opac-tmpl/prog/en/js/sco.js create mode 100644 koha-tmpl/opac-tmpl/prog/en/modules/sco/circulation.tmpl create mode 100644 koha-tmpl/opac-tmpl/prog/en/modules/sco/help.tmpl create mode 100644 koha-tmpl/opac-tmpl/prog/en/modules/sco/receipt.tmpl create mode 100644 koha-tmpl/opac-tmpl/prog/en/modules/sco/sco-circ.tmpl create mode 100644 koha-tmpl/opac-tmpl/prog/en/modules/sco/sco-main.tmpl create mode 100644 koha-tmpl/opac-tmpl/prog/images/alert.gif create mode 100644 koha-tmpl/opac-tmpl/prog/images/back.gif create mode 100644 koha-tmpl/opac-tmpl/prog/images/checkout-bottom-left.gif create mode 100644 koha-tmpl/opac-tmpl/prog/images/checkout-bottom-right.gif create mode 100644 koha-tmpl/opac-tmpl/prog/images/checkout-right.gif create mode 100644 koha-tmpl/opac-tmpl/prog/images/checkout-top-left.gif create mode 100644 koha-tmpl/opac-tmpl/prog/images/checkout-top-right.gif create mode 100644 koha-tmpl/opac-tmpl/prog/images/transaction-complete.gif create mode 100755 opac/sco/abort.pl create mode 100755 opac/sco/help.pl create mode 100755 opac/sco/printer.pl create mode 100755 opac/sco/sco-circ.pl create mode 100755 opac/sco/sco-main.pl diff --git a/koha-tmpl/opac-tmpl/prog/en/css/sco.css b/koha-tmpl/opac-tmpl/prog/en/css/sco.css new file mode 100644 index 0000000000..6d48abf2dc --- /dev/null +++ b/koha-tmpl/opac-tmpl/prog/en/css/sco.css @@ -0,0 +1,194 @@ +input.focus { + background-color: #FFF; + border-bottom: 2px dashed #993300; +} + +input.unfocus { + background-color : #FFF; +} + +div.sco_head { + font-weight: bold; + width: 75%; + margin: 15px auto; + padding-left: 10px; +} + +div#sco_main { + text-align: center; + } +div#newcheckout { +/* margin : 20px 30px; +/* text-align: center; +*/ padding: 10px 10px 10px 40px; +/* width: 80%; +/* min-width: 300px; +*/ } + +div#checkout h3 { +/* background: url(/opac-tmpl/npl/en/sco/images/checkout-top-right.gif) top right no-repeat; +/* border : 1px solid yellow;*/ + font-size:1.3em; + padding: 15px 15px 0px 15px; + margin:0; + } + +div#borrowerdetails { + margin: 10px 5px 5px 5px; + } + +div#borrowerdetails h2 { + font-style: italic; + border-bottom: 1px; + border-color: red; + margin: 5px; + } + +.submit { + font-size: smaller; + } + +.sco_entry { + background-color : #FFE; + text-align: left; + width : 75%; + margin: 15px auto;!important + padding: 10px; + border : 2px solid #CC3333; +} + +p.checkout { +/* background: url(/opac-tmpl/npl/en/sco/images/checkout-right.gif) top right repeat-y; +/* border : 1px solid lime;*/ + margin: 5px; + padding: 5px 15px; + text-align: center; + } + +div#checkouthelp p { + text-align: center; + +} +div#checkoutfooter { +/* background: url(/opac-tmpl/npl/en/sco/images/checkout-bottom-left.gif) bottom left no-repeat; +*/ border-top : 1px solid red; + } +div#footerbody { +/* background: url(/opac-tmpl/npl/en/sco/images/checkout-bottom-right.gif) bottom right no-repeat; +*/ padding:15px; + display:block; + margin: -1.1em 0 0 0; + } + + input.confirm { + background-color: #009900; + color : #FFFFCC; + font-weight: bold; +} + +input.reject { + background-color: #CC3333; + color : #FFFFCC; + font-weight: bold; +} + +div.sco_head p.alert { + width: 50%; + font-weight: bold; + background-color : #FFFF99; + font-size : 105%; + margin: 5px auto; + margin-bottom : 15px; + padding: 5px; + border :1px solid #CC3333; + } +p.alert a{ + font-weight: bold; +} +div.error { + background-color : #FFFF99; + font-size : 105%; +/* width : 50%; +*/ margin: 5px auto; + margin-bottom : 15px; + padding: 5px; + border : 2px dashed #CC3333; +} + +div.error h3 { + color: #CC3333; + font-size : 110%; + padding-left : 63px; + height : 46px; +} + +div.error p { + margin-top : 0px; + margin-left : 10px; +} + +div#footerbody p { + background-color : #EFF1DC; + font-size : 80%; + width : 60%; + margin: 5px auto; + padding: 3px; + border : 1px dashed #CCCC99; + text-align: center; +} + +div#complete { + float : right; + border : 0px solid lime; +} + +div#complete input { + background-color : #009900; + color : #FEEDDB; + font-family : verdana,arial,hevetica; + font-size : small; + font-weight : bold; + margin: 0; + padding : 2px 32px 2px 2px; +} + +div#abort { + margin: 5px auto; + border : 0; + text-align : center; +} + +div#abort input, .warning input { + background-color : #993300; + color : #FEEDDB; + font-family : verdana,arial,hevetica; + font-size : small; + font-weight : bold; + margin: 0; + padding : 2px 32px 2px 2px; +} + +.warning-header { + display : block; + color: #CC3333; + font-size : 110%; +} + +input.back { + background-color : #936; + color : #ffffcc; + font-family : verdana,arial,hevetica; + font-size : small; + font-weight : bold; + margin: 0; + padding : 2px 2px 2px 32px; +} + +p.checkout .warning { + display : block; + padding : 15px; + margin : 10px; + margin-bottom : 15px; + background-color : #FFFFCC; + border : 3px dashed #cc0000; +} diff --git a/koha-tmpl/opac-tmpl/prog/en/js/sco.js b/koha-tmpl/opac-tmpl/prog/en/js/sco.js new file mode 100644 index 0000000000..48ade88bbf --- /dev/null +++ b/koha-tmpl/opac-tmpl/prog/en/js/sco.js @@ -0,0 +1,28 @@ + +function focusOnFirst(){ + +} + +function sco_init(valid_session) { +if (valid_session == 1) { + setTimeout("location.href='/cgi-bin/koha/sco/sco-main.pl?op=logout';",120000); +} + +if(document.forms['mainform']){ + document.forms['mainform'].elements[0].focus(); + } +} + + +function confirmDelete(message) { + var agree = confirm(message); + if(agree) { + return true; + } else { + return false; + } +} + +function Dopop(link) { + newin=window.open(link,'popup','width=500,height=400,toolbar=false,scrollbars=yes'); + } diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/sco/circulation.tmpl b/koha-tmpl/opac-tmpl/prog/en/modules/sco/circulation.tmpl new file mode 100644 index 0000000000..0be3fba82c --- /dev/null +++ b/koha-tmpl/opac-tmpl/prog/en/modules/sco/circulation.tmpl @@ -0,0 +1,141 @@ + + + +LibLime Virtual Library Self Checkout + +/css/sco.css" /> + + + + +

Self Checkout System

+ +
+
+ +

Sorry, checkout cannot proceed

+There is a problem with your account. Please ask for help at the circulation desk. +
+
+
+ + + + + +
+

Issuing Question

+

Attempting to issue + by to .

+

" />" />" />" />" />" />" />" />">" value="" />
+ +
" />" />" />" />" />" />" />" />" />" value="" />
+
+ + + +
+

Error Issuing Book

+ +
+ + + +
+

No borrower matched

+
+ + + + +
+
+
+
+

Checking out to ()

+ " />" />" />" /> + +
+ + + + +
+ + + + + + + + + + + + --> + + + + + +
Today's Issues
TitleAuthorCall No.Due Date
/images/.gif" align="left" title="" alt="" />
+ + + + + + + + + + + + --> + + + + +
Previous Issues
TitleAuthorCall No.Due Date
/images/.gif" align="left" title="" alt="" />  
+
+ + + diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/sco/help.tmpl b/koha-tmpl/opac-tmpl/prog/en/modules/sco/help.tmpl new file mode 100644 index 0000000000..7d3ba64b3c --- /dev/null +++ b/koha-tmpl/opac-tmpl/prog/en/modules/sco/help.tmpl @@ -0,0 +1,31 @@ + -- Self Checkout + + + + +
+ +
+

Self Checkout Help

+ +

If this is your first time using the self checkout system, or if the system +is not behaving as expected, you may want to refer to this guide to get +yourself started.

+ +

Step One: Enter your user id

+

Enter your User ID, and click the submit button (or press the enter key).

+ +

Step Two: Scan the barcode for each item, one at a time

+

Scan each item and wait for the page to reload before scanning the next item. +The checked-out item should appear in your issues list. +The Submit button only needs to be clicked if you enter the barcode manually.

+ +

Step Three: Click the 'Click here if done' link when done.

+ +
+
+ + + diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/sco/receipt.tmpl b/koha-tmpl/opac-tmpl/prog/en/modules/sco/receipt.tmpl new file mode 100644 index 0000000000..2676d71b0b --- /dev/null +++ b/koha-tmpl/opac-tmpl/prog/en/modules/sco/receipt.tmpl @@ -0,0 +1,53 @@ + + + + + RECEIPT + + + + + + + + +

+
+ + +
+

Today's issues

+
+
+
+
+
+ + + + + + + + + diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/sco/sco-circ.tmpl b/koha-tmpl/opac-tmpl/prog/en/modules/sco/sco-circ.tmpl new file mode 100644 index 0000000000..4982396646 --- /dev/null +++ b/koha-tmpl/opac-tmpl/prog/en/modules/sco/sco-circ.tmpl @@ -0,0 +1,109 @@ + + + +LibLime Virtual Library Self Checkout + +/css/sco.css" /> + + + + + +

Self Checkout System

+ +
+
+ +

Sorry, checkout cannot proceed

+There is a problem with your account. Please ask for help at the circulation desk. +
+
+
+ + + +
+

Warning:

+

Attempting to issue
+ to .

+

+
+ " /> + " /> + + +
+
+ + + +
+

Error Issuing Book

+ +
+ + + +
+

No borrower matched

+
+ + + +
+
+
+
+
+

Checking out to ()

+ + + +" /> +
+ + + +
+ +
+ + + + + + + + + + + +
Issues ( total)
TitleCall No.DueRenewFines
/images/.gif" alt="" title="" /> ">.01.THUMBZZZ.jpg" alt="Book Cover Image" class="thumbnail" /> "> + + +&bornum=">Renew + +Not renewable +YesNo
+
+
+ +
+ + + diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/sco/sco-main.tmpl b/koha-tmpl/opac-tmpl/prog/en/modules/sco/sco-main.tmpl new file mode 100644 index 0000000000..08a7297b4d --- /dev/null +++ b/koha-tmpl/opac-tmpl/prog/en/modules/sco/sco-main.tmpl @@ -0,0 +1,143 @@ + -- Self Checkout + +/css/sco.css" /> + onload="openWindow('')" onload="sco_init(1);"> +
+

<!-- TMPL_VAR NAME=" src="" /> + Self Checkout System

+
+
+
+ + +

Item cannot be issued.

Sorry, This item cannot be checked out at this station.

+

Title:

+

Error type:

+
+ + + + + + + +
+ + +

Please confirm the issue:

+

+
+ + + + + + + + + name="confirm" class="submit" onclick="this.form.confirmed.value='1';this.form.submit();" /> + + +
+ + +

Access Denied

+Sorry, This Self-Checkout Station has lost authentication. Please contact the administrator to resolve this problem.
+ + +

Session timed out

Sorry, your session has timed out, please login again.
+

Session Lost

You are accessing koha from a different ip address! please login again.
+ +

Record not found

Your Userid was not found in the database. Please try again.

+ + + +
+
+ +

Self Checkout

+ +
+

HELP with the self checkoutsystem

+
+ + + +

You are logged in as .

+ +
+ +

Sorry

The userid was not found in the database. Please try again.

+
+ + + +

Sorry

Your session has timed out due to inactivity. Please sign in.

+
+ + +
+
+

+ + " value=""> + +

+
+ + +
+
.')){ this.op.value='logout'; this.userid.value=''; } return true;}; " > +

Check out or return an item:

+ + + + " /> + + +
+

Scan next item, or

+
+
+ +
+

Issues for

+ +
+ + + + + + + + + + + +
Issues ( total)
TitleCall No.DueRenewFines
/images/.gif" alt="" title="" /> ">.01.THUMBZZZ.jpg" alt="Book Cover Image" class="thumbnail" /> "> + + + &bornum=">Renew + + Not renewable + YesNo
+
+ +

You currently have nothing checked out.

+ +
+ + + +
+ +
+ +
+ + + + + + diff --git a/koha-tmpl/opac-tmpl/prog/images/alert.gif b/koha-tmpl/opac-tmpl/prog/images/alert.gif new file mode 100644 index 0000000000000000000000000000000000000000..0aaeb36b4784aa5c48653133ba50d85ba9b69f21 GIT binary patch literal 605 zcmV-j0;2s#Nk%w1VKo3Q0M$PL%$ZI2@s8H5T)~7r0002VlSt>!b%=;k)vH?Dw_~J9 z5c>6!wrwk(JqNsbG?|%PySs3(VIr(q9sd27^XG@ZfI9B(kG*>~@#2H@>4~2|37a?s zL_{g0Mh?DxIJj{yv126N-G!>EX7}!l!i7Ek`<7;AJ*!t6p+pV3buq?`M6X^T%9Tpv z$Z+M#apui)@8E*aqEpC`M&G_@_3Vq9H3H1cdg#%2!-hWL!))5MVW2?^ty~|OGXVep zng9QpA^8LW002J#EC2ui05t$E000L6z@KnPEEFs)+F;&-7z#2V+S{msIe1#rk4$Vs@J_`yx2z*U6C~-cE2|YZ9OcgyTitDlJBlG>M*aO z2oWXmwXnjkqz?-gYzEvzg`mxPpMeG?j1pjwfu9ykn8;Z&;uJ|AfMO#6vSdaXQ8)r! zN1&a}8$CurAqmt+h!AB{I%$NWW!bX$ayaoo=&jvFF?x__vYC>n+1pxp%Z4er5 literal 0 HcmV?d00001 diff --git a/koha-tmpl/opac-tmpl/prog/images/back.gif b/koha-tmpl/opac-tmpl/prog/images/back.gif new file mode 100644 index 0000000000000000000000000000000000000000..5c11f61598aafe24de1919319a4bac3ebd5ac2a8 GIT binary patch literal 175 zcmZ?wbhEHblw*)%Sj56`=6@PP+Drx@m}$%~6U+c{7!-f9FfuT(FzA3dAhit4B_6x( z{4+Sk$-37&!iV)n%oE;(7d=aUE?Dwx-})nb4!QTsZk};||9@YD9y5bf|Dn*2CwTZO zeUm3K_A)K+TJ^R4EZerT>%@CxgjnK@uGjdjW=~o*TV{GO^N&4p=g;j(Y|xXzO!dvH&N8H2`T^Ko9@` literal 0 HcmV?d00001 diff --git a/koha-tmpl/opac-tmpl/prog/images/checkout-bottom-left.gif b/koha-tmpl/opac-tmpl/prog/images/checkout-bottom-left.gif new file mode 100644 index 0000000000000000000000000000000000000000..0ae44aa8f13bc0b12f858113a7813413fbf505a7 GIT binary patch literal 1007 zcmV#z zZYg?t8c$Cyii#j#UkxWGEQ5m`SXeG>XqB^)F_V+Fxr=I)f4{_(q_2mAtdJBvJui-q z7ez%el9Dfsj1e?6DPCGynv9~Se=v)StFnj{K0YjjgjQ@>8A?hle||z(OLBi>k(_y| zuZ1Xic@HiwBWP$dnVHPYnE(I)0000000000000000000000000000000000000000 z00000A^8LV00000EC2ui0DJ;h000L6z*uY`D;kf;q;kn@I-k&}bV{vSuh^`1%k6r< z;IMd1E}M-);(5((yWjA*d`_?1@9Q*v&+q&HfPsR8gkO4vh>41ejE#xVgH!TeiHvz`??@zQe}H$jOk! z%FWKt&~nVt)YaD4Rnyqp+}+gL-r?foyWr&K=;@~B>h13DkL>XC^!0r5_WAnzX88R7 z00U+lBCw#rgI4?@T*%O#!iEqdqI)Q@qD5>JFKXPVEF;H{AbEKVNwOrYktS2B6oqo7 z%a@i~!kkG{k<6MnbNacdv!_r0X#{@?9g2u2(W6MY7){Ewsg$Koqe?{rb*fdTRj+D2 znsuvJpIyI-tr>Q#S(jzcsx6szty_+5-^#5RcdlKAb?@pen0K#VetrK6t`~T)VRwZO zD?XQav14zIA4|R#d9r0_l`m^fmU**hVVysVE*EsPX~3mVt0tU!wQIz!U(043d$w)J zwQuXDoO`!#%)NgL=Nx>vanQw&D<`dHxpU;rpGzk_VY+o)LNZ+6PD@A#?%+?x7;z!I z`BXv-SUAsqln??bFtnfVNk|M25=hYBf5|?90wA!!-+;^5*MSQMoX`S+4BBKL0tPG) zfd(q9AVLKVW(bIVLLfl@0R%8GP{IcNCL^Be;X8_fCC4hz<~f%R%zvxSZ1l^mRxq}<(FWFDdw1D zmTBghXr`&=nryb|=9_TFDd(JYvbiLO1Q^hO2?YS)=bwNED(Iku7Ha6Bh$gD&qKr1` z=%bKED(R$@R%+>`m}aW!rkr-_>7{puD(a}DmTKy$sHUpws;su^>Z`EED(kGY)@tjm zxaO+suDtf@>#x8DE9|hu7HjOW$R?}ovdlK??6c5DEA6z@R%`9G*k-Hkw%m5>?YH2D dEAF`DmTT_0=%%X-?z-%@>+ZYo#%o^?06W-v@!0?X literal 0 HcmV?d00001 diff --git a/koha-tmpl/opac-tmpl/prog/images/checkout-bottom-right.gif b/koha-tmpl/opac-tmpl/prog/images/checkout-bottom-right.gif new file mode 100644 index 0000000000000000000000000000000000000000..eb462ef1fe64cb1866605b13020bd0bd6a33af18 GIT binary patch literal 502 zcmVXlPq%R(FMJF_Mxg zdU`L6j4q3d6FNG!xr;4^hErovjFxpIZEX!FCq-ONl%9GVR8%a5g)^C%%*>ep00000 z00000A^8LV00000EC2ui022UL000L6K%Q_&6ykEaopM)f@{Y-+vj|->r^BigYeZVP z-KY}$^lrJ@F*toio7HY{8_Oow*YElC9{=Lyc6ot-e|~*ubb^J5dy0o}iG+`OPJEGu zmyDH;nUIZ=os>JL@Ns7LN^aG-X|IcFWxE*H3HlW9UK7w z*cM=bA;N_fSS3(wP%r=>tpzhoAaFo|#lb5v7*w#3Awh!&Ed&&}NPvJ14+#)J2$5n$ sgpn5y8~`D~fq@AFJ~+I%BY@8n0T)OJ*vYe~(W6L{DqYI7DbFAPJDv;4ZU6uP literal 0 HcmV?d00001 diff --git a/koha-tmpl/opac-tmpl/prog/images/checkout-right.gif b/koha-tmpl/opac-tmpl/prog/images/checkout-right.gif new file mode 100644 index 0000000000000000000000000000000000000000..f97725f101388a5ce177195a3fc658a13a34a077 GIT binary patch literal 104 zcmZ?wbhEHb6lM@$Sj51f)7m;^UX@Hpi1EysXU@!IfC0syEMTS%hyt<)lYl$K>Cf+7{Jpa{K)DyU(V7R$*YU1_1n7Bjx}A literal 0 HcmV?d00001 diff --git a/koha-tmpl/opac-tmpl/prog/images/checkout-top-left.gif b/koha-tmpl/opac-tmpl/prog/images/checkout-top-left.gif new file mode 100644 index 0000000000000000000000000000000000000000..f7c6d27da678daeea5baf6ec2679a03e4f239431 GIT binary patch literal 2094 zcmV+}2+{XPNk%w1VSEDk0mJ|RGntv5xRX4bnKhc3g|wJ*u9;`5nYhK7vBR02xs_X{ znX18=ufmyxw3)xinVq+km$;Uwz?qx8nO>)v%*>ep0000000000000000000000000 z000000000000000A^8LV00000EC2ui0DJ=Y0RRR6ARvxpX`X1Ru59bRa4gSsZQppV z?|kq7z@TtQEEB2!;L4XUV-h+kv!>0PZ)oD&$@8Yp zoC;b5qh4)PHS5?;*hJ9$r;fHv5 z2;zuyh)CjzZkUMTifO3G;)`Us2qTL!&WK`-Hj;>Ajv(&HBZofzh+&XIQb=Tx5FUvn zgGw%mV3SS~2xXK2PDv$yR$hr;mRi!sWtZ@M2_}1Dj)`8GW|D_yn&7R;CU zQb%W<(A|kAb9(NHT%Udt2WX(c4N53)h8~JrqKeYSXrr(_3Mp%nPKsKkmXd~Prl4)g zDQBL3idm?lQbua2ke!MuW2&y&n1Zf4*=nqV%}Q%zu-+=9t-A8XYp<2%3apL44m($| z#%3mLvNSHs?2XPot7Ej%_DF62wLo5r?U34TYh<_HCJAo1OpZ(Lljfc)WxDEC$!@z? zz6|sh%<`o!zpQD@GIvUI&7j_l^Qb!SY--OwrwVk? ztPV}|tA!ms9d+j^Lj(aw`@1EZ6 zzSq=y@X-uUe0#tjpIh?Et7Lrh$2<=`NX$=9lJwU9f_?U8RnPs^sej*@_u^-?efhYY zkG?GGuiqc}?xziZ{A`C$zgF$vAK?7@H^qPd2FV`)M$dm#yFhL7^ z;87eXK}%4uf-H$327_|J4Mw7a9()7{L)eHBlCVMuJYhRbsKS|~u!ZViAq)c{!x{de zhBoZb3v&p&9rAE?8vLR2d?-Y1;IN2yI3g13pu{DXh=@*M=kd8ihrbH zAfq@)Cl+#vheTo`i?~Q3Hu8s$GVwexlFWL-Q} zH_y}6lXUkCT|Pax&&~A{bN{SdKqWWO#}$-u2Tfc;4Y$z2H570U?OR0kHqpCPlx`P| zTSncs(Y1B|6m1_ZTS&z=(yx`2YbVWGO0BliskIbpFKt>(l{V9()s$#A4O&ipw$q*U z6lXuJSx{v*)Rz^NWk*d}Qcbqhku?=$PwiM#H8$0YRh42_jaXJ4w$+7o6=7d3SXc!% z)_;|iUuVr%TJ5#gd9@W@Z*5mx)iu|1)shwbyO+6V>TYAv7fI(WQhImQ-SM)oz3zP!_>-|xF zd9>dg^_N)iy)P^NJ0k+a$iOc`aI@?yU!IKkbr@P2 z-tas=d?FH0E5ssx$AweO2@{XV#nwVGi@PJ^8Jh#fAHs3AYHVY2=y*dv<`$28+`}Og Y8Hh)gpOKSn#1%7Hgid~PBSHWGJGEOGjsO4v literal 0 HcmV?d00001 diff --git a/koha-tmpl/opac-tmpl/prog/images/checkout-top-right.gif b/koha-tmpl/opac-tmpl/prog/images/checkout-top-right.gif new file mode 100644 index 0000000000000000000000000000000000000000..a456e654f05bbe74f983db9ffe968b9c61634b82 GIT binary patch literal 870 zcmZ?wbhEHb6lQqAc$I;{X!>-$?(V7csubemWkN%ZCQZ_9Z#SGgS+}tvXHMJfol{pG zoSD9I#*U*i_Z^<1lABvKu~e(JcIy0UgNYM+XIDlqo4Iu7q>YDWSkIbnHGPVHPft)& z$-4bhWg{Y5w#<|X3DIe7oieY=c;?JAXJ#_c04V-s0h_7=B0+v)VEgYdvA{z|s{h22 zAPXr|v3aK^-CPqVae7tRk^?H+qx{%7uSIbk-(*&3uxd3Q%Yq;4@=U(`;t-n2|5aIp zU)ZHVh?%jqib722rccS5y&!eb%z1N^8kWwTI)B;P6|2^* zS-5%StZkb%?%2J2al-2D`_^yWyJ3Iy!Cfb!PVG4pdhYO+B|Fa_xq9sA1>Z}@ZydOG z`Oy6<4{zPPqkQl7gOiV*K6(4>{fp4& z`T42O|G5^G&r)`7e!6LqN3+!4WhO8E7x^x>ds|ujDqxkvTCTghO6~-%jNe+;E51!9 zc%$FhD%;i5bZ&3Ye!Oey>-D*@JBmNwTUvb~FMdz;*MCo?FXbm5Xl9jH)45!be56~{ zKJCrr!qgL!RpXb%TrEmJGuyQO*_^AznHLtj&R63V)s48aI&{04t#n!LwTS%F=g$6K zmA@`C_dDA^sqgPMHcnO#lbczY_I%;O<aVzkhz*__$oZ=6~()zl=NPmE9HnF}LxdqQ$(Xr-l{tnm>Fr zSE&8P86n@uo;G7a8+Xx-<^}EiO%f05CGs+o+STi3Bz0)_NhEY?99yxdN9WRuM=d`W zKEK~B@+u>-)!>{)O0V<1io||_cO8pc+@H;O(r?G+`DBV4Q|FQnFSC~pG}Wz%S@Y<(d4RoQ2fcl$iTqDpabH9)G{zn_Skjj zpTVi0Eqf(`)tdg#V`VtBtt3H#>2QGCd(L&a(&6T-`bul9nI`ERd395zsd2&rZmIs| zK0%RLV!b;je)HO77dz+mY;`7E^w0rMr=#Ao-0PhRGrvvQTg+I1T@32`!50{}ou BQf~kN literal 0 HcmV?d00001 diff --git a/opac/sco/abort.pl b/opac/sco/abort.pl new file mode 100755 index 0000000000..45d9788b65 --- /dev/null +++ b/opac/sco/abort.pl @@ -0,0 +1,38 @@ +#!/usr/bin/perl +# Please use 8-character tabs for this file (indents are every 4 characters) + +# Copyright 2000-2002 Katipo Communications +# +# This file is part of Koha. +# +# Koha is free software; you can redistribute it and/or modify it under the +# terms of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# +# Koha is distributed in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR +# A PARTICULAR PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along with +# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place, +# Suite 330, Boston, MA 02111-1307 USA + +use strict; +use CGI; +use C4::Output; +use C4::Auth; +use HTML::Template; + + +my $query = new CGI; +my ($template, $loggedinuser, $cookie) + = get_template_and_user({template_name => 'sco/abort.tmpl', + query => $query, + type => "opac", + authnotrequired => 0, + flagsrequired => {borrow => 1}, + + }); + +output_html_with_http_headers $query, $cookie, $template->output; diff --git a/opac/sco/help.pl b/opac/sco/help.pl new file mode 100755 index 0000000000..2e65045638 --- /dev/null +++ b/opac/sco/help.pl @@ -0,0 +1,28 @@ +#!/usr/bin/perl +# This code has been modified by Trendsetters (originally from circulation.pl) +use strict; +use CGI; + +use C4::Auth; +use C4::Output; +use HTML::Template; + +# begin code modifed by dan +my $query = new CGI; +my ($template, $borrowernumber, $cookie) +#Begin code modified by Christina Lee +# function comes from C4::Auth + = get_template_and_user({template_name => "sco/help.tmpl", +#End code modified by Christina Lee + query => $query, + type => "opac", + authnotrequired => 1, + flagsrequired => {borrow => 1}, + debug => 1, + }); +# end code modified by dan + + +# function comes from C4::Interface::CGI::Output +output_html_with_http_headers $query, $cookie, $template->output; + diff --git a/opac/sco/printer.pl b/opac/sco/printer.pl new file mode 100755 index 0000000000..4da12614cb --- /dev/null +++ b/opac/sco/printer.pl @@ -0,0 +1,594 @@ +#!/usr/bin/perl +#this code has been modified (slightly) by Trendsetters (originally from circulation.pl) +# Please use 8-character tabs for this file (indents are every 4 characters) + +#written 8/5/2002 by Finlay +#script to execute issuing of books + + +# Copyright 2000-2002 Katipo Communications +# +# This file is part of Koha. +# +# Koha is free software; you can redistribute it and/or modify it under the +# terms of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# +# Koha is distributed in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR +# A PARTICULAR PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along with +# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place, +# Suite 330, Boston, MA 02111-1307 USA + +use strict; +use CGI; +use C4::Circulation; +use C4::Search; +use C4::Output; +use C4::Print; +use DBI; +use C4::Authsco; +use C4::Output; +use C4::Koha; +use HTML::Template; +use C4::Date; + +my $query=new CGI; +#my ($loggedinuser, $sessioncookie, $sessionID) = checkauth +# ($query, 0, { circulate => 1 }); + +my ($template, $loggedinuser, $cookie) = get_template_and_user + ({ +#Begin code modified by Christina Lee + template_name => 'sco/receipt.tmpl', + query => $query, + type => "opac", + authnotrequired => 0, + flagsrequired => { borrow => 1 }, +# End Code Modified by Christina Lee + }); + +#Begin code by Christina Lee--Sets variable $borr equal to loggedinuser's data +my ($borr, $flags) = getpatroninformation(undef, $loggedinuser); +# End code by Christina Lee + +my %env; +my $linecolor1='#339999'; +my $linecolor2='white'; + +my $branches = getbranches(); +my $printers = getprinters(\%env); + +my $branch = "APL"; #getbranch($query, $branches); +my $printer = getprinter($query, $printers); + + +#set up cookie..... +my $branchcookie; +my $printercookie; +if ($query->param('setcookies')) { + $branchcookie = $query->cookie(-name=>'branch', -value=>"$branch", -expires=>'+1y'); + $printercookie = $query->cookie(-name=>'printer', -value=>"$printer", -expires=>'+1y'); +} + +$env{'branchcode'}=$branch; +$env{'printer'}=$printer; +$env{'queue'}=$printer; + +my @datearr = localtime(time()); +# FIXME - Could just use POSIX::strftime("%Y%m%d", localtime); +my $todaysdate = (1900+$datearr[5]).sprintf ("%0.2d", ($datearr[4]+1)).sprintf ("%0.2d", ($datearr[3])); +#warn $todaysdate; + +################# Start code modified by Christina Lee########################### +# get borrower information .... +#my ($borr, $flags) = getpatroninformation(undef, $loggedinusername); +#my @bordat; +#$bordat[0] = $borr; + +#$template->param(BORROWER_INFO => \@bordat); + + + + +######################End code modified by christina Lee############################ + +my $message; +my $borrowerslist; +# if there is a list of find borrowers.... +my $findborrower = $query->param('findborrower'); +if ($findborrower) { + my ($count,$borrowers)=BornameSearch(\%env,$findborrower,'web'); + my @borrowers=@$borrowers; + if ($#borrowers == -1) { + $query->param('findborrower', ''); + $message = "'$findborrower'"; + } elsif ($#borrowers == 0) { + $query->param('borrnumber', $borrowers[0]->{'borrowernumber'}); + $query->param('barcode',''); + } else { + $borrowerslist = \@borrowers; + } +} + + +my $borrowernumber = $query->param('borrnumber'); +my $bornum = $query->param('borrnumber'); +# check and see if we should print +my $print=$query->param('print'); +my $barcode = $query->param('barcode'); +if ($barcode eq '' && $print eq 'maybe'){ + $print = 'yes'; +} +if ($print eq 'yes' && $borrowernumber ne ''){ + printslip(\%env,$borrowernumber); + $query->param('borrnumber',''); + $borrowernumber=''; +} + +# get the borrower information..... +my $borrower; +my $flags; +if ($borrowernumber) { + ($borrower, $flags) = getpatroninformation(\%env,$borrowernumber,0); +} + +# get the responses to any questions..... +my %responses; +foreach (sort $query->param) { + if ($_ =~ /response-(\d*)/) { + $responses{$1} = $query->param($_); + } +} +if (my $qnumber = $query->param('questionnumber')) { + $responses{$qnumber} = $query->param('answer'); +} + + + +my ($iteminformation, $duedate, $rejected, $question, $questionnumber, $defaultanswer); +#Begin code edited by Christina Lee +#my $barc = 123456789; +my $barc = cuecatbarcodedecode($barcode); + + +(my $year, my $month, my $day) = set_duedate($barc); +#End code edited by Christina Lee + +# if the barcode is set +if ($barcode) { + $barcode = cuecatbarcodedecode($barcode); + + + +#note: edit code here --Christina Lee + my ($datedue, $invalidduedate) = fixdate($year, $month, $day); + unless ($invalidduedate) { + $env{'datedue'}=$datedue; + my @time=localtime(time); + my $date= (1900+$time[5])."-".($time[4]+1)."-".$time[3]; + ($iteminformation, $duedate, $rejected, $question, $questionnumber, $defaultanswer, $message) + = issuebook(\%env, $borr, $barcode, \%responses, $date); + } +} + +# reload the borrower info for the sake of reseting the flags..... +if ($borrowernumber) { + ($borrower, $flags) = getpatroninformation(\%env,$borrowernumber,0); +} + +################################################################################## +# HTML code.... + +my %responseform; +my @responsearray; +foreach (keys %responses) { +# $responsesform.="\n"; + $responseform{'name'}=$_; + $responseform{'value'}=$responses{$_}; + push @responsearray,\%responseform; +} +my $questionform; +my $stickyduedate; +if ($question) { + $stickyduedate=$query->param('stickyduedate'); +} + + +# Barcode entry box, with hidden inputs attached.... + +# FIXME - How can we move this HTML into the template? Can we create +# arrays of the months, dates, etc and use in the template to +# output the data that's getting built here? +my $counter = 1; +my $dayoptions = ''; +my $monthoptions = ''; +my $yearoptions = ''; +for (my $i=1; $i<32; $i++) { + my $selected=''; + if (($query->param('stickyduedate')) && ($day==$i)) { + $selected='selected'; + } + $dayoptions.="