Fixed a bug that was meaning some payments werent counted
[koha.git] / memberentry.pl
1 #!/usr/bin/perl
2
3 #script to set up screen for modification of borrower details
4 #written 20/12/99 by chris@katipo.co.nz
5
6 use strict;
7 use C4::Output;
8 use CGI;
9 use C4::Search;
10
11
12 my $input = new CGI;
13 my $member=$input->param('bornum');
14 if ($member eq ''){
15   $member=NewBorrowerNumber();
16 }
17 my $type=$input->param('type');
18
19 print $input->header;
20 print startpage();
21 print startmenu('member');
22
23 if ($type ne 'Add'){
24   print mkheadr(1,'Update Member Details');
25 } else {
26   print mkheadr(1,'Add New Member');
27 }
28 my $data=borrdata('',$member);
29 print <<printend
30 <form action=/cgi-bin/koha/newmember.pl method=post>
31 <input type=hidden name=joining value="$data->{'dateenrolled'}">
32 <input type=hidden name=expiry value="$data->{'expiry'}">
33 <input type=hidden name=type value="borrowers">
34 <input type=hidden name=borrowernumber value="$member">
35 printend
36 ;
37 if ($type eq 'Add'){
38   print "<input type=hidden name=updtype value=I>";
39 } else {
40   print "<input type=hidden name=updtype value=M>";
41 }
42 print <<printend
43
44 <table border=0 cellspacing=0 cellpadding=5 >
45
46
47 <tr valign=top><td  COLSPAN=2><input type=reset value="Clear all Fields"></td><td  COLSPAN=3   ALIGN=RIGHT ><font size=4 face='arial,helvetica'>
48 Member# $member,   Card Number* <input type=text name=cardnumber size=10 value="$data->{'cardnumber'}"><br>
49 </td></tr>
50
51
52 <tr valign=top  ><td  COLSPAN=3 background="/images/background-mem.gif">
53 <B>MEMBER PERSONAL DETAILS</b></td> <td  COLSPAN=2  ALIGN=RIGHT background="/images/background-mem.gif">
54 * <input type="radio" name="sex" value="F"
55 printend
56 ;
57 if ($data->{'sex'} eq 'F'){
58   print " checked";
59 }
60 print <<printend
61 >F  
62 <input type="radio" name="sex" value="M"
63 printend
64 ;
65 if ($data->{'sex'} eq 'M'){
66   print " checked";
67 }
68 print <<printend
69 >M
70 &nbsp; &nbsp;  <B>Date of Birth</B> (dd/mm/yy)
71 <input type=text name=dateofbirth size=10 value="$data->{'dateofbirth'}">
72 </td></tr>
73 <tr valign=top bgcolor=white>
74 <td><SELECT NAME="title" SIZE="1">
75 <OPTION value=" ">No Title
76 <OPTION value=Miss
77 printend
78 ;
79 if ($data->{'title'} eq 'Miss'){
80   print " Selected";
81 }
82 print ">Miss
83 <OPTION value=Mrs";
84 if ($data->{'title'} eq 'Mrs'){
85   print " Selected";
86 }
87 print ">Mrs
88 <OPTION value=Ms";
89 if ($data->{'title'} eq 'Ms'){
90   print " Selected";
91 }
92 print ">Ms
93 <OPTION value=Mr";
94 if ($data->{'title'} eq 'Mr'){
95   print " Selected";
96 }
97 print ">Mr
98 <OPTION value=Dr";
99 if ($data->{'title'} eq 'Dr'){
100   print " Selected";
101 }
102 print ">Dr
103 <OPTION value=Sir";
104 if ($data->{'title'} eq 'Sir'){
105   print " Selected";
106 }
107 print <<printend
108 >Sir
109 </SELECT>
110 </td>
111
112 <td><input type=text name=initials size=5 value="$data->{'initials'}"></td>
113 <td><input type=text name=firstname size=20 value="$data->{'firstname'}"></td>
114 <td><input type=text name=surname size=20 value="$data->{'surname'}"></td>
115 <td><input type=text name=othernames size=20 value="$data->{'othernames'}"></td></tr>
116 <tr valign=top bgcolor=white>
117 <td><FONT SIZE=2>Title</FONT></td>
118 <td><FONT SIZE=2>Initials</FONT></td>
119 <td><FONT SIZE=2>Given Names*</FONT></td>
120 <td><FONT SIZE=2>Surname*</FONT></td>
121 <td><FONT SIZE=2>Prefered Name</FONT></td>
122 </tr>
123
124 <tr><td>&nbsp; </TD></TR>
125 <tr valign=top bgcolor=white>
126 <td colspan=2><SELECT NAME="ethnicity" SIZE="1">
127 printend
128 ;
129 print "<OPTION value=\" \">
130 <OPTION value=european";
131 if ($data->{'ethnicity'} eq 'european'){
132   print " selected";
133 }
134 print "
135 >European/Pakeha
136 <OPTION value=maori";
137 if ($data->{'ethnicity'} eq 'maori'){
138   print " selected";
139 }
140 print ">Maori
141 <OPTION value=asian";
142 if ($data->{'ethnicity'} eq 'asian'){
143   print " selected";
144 }
145 print ">Asian
146 <OPTION value=pi";
147 if ($data->{'ethnicity'} eq 'pi'){
148   print " selected";
149 }
150 print ">Pacific Island
151 <OPTION value=other";
152 if ($data->{'ethnicity'} eq 'other'){
153   print " selected";
154 }
155
156 print <<printend
157 >Other - please specify-->
158 </SELECT>
159 </td>
160 <td colspan=2><input type=text name=ethnicnotes size=40 ></td>
161 <td> <select name=categorycode>
162 <option value="A"
163 printend
164 ;
165 if ($data->{'categorycode'} eq 'A'){
166   print " Selected";
167 }
168 print ">Adult
169 <option value=B";
170 if ($data->{'categorycode'} eq 'B'){
171   print " Selected";
172 }
173 print ">Homebound
174 <option value=P";
175 if ($data->{'categorycode'} eq 'P'){
176   print " Selected";
177 }
178 print ">Privileged
179 <option value=E";
180 if ($data->{'categorycode'} eq 'E'){
181   print " Selected";
182 }
183 print ">Senior Citizen
184 <option value=W";
185 if ($data->{'categorycode'} eq 'W'){
186   print " Selected";
187 }
188 print ">Staff
189 <option value=I";
190 if ($data->{'categorycode'} eq 'I'){
191   print " Selected";
192 }
193 print ">Institution
194 <option value=C";
195 if ($data->{'categorycode'} eq 'C'){
196   print " Selected";
197 }
198 print ">Child
199 <option value=L";
200 if ($data->{'categorycode'} eq 'L'){
201   print " Selected";
202 }
203 print ">Library
204 <option value=F";
205 if ($data->{'categorycode'} eq 'F'){
206   print " Selected";
207 }
208 print ">Family";
209 print <<printend
210 </select>
211 </td>
212 </tr>                                                                                                                                                                                                                                                                                                                                                                   
213 <tr valign=top bgcolor=white>
214 <td colspan=2><FONT SIZE=2>Ethnicity</FONT></td>
215 <td colspan=2><FONT SIZE=2>Ethnicity Notes</FONT></td>
216 <td><FONT SIZE=2>Membership Category*</FONT></td>
217 </tr>
218 <tr><td>&nbsp; </TD></TR>
219
220 <tr valign=top bgcolor="99cc33" ><td  COLSPAN=5 background="/images/background-mem.gif">
221 <B>MEMBER ADDRESS</b></td></tr>
222 <tr valign=top bgcolor=white>
223 <td  COLSPAN=3><input type=text name=address size=40 value="$data->{'streetaddress'}">
224 <td><input type=text name=city size=20 value="$data->{'city'}"></td>
225 <td>
226 <SELECT NAME="area" SIZE="1">
227 <OPTION value=L
228 printend
229 ;
230 if ($data->{'area'} eq 'L'){
231   print " Selected";
232 }
233 print ">L - Levin
234 <OPTION value=F";
235 if ($data->{'area'} eq 'F'){
236   print " Selected";
237 }
238 print ">F - Foxton
239 <OPTION value=S";
240 if ($data->{'area'} eq 'S'){
241   print " Selected";
242 }
243 print ">S - Shannon
244 <OPTION value=H";
245 if ($data->{'area'} eq 'H'){
246   print " Selected";
247 }
248 print ">H - Horowhenua
249 <OPTION value=K";
250 if ($data->{'area'} eq 'K'){
251   print " Selected";
252 }
253 print ">K - Kapiti
254 <OPTION value=O";
255 if ($data->{'area'} eq 'O'){
256   print " Selected";
257 }
258 print ">O - Out of District
259 <OPTION value=X";
260 if ($data->{'area'} eq 'X'){
261   print " Selected";
262 }
263 print ">X - Temporary Visitor
264 <OPTION value=Z";
265 if ($data->{'area'} eq 'Z'){
266   print " Selected";
267 }
268 print ">Z - Interloan Libraries
269 <OPTION value=V";
270 if ($data->{'area'} eq 'V'){
271   print " Selected";
272 }
273 print ">V - Villlage";
274 print <<printend
275 </SELECT></td></tr>
276 <tr valign=top bgcolor=white>
277 <td  COLSPAN=3><FONT SIZE=2>Postal Address*</FONT></td>
278 <td><FONT SIZE=2>Town*</FONT></td>
279 <td><FONT SIZE=2>Area</FONT></td>
280 </tr>
281 <tr><td>&nbsp; </TD></TR>
282 <tr valign=top bgcolor=white>
283
284 <td  COLSPAN=3><input type=text name=streetaddress size=40 value="$data->{'physstreet'}"></td>
285 <td><input type=text name=streetcity size=20 value="$data->{'streetcity'}"></td>
286 </tr>
287 </tr>
288 <tr valign=top bgcolor=white>
289
290 <td  COLSPAN=3><FONT SIZE=2>Street Address if different</FONT></td>
291 <td><FONT SIZE=2>Town</FONT></td>
292 </tr>
293 <tr><td>&nbsp; </TD></TR>
294 <tr valign=top bgcolor="99cc33"  ><td  COLSPAN=5  background="/images/background-mem.gif">
295 <B>MEMBER CONTACT DETAILS</b></td></tr>
296
297
298 <tr valign=top bgcolor=white>
299 <td   COLSPAN=2 ><input type=text name=phone size=20 value="$data->{'phone'}"></td>
300 <td><input type=text name=phoneday size=20 value="$data->{'phoneday'}"></td>
301 <td><input type=text name=faxnumber size=20 value="$data->{'faxnumber'}"></td>
302 <td><input type=text name=emailaddress size=20 value="$data->{'emailaddress'}"></td></tr>
303
304 <tr valign=top bgcolor=white>
305 <td   COLSPAN=2 ><FONT SIZE=2>Phone (Home)</td>
306 <td><FONT SIZE=2>Phone (day)</td>
307 <td><FONT SIZE=2>Fax</td>
308 <td><FONT SIZE=2>Email</td></tr>
309 <tr><td>&nbsp; </TD></TR>
310 <tr valign=top bgcolor="99cc33"  ><td  COLSPAN=5  background="/images/background-mem.gif">
311 <B>ALTERNATE CONTACT DETAILS</b> </td></tr>
312
313 <tr valign=top bgcolor=white>
314 <td   COLSPAN=3 ><input type=text name=contactname size=40 value="$data->{'contactname'}"></td>
315 <td><input type=text name=altphone size=20 value="$data->{'altphone'}"></td>
316 <td><select name=altrelationship size=1>
317 <option value="workplace"
318 printend
319 ;
320 if ($data->{'altrelationship'} eq 'workplace'){
321   print " selected ";
322 }
323
324 print ">Workplace
325 <option value=\"relative\"";
326 if ($data->{'altrelationship'} eq 'relative'){
327   print " selected ";
328 }
329 print ">Relative
330 <option value=\"friend\"";
331 if ($data->{'altrelationship'} eq 'workplace'){
332   print " selected ";
333 }
334 print ">Friend
335 <option value=\"neighbour\"";
336 if ($data->{'altrelationship'} eq 'workplace'){
337   print " selected ";
338 }
339 print <<printend
340 >Neighbour
341 </select></td></tr>
342
343 <tr valign=top bgcolor=white>
344 <td   COLSPAN=3 ><FONT SIZE=2>Name*</td>
345 <td><FONT SIZE=2>Phone</td>
346 <td><FONT SIZE=2>Relationship*</td></tr>
347
348
349
350 <tr><td>&nbsp; </TD></TR>
351
352
353 <tr valign=top bgcolor=white>
354
355 <td><FONT SIZE=2>Notes</font></td>
356 <td  COLSPAN=4><textarea name=altnotes wrap=physical cols=70 rows=3>$data->{'altnotes'}</textarea></td></tr>
357 </tr>
358
359
360 <tr><td>&nbsp; </TD></TR>
361
362
363 <tr valign=top bgcolor="99cc33"  >
364
365 <td  COLSPAN=5  background="/images/background-mem.gif"><B>LIBRARY USE</B></td>
366 </tr>
367
368
369 <tr valign=top >
370
371 <td><FONT SIZE=2>Notes</font></td>
372 <td  COLSPAN=4><textarea name=borrowernotes wrap=physical cols=70 rows=3>$data->{'borrowernotes'}</textarea></td></tr>
373 <tr><td>&nbsp; </TD></TR>
374 <tr valign=top bgcolor=white><td  COLSPAN=5 align=right >
375 printend
376 ;
377 if ($type ne 'modify'){
378   print <<printend
379 <input type=image src="/images/save-changes.gif"  WIDTH=188  HEIGHT=44  ALT="Add New Member" border=0 ></td>
380 printend
381 ;
382 } else {
383 print <<printend
384 <input type=image src="/images/save-changes.gif"  WIDTH=188  HEIGHT=44  ALT="Add New Member" border=0 ></td>
385 printend
386 ;
387 }
388 print <<printend
389 </tr>
390 </TABLE>
391 </table>
392                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         </form>
393                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
394                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
395
396 printend
397 ;
398 print endmenu('member');
399 print endpage();