fixed typo
[koha.git] / newmember.pl
1 #!/usr/bin/perl
2
3 #script to print confirmation screen, then if accepted calls itself to insert data
4
5 use strict;
6 use C4::Output;
7 use C4::Input;
8 use CGI;
9 use Date::Manip;
10
11 my %env;
12 my $input = new CGI;
13 #get varibale that tells us whether to show confirmation page
14 #or insert data
15 my $insert=$input->param('insert');
16
17 #get rest of data
18 my %data;
19 my @names=$input->param;
20 foreach my $key (@names){                                                                                    
21   $data{$key}=$input->param($key);                                                                           
22 }  
23 print $input->header;
24 print startpage();
25 print startmenu('member');
26 my $main="#99cc33";
27 my $image="/images/background-mem.gif";
28 if ($insert eq ''){
29   my $ok=0;
30   #check that all compulsary fields are entered
31   my $string="The following compulsary fields have been left blank. Please push the back button
32   and try again<p>";
33   if ($data{'cardnumber'} eq ''){
34    
35      $string.=" Cardnumber<br>";
36     $ok=1;
37   } else {
38      #check cardnumber is valid
39      my $valid=checkdigit(\%env,$data{'cardnumber'});
40      if ($valid != 1){
41        $ok=1;
42        $string.=" Invalid Cardnumber<br>";
43      }
44   }
45   if ($data{'sex'} eq ''){
46     $string.=" Gender <br>";
47     $ok=1;
48   }
49   if ($data{'firstname'} eq ''){
50     $string.=" Given Names<br>";
51     $ok=1;
52   }
53   if ($data{'surname'} eq ''){
54     $string.=" Surname<br>";
55     $ok=1;
56   }
57   if ($data{'address'} eq ''){
58     $string.=" Postal Street Address<br>";
59     $ok=1;
60   }
61   if ($data{'city'} eq ''){
62     $string.=" Postal City<br>";
63     $ok=1;
64   }
65   if ($data{'contactname'} eq ''){
66     $string.=" Alternate Contact<br>";
67     $ok=1;
68   }
69   #we are printing confirmation page
70   print mkheadr(1,'Confirm Record');
71   if ($ok ==0){
72    print mktablehdr;
73    print mktablerow(2,$main,bold('NEW MEMBER'),"",$image);
74    my $name=$data{'title'}." ";
75    if ($data{'othernames'} ne ''){
76      $name.=$data{'othernames'}." ";
77    } else {
78      $name.=$data{'firstname'}." ";
79    }
80    $name.="$data{'surname'} ( $data{'firstname'}, $data{'initials'})";
81    print mktablerow(2,'white',bold('Name'),$name);
82    print mktablerow(2,$main,bold('MEMBERSHIP DETAILS'),"",$image);
83    print mktablerow(2,'white',bold('Membership Number'),$data{'borrowernumber'});
84    print mktablerow(2,'white',bold('Cardnumber'),$data{'cardnumber'});
85    print mktablerow(2,'white',bold('Membership Category'),$data{'categorycode'});
86    print mktablerow(2,'white',bold('Area'),$data{'area'});
87    print mktablerow(2,'white',bold('Fee'),$data{'fee'});
88    if ($data{'joining'} eq ''){
89      $data{'joining'}=ParseDate('today');
90      $data{'joining'}=&UnixDate($data{'joining'},'%Y-%m-%d');
91    }
92    print mktablerow(2,'white',bold('Joining Date'),$data{'joining'});
93    if ($data{'expiry'} eq ''){
94      $data{'expiry'}=ParseDate('in 1 year');
95      $data{'expiry'}=&UnixDate($data{'expiry'},'%Y-%m-%d');
96    }
97    print mktablerow(2,'white',bold('Expiry Date'),$data{'expiry'});
98    print mktablerow(2,'white',bold('Joining Branch'),$data{'joinbranch'});
99    print mktablerow(2,$main,bold('PERSONAL DETAILS'),"",$image);
100    my $ethnic=$data{'ethnicity'}." ".$data{'ethnicnotes'};
101    print mktablerow(2,'white',bold('Ethnicity'),$ethnic);
102    $data{'dateofbirth'}=ParseDate($data{'dateofbirth'});
103    $data{'dateofbirth'}=UnixDate($data{'dateofbirth'},'%Y-%m-%d');
104    print mktablerow(2,'white',bold('Date of Birth'),$data{'dateofbirth'});
105    my $sex;
106    if ($data{'sex'} eq 'M'){
107      $sex="Male";
108    } else {
109      $sex="Female";
110    }
111    print mktablerow(2,'white',bold('Sex'),$sex);
112    print mktablerow(2,$main,bold('MEMBER ADDRESS'),"",$image);
113    my $postal=$data{'address'}."<br>".$data{'city'};
114    my $home;
115    if ($data{'streetaddress'} ne ''){
116      $home=$data{'streetaddress'}."<br>".$data{'streetcity'};
117    } else {
118      $home=$postal;
119    }
120    print mktablerow(2,'white',bold('Postal Address'),$postal);
121    print mktablerow(2,'white',bold('Home Address'),$home);
122    print mktablerow(2,$main,bold('MEMBER CONTACT DETAILS'),"",$image);
123    print mktablerow(2,'white',bold('Phone (Home)'),$data{'phone'});
124    print mktablerow(2,'white',bold('Phone (Daytime)'),$data{'phoneday'});
125    print mktablerow(2,'white',bold('Fax'),$data{'faxnumber'});
126    print mktablerow(2,'white',bold('Email'),$data{'emailaddress'});
127    print mktablerow(2,$main,bold('ALTERNATIVE CONTACT DETAILS'),"",$image);
128    print mktablerow(2,'white',bold('Name'),$data{'contactname'});
129    print mktablerow(2,'white',bold('Phone'),$data{'altphone'});
130    print mktablerow(2,'white',bold('Relationship'),$data{'altrelationship'});
131    print mktablerow(2,'white',bold('Notes'),$data{'altnotes'});
132    print mktablerow(2,$main,bold('Notes'),"",$image);
133    print mktablerow(2,'white',bold('General Notes'),$data{'borrowernotes'});
134
135    print mktableft;
136    #set up form to post data thru for modification or insertion
137    my $i=0;
138    my @inputs;
139    while (my ($key, $value) = each %data) {
140      $value=~ s/\"/%22/g;
141      $inputs[$i]=["hidden","$key","$value"];       
142      $i++;
143    }
144    $inputs[$i]=["submit","submit","submit"];
145    print mkformnotable("/cgi-bin/koha/insertdata.pl",@inputs);
146   } else {
147     print $string;
148   }
149 }
150 #print $input->dump;
151
152 print mktablehdr;
153
154 print mktableft;
155 print endmenu('member');
156 print endpage();