diff --git a/C4/Members.pm b/C4/Members.pm index 560f1d4557..a510e4b1c5 100644 --- a/C4/Members.pm +++ b/C4/Members.pm @@ -99,13 +99,12 @@ sub modmember { my (%data) = @_; my $dbh = C4::Context->dbh; $data{'dateofbirth'}=format_date_in_iso($data{'dateofbirth'}); - $data{'joining'}=format_date_in_iso($data{'joining'}); $data{'expiry'}=format_date_in_iso($data{'expiry'}); my $query="update borrowers set title='$data{'title'}',expiry='$data{'expiry'}', cardnumber='$data{'cardnumber'}',sex='$data{'sex'}',ethnotes='$data{'ethnicnotes'}', streetaddress='$data{'streetaddress'}',faxnumber='$data{'faxnumber'}',firstname='$data{'firstname'}', altnotes='$data{'altnotes'}',dateofbirth='$data{'dateofbirth'}',contactname='$data{'contactname'}', - emailaddress='$data{'emailaddress'}',dateenrolled='$data{'joining'}',streetcity='$data{'streetcity'}', + emailaddress='$data{'emailaddress'}',streetcity='$data{'streetcity'}', altrelationship='$data{'altrelationship'}',othernames='$data{'othernames'}',phoneday='$data{'phoneday'}', categorycode='$data{'categorycode'}',city='$data{'city'}',area='$data{'area'}',phone='$data{'phone'}', borrowernotes='$data{'borrowernotes'}',altphone='$data{'altphone'}',surname='$data{'surname'}', @@ -130,7 +129,16 @@ sub newmember { my (%data) = @_; my $dbh = C4::Context->dbh; $data{'dateofbirth'}=format_date_in_iso($data{'dateofbirth'}); + $data{'joining'} = &ParseDate("today") unless $data{'joining'}; $data{'joining'}=format_date_in_iso($data{'joining'}); + # if expirydate is not set, calculate it from borrower category subscription duration + unless ($data{'expiry'}) { + my $sth = $dbh->prepare("select enrolmentperiod from categories where categorycode=?"); + $sth->execute($data{'categorycode'}); + my ($enrolmentperiod) = $sth->fetchrow; + $enrolmentperiod = 12 unless ($enrolmentperiod); + $data{'expiry'} = &DateCalc($data{'joining'},"$enrolmentperiod years"); + } $data{'expiry'}=format_date_in_iso($data{'expiry'}); # $data{'borrowernumber'}=NewBorrowerNumber(); my $query="insert into borrowers (title,expiry,cardnumber,sex,ethnotes,streetaddress,faxnumber, diff --git a/koha-tmpl/intranet-tmpl/default/en/members/memberentry.tmpl b/koha-tmpl/intranet-tmpl/default/en/members/memberentry.tmpl index 08ac0aae2a..b0ca6fff8a 100644 --- a/koha-tmpl/intranet-tmpl/default/en/members/memberentry.tmpl +++ b/koha-tmpl/intranet-tmpl/default/en/members/memberentry.tmpl @@ -39,8 +39,6 @@
- "> - "> "> "> @@ -237,6 +235,17 @@ LIBRARY USE + + + Joining date (leave blank for today) + "> + + Joining date + + + Expiry date (leave blank for auto calc) + "> + Borrower message (appears in OPAC) diff --git a/members/memberentry.pl b/members/memberentry.pl index 4a26f79199..d09cd88972 100755 --- a/members/memberentry.pl +++ b/members/memberentry.pl @@ -261,8 +261,8 @@ if ($delete){ flagloop => \@flagdata, relshiploop => \@relshipdata, "title_".$data->{'title'} => " SELECTED ", - dateenrolled => $data->{'dateenrolled'}, - expiry => $data->{'expiry'}, + joining => format_date($data->{'dateenrolled'}), + expiry => format_date($data->{'expiry'}), cardnumber => $cardnumber, dateofbirth => $data->{'dateofbirth'}, sort1 => $data->{'sort1'},