Browse Source

Som reorganization and recommiting memberentrygen.tmpl

Signed-off-by: Chris Cormack <crc@liblime.com>
3.0.x
Paul POULAIN 17 years ago
committed by Chris Cormack
parent
commit
7902f78491
  1. 99
      C4/Members.pm
  2. 575
      koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tmpl
  3. 105
      koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tmpl
  4. 843
      members/memberentry.pl

99
C4/Members.pm

@ -569,95 +569,41 @@ Modify borrower's data
sub ModMember {
my (%data) = @_;
my $dbh = C4::Context->dbh;
$data{'dateofbirth'} = format_date_in_iso( $data{'dateofbirth'} );
$data{'dateexpiry'} = format_date_in_iso( $data{'dateexpiry'} );
$data{'dateenrolled'} = format_date_in_iso( $data{'dateenrolled'} );
# warn "num user".$data{'borrowernumber'};
$data{'dateofbirth'} = format_date_in_iso( $data{'dateofbirth'} ) if ($data{'dateofbirth'} );
$data{'dateexpiry'} = format_date_in_iso( $data{'dateexpiry'} ) if ($data{'dateexpiry'} );
$data{'dateenrolled'} = format_date_in_iso( $data{'dateenrolled'} ) if ($data{'dateenrolled'} );
# warn Data::Dumper::Dumper(%data);
# warn "num user".$data{'borrowernumber'};
my $qborrower=$dbh->prepare("SHOW columns from borrowers");
$qborrower->execute;
my %hashborrowerfields;
while (my ($field)=$qborrower->fetchrow){
$hashborrowerfields{$field}=1;
}
my $query;
my $sth;
$data{'userid'} = '' if ( $data{'password'} eq '' );
my @parameters;
foreach (keys %data)
{push @parameters,"$_ = ".$dbh->quote($data{$_}) if ($_ ne "borrowernumber" and $hashborrowerfields{$_} and $data{$_})} ;
# test to know if u must update or not the borrower password
if ( $data{'password'} eq '****' ) {
$query = "UPDATE borrowers SET
cardnumber = ?,surname = ?,firstname = ?,title = ?,othernames = ?,initials = ?,
streetnumber = ?,streettype = ?,address = ?,address2 = ?,city = ?,zipcode = ?,
email = ?,phone = ?,mobile = ?,fax = ?,emailpro = ?,phonepro = ?,B_streetnumber = ?,
B_streettype = ?,B_address = ?,B_city = ?,B_zipcode = ?,B_email = ?,B_phone = ?,dateofbirth = ?,branchcode = ?,
categorycode = ?,dateenrolled = ?,dateexpiry = ?,gonenoaddress = ?,lost = ?,debarred = ?,contactname = ?,
contactfirstname = ?,contacttitle = ?,guarantorid = ?,borrowernotes = ?,relationship = ?,ethnicity = ?,
ethnotes = ?,sex = ?,userid = ?,opacnote = ?,contactnote = ?,sort1 = ?,sort2 = ?
WHERE borrowernumber=$data{'borrowernumber'}";
$query = "UPDATE borrowers SET ".join (",",@parameters)
." WHERE borrowernumber=$data{'borrowernumber'}";
# warn "$query";
$sth = $dbh->prepare($query);
$sth->execute(
$data{'cardnumber'}, $data{'surname'},
$data{'firstname'}, $data{'title'},
$data{'othernames'}, $data{'initials'},
$data{'streetnumber'}, $data{'streettype'},
$data{'address'}, $data{'address2'},
$data{'city'}, $data{'zipcode'},
$data{'email'}, $data{'phone'},
$data{'mobile'}, $data{'fax'},
$data{'emailpro'}, $data{'phonepro'},
$data{'B_streetnumber'}, $data{'B_streettype'},
$data{'B_address'}, $data{'B_city'},
$data{'B_zipcode'}, $data{'B_email'},
$data{'B_phone'}, $data{'dateofbirth'},
$data{'branchcode'}, $data{'categorycode'},
$data{'dateenrolled'}, $data{'dateexpiry'},
$data{'gonenoaddress'}, $data{'lost'},
$data{'debarred'}, $data{'contactname'},
$data{'contactfirstname'}, $data{'contacttitle'},
$data{'guarantorid'}, $data{'borrowernotes'},
$data{'relationship'}, $data{'ethnicity'},
$data{'ethnotes'}, $data{'sex'},
$data{'userid'}, $data{'opacnote'},
$data{'contactnote'}, $data{'sort1'},
$data{'sort2'}
);
$sth->execute;
}
else {
( $data{'password'} = md5_base64( $data{'password'} ) )
if ( $data{'password'} ne '' );
$query = "UPDATE borrowers SET
cardnumber = ?,surname = ?,firstname = ?,title = ?,othernames = ?,initials = ?,
streetnumber = ?,streettype = ?,address = ?,address2 = ?,city = ?,zipcode = ?,
email = ?,phone = ?,mobile = ?,fax = ?,emailpro = ?,phonepro = ?,B_streetnumber = ?,
B_streettype = ?,B_address = ?,B_city = ?,B_zipcode = ?,B_email = ?,B_phone = ?,dateofbirth = ?,branchcode = ?,
categorycode = ?,dateenrolled = ?,dateexpiry = ?,gonenoaddress = ?,lost = ?,debarred = ?,contactname = ?,
contactfirstname = ?,contacttitle = ?,guarantorid = ?,borrowernotes = ?,relationship = ?,ethnicity = ?,
ethnotes = ?,sex = ?,password = ?,userid = ?,opacnote = ?,contactnote = ?,sort1 = ?,sort2 = ?
WHERE borrowernumber=$data{'borrowernumber'}";
$query = "UPDATE borrowers SET ".join (",",@parameters)." WHERE borrowernumber=$data{'borrowernumber'}";
# warn "$query";
$sth = $dbh->prepare($query);
$sth->execute(
$data{'cardnumber'}, $data{'surname'},
$data{'firstname'}, $data{'title'},
$data{'othernames'}, $data{'initials'},
$data{'streetnumber'}, $data{'streettype'},
$data{'address'}, $data{'address2'},
$data{'city'}, $data{'zipcode'},
$data{'email'}, $data{'phone'},
$data{'mobile'}, $data{'fax'},
$data{'emailpro'}, $data{'phonepro'},
$data{'B_streetnumber'}, $data{'B_streettype'},
$data{'B_address'}, $data{'B_city'},
$data{'B_zipcode'}, $data{'B_email'},
$data{'B_phone'}, $data{'dateofbirth'},
$data{'branchcode'}, $data{'categorycode'},
$data{'dateenrolled'}, $data{'dateexpiry'},
$data{'gonenoaddress'}, $data{'lost'},
$data{'debarred'}, $data{'contactname'},
$data{'contactfirstname'}, $data{'contacttitle'},
$data{'guarantorid'}, $data{'borrowernotes'},
$data{'relationship'}, $data{'ethnicity'},
$data{'ethnotes'}, $data{'sex'},
$data{'password'}, $data{'userid'},
$data{'opacnote'}, $data{'contactnote'},
$data{'sort1'}, $data{'sort2'}
);
$sth->execute;
}
$sth->finish;
@ -674,6 +620,7 @@ sub ModMember {
if C4::Context->preference("BorrowersLog");
}
=head2
=item AddMember

575
koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tmpl

@ -0,0 +1,575 @@
<!-- TMPL_INCLUDE NAME="doc-head-open.inc" -->
<title>Koha &rsaquo;<!--TMPL_IF Name="I"--> Organisation <!--/TMPL_IF --><!--TMPL_IF Name="A"--> Adult <!--/TMPL_IF --><!--TMPL_IF Name="C"--> Child <!--/TMPL_IF --><!--TMPL_IF Name="P"--> Professional <!--/TMPL_IF --> Patron Management</title>
<script type="text/javascript" src="<!-- TMPL_VAR NAME='themelang' -->/js/members.js"></script>
<!-- TMPL_INCLUDE NAME="calendar.inc" -->
<!-- TMPL_INCLUDE NAME="doc-head-close.inc" -->
<!-- TMPL_INCLUDE NAME="menus.inc" -->
<!-- TMPL_INCLUDE NAME="menu-members.inc" -->
<!-- TMPL_IF NAME="opadd" -->
<h1>
Add<!--TMPL_IF Name="I"--> Organisation <!--/TMPL_IF --><!--TMPL_IF Name="A"--> Adult <!--/TMPL_IF --><!--TMPL_IF Name="C"--> Child <!--/TMPL_IF --><!--TMPL_IF Name="P"--> Professional <!--/TMPL_IF -->
patron <!-- TMPL_VAR NAME="surname" --> <!-- TMPL_VAR name="firstname" -->
</h1>
<!-- TMPL_ELSE -->
<h1 >
Modify<!--TMPL_IF Name="I"--> Organisation <!--/TMPL_IF --><!--TMPL_IF Name="A"--> Adult <!--/TMPL_IF --><!--TMPL_IF Name="C"--> Child <!--/TMPL_IF --><!--TMPL_IF Name="P"--> Professional <!--/TMPL_IF -->
patron <!-- TMPL_VAR NAME="surname" --> <!-- TMPL_VAR name="firstname" -->
</h1>
<!-- /TMPL_IF -->
<!-- TMPL_IF NAME="check_member" -->
<p>
<form name="form_double">
<div id="problem">
Duplicate suspected
<a href="javascript:Dopop('borrowers_details.pl?borrowernumber=<!--TMPL_VAR NAME="check_member"-->');" >Detail</a>
Duplicate ?
<a href="/cgi-bin/koha/members/memberentry.pl?borrowernumber=<!--TMPL_VAR NAME="check_member"-->&category_type=<!--TMPL_VAR NAME="check_categorytype"-->">Yes</a>
&nbsp;&nbsp;&nbsp; No, it is not
<!-- TMPL_IF NAME="checked"-->
<input type="checkbox" checked name="answernodouble" >
<!-- TMPL_ELSE -->
<input type="checkbox" name="answernodouble" >
<!-- /TMPL_IF -->
</div>
</form>
</p>
<!--/TMPL_IF-->
<!-- TMPL_IF Name="nok" -->
<div id="problem">
<p>The following fields are wrong. Please fix it/them</p>
<!-- TMPL_IF NAME="ERROR_login_exist" -->
<p>login/password already exist</p>
<!-- /TMPL_IF -->
<!-- TMPL_IF NAME="ERROR_cardnumber" -->
<p>Cardnumber already in use</p>
<!-- /TMPL_IF -->
<!-- TMPL_IF NAME="ERROR_age_limitations" -->
Patron is too young or too old for this category
<!-- /TMPL_IF -->
</div>
<!-- /TMPL_IF -->
<!--TMPL_IF Name="opadd"-->
<div id="tabs">
<a href="javascript:active(1)" class="tab_active" id="link1">Personal Information</a>
<a href="javascript:active(2)" class="tab_inactive" id="link2">Contacts</a>
<a href="javascript:active(3)" class="tab_inactive" id="link3">Library Management</a>
</div>
<script language="JavaScript" type="text/javascript">
function active(numlayer){
for (i=1; i <= 3 ; i++ ) {
var tab = document.getElementById('step'+i);
if (numlayer==i) {
tab.setAttribute("class","content_visible");
var tabactive=document.getElementById('link'+i);
tabactive.removeAttribute("class");
tabactive.setAttribute("class","tab_active");
} else {
tab.setAttribute("class","content_hidden");
try {
var tabactive=document.getElementById('link'+i);
tabactive.removeAttribute("class");
tabactive.setAttribute("class","tab_inactive");
}
catch(e){};
}
}
}
</script>
<!--/TMPL_IF-->
<form name="form" action="/cgi-bin/koha/members/memberentry.pl" method="post">
<!-- field always hidden in different form (1,2,3) -->
<input type="hidden" name="BorrowerMandatoryField" value="<!--TMPL_VAR NAME="BorrowerMandatoryField"-->">
<input type="hidden" name="category_type" value="<!-- TMPL_VAR name="category_type" -->">
<input type="hidden" name="step" value="<!-- TMPL_VAR NAME="step" -->">
<input type="hidden" name="updtype" value="<!-- TMPL_VAR NAME="updtype" -->">
<input type="hidden" name="guarantorid" value="<!-- TMPL_VAR NAME="guarantorid" -->">
<input type="hidden" name="select_roadtype" value="<!-- TMPL_VAR NAME="select_roadtype" -->">
<input type="hidden" name="destination" value="<!-- TMPL_VAR NAME="destination" -->" />
<input type="hidden" name="check_member" value="<!-- TMPL_VAR NAME="check_member" -->" />
<input type="hidden" name="borrowernumber" value="<!-- TMPL_VAR NAME="borrowernumber" -->">
<input type="hidden" name="nodouble" value="<!-- TMPL_VAR NAME="nodouble" -->" />
<!-- TMPL_IF NAME="opadd" --><input type="hidden" name="op" value="insert"><!-- TMPL_ELSE --><input type="hidden" name="op" value="save"><!-- /TMPL_IF -->
<!--TMPL_IF Name="step_1"-->
<div name="step_1" id="step1" class="content_visible">
<!--TMPL_IF Name="I"-->
<input type="hidden" name="FormFieldList" value="surname|contactname|contactfirstname"> <!--TMPL_ELSE--> <input type="hidden" name="FormFieldList" value="title|surname|firstname|dateofbirth|initials|othernames"> <!--/TMPL_IF-->
<fieldset id="memberentry_identity">
<legend><!--TMPL_IF Name="I"-->Organisation <!--TMPL_ELSE-->Patron <!--/TMPL_IF-->identity</legend>
<p>
<!-- TMPL_IF NAME="female" -->
<input type="radio" name="sex" value="F" checked>Female
<input type="radio" name="sex" value="M">Male
<!-- TMPL_ELSE -->
<input type="radio" name="sex" value="F">Female
<input type="radio" name="sex" value="M" checked>Male
<!-- /TMPL_IF -->
</p>
<p>
<!-- TMPL_IF NAME="mandatorytitle" -->
<label style="font-weight:bold">
<!-- TMPL_ELSE -->
<label>
<!-- /TMPL_IF-->
Title</label>
<!-- TMPL_VAR NAME="borrotitlepopup" -->
</p>
<p>
<!-- TMPL_IF NAME="mandatorysurname" -->
<label style="font-weight:bold">
<!-- TMPL_ELSE -->
<label>
<!-- /TMPL_IF-->
Surname</label>
<!-- TMPL_IF NAME="uppercasesurnames" -->
<input style="text-transform:uppercase;" type="text" name="surname" size="20" value="<!-- TMPL_VAR NAME="surname" -->" >
<!-- TMPL_ELSE -->
<input style="text-transform:capitalize;" type="text" name="surname" size="20" value="<!-- TMPL_VAR NAME="surname" -->" >
<!-- /TMPL_IF -->
</p>
<p>
<!-- TMPL_IF NAME="mandatoryfirstname" -->
<label style="font-weight:bold">
<!-- TMPL_ELSE -->
<label>
<!-- /TMPL_IF-->
Firstname</label>
<input style="text-transform:capitalize;" type="text" name="firstname" size="20" value="<!-- TMPL_VAR NAME="firstname" -->">
</p>
<p>
<!-- TMPL_IF NAME="mandatorydateofbirth" -->
<label style="font-weight:bold">
<!-- TMPL_ELSE -->
<label>
<!-- /TMPL_IF-->
Date of birth</label>
<input type="text" id="dateofbirth" name="dateofbirth" size="20" onchange="CheckDate(document.form.dateofbirth);" value="<!-- TMPL_VAR NAME="dateofbirth" -->">
<img src="<!-- TMPL_VAR Name="themelang" -->/lib/calendar/cal.gif" id="dateofbirth_button" />
<script language="JavaScript" type="text/javascript">
Calendar.setup(
{
inputField : "dateofbirth",
ifFormat : "<!-- TMPL_VAR NAME="DHTMLcalendar_dateformat" -->",
button : "dateofbirth_button"
}
);
</script>
</p>
<p>
<!-- TMPL_IF NAME="mandatoryinitials" -->
<label style="font-weight:bold">
<!-- TMPL_ELSE -->
<label>
<!-- /TMPL_IF-->
Initials</label>
<input type="text" name="initials" size="20" value="<!-- TMPL_VAR NAME="initials" -->">
</p>
<p>
<!-- TMPL_IF NAME="mandatoryothernames" -->
<label style="font-weight:bold">
<!-- TMPL_ELSE -->
<label>
<!-- /TMPL_IF-->
Other name</label>
<input style="text-transform:uppercase;" type="text" name="othernames" size="20" value="<!-- TMPL_VAR NAME="othernames" -->" >
</p>
<!--TMPL_IF Name="C"--> <p>
<input name="guarantordelete" type="button" value="Delete Guarantor" onclick="document.form.guarantorid.value='';document.form.guarantorinfo.value='',document.form.guarantorsearch.value='Find guarantor';" />
<!-- TMPL_IF NAME="guarantorid"-->
<input name="guarantorsearch" type="button" value="Modify Guarantor" onclick="Dopopguarantor('guarantor_search.pl');" />
<!-- TMPL_ELSE -->
<input name="guarantorsearch" type="button" value="Find guarantor" onclick="Dopopguarantor('guarantor_search.pl');" />
<!-- /TMPL_IF -->
<input name="guarantorinfo" type="text" size="20" value="<!-- TMPL_VAR NAME="guarantorinfo" -->" disabled="disabled" readonly="readonly" />
</p>
<!--/TMPL_IF-->
</fieldset>
<fieldset>
<legend>Main address</legend>
<p>
<!-- TMPL_IF NAME="mandatorystreetnumber" -->
<label style="font-weight:bold">
<!--TMPL_ELSE-->
<label>
<!-- /TMPL_IF-->
Street number</label>
<input type="text" name="streetnumber" size="5" value="<!-- TMPL_VAR NAME="streetnumber" -->">
</p>
<!-- TMPL_IF NAME="road_cgipopup" -->
<p>
<!-- TMPL_IF NAME="mandatorystreettype" -->
<label style="font-weight:bold">
<!--TMPL_ELSE-->
<label>
<!-- /TMPL_IF-->
Street type</label>
<!-- TMPL_VAR NAME="roadpopup" -->
</p>
<!--/TMPL_IF-->
<p>
<!-- TMPL_IF NAME="mandatoryaddress" -->
<label style="font-weight:bold">
<!--TMPL_ELSE-->
<label>
<!--/TMPL_IF-->
Address</label>
<input type="text" name="address" size="35" value="<!-- TMPL_VAR NAME="address" -->">
</p>
<p>
<!-- TMPL_IF NAME="mandatoryaddress2" -->
<label style="font-weight:bold">
<!--TMPL_ELSE-->
<label>
<!-- /TMPL_IF-->
Address 2</label>
<input type="text" name="address2" size="35" value="<!-- TMPL_VAR NAME="address2" -->">
</p>
<p>
<!-- TMPL_IF NAME="mandatoryzipcode" -->
<label style="font-weight:bold">
<!--TMPL_ELSE-->
<label>
<!-- /TMPL_IF-->
Zipcode</label>
<input type="text" maxlength="5" name="zipcode" size="5" value="<!-- TMPL_VAR NAME="zipcode" -->">
</p>
<!-- TMPL_IF NAME="city_cgipopup" -->
<p>
<!-- TMPL_IF NAME="mandatoryselect_city" -->
<label style="font-weight:bold">
<!-- TMPL_ELSE -->
<label>
<!-- /TMPL_IF-->
Select a city</label>
<!-- TMPL_VAR NAME="citypopup" -->
</p>
<!-- /TMPL_IF-->
<p>
<!-- TMPL_IF NAME="mandatorycity" -->
<label style="font-weight:bold">
<!--TMPL_ELSE-->
<label>
<!-- /TMPL_IF-->
City</label>
<input style="text-transform:uppercase;" type="text" name="city" size="20" value="<!-- TMPL_VAR NAME="city" -->">
</p>
</fieldset>
<fieldset id="memberentry_contact">
<legend>Contact</legend>
<!--TMPL_IF Name="C"-->
<h2>Borrower</h2>
<p>
<!-- TMPL_IF NAME="mandatoryB_email" -->
<label style="font-weight:bold">
<!--TMPL_ELSE-->
<label>
<!-- /TMPL_IF-->
E-mail (home)</label>
<input type="text" name="B_email" value="<!-- TMPL_VAR NAME="B_email" -->" />
<!-- TMPL_IF NAME="mandatoryB_phone" -->
<label style="font-weight:bold">
<!--TMPL_ELSE-->
<label>
<!-- /TMPL_IF-->
Phone (cell)</label>
<input type="text" name="B_phone" value="<!-- TMPL_VAR NAME="B_phone" -->" />
</p>
<!--/TMPL_IF-->
<p>
<!-- TMPL_IF NAME="mandatoryphone" -->
<label style="font-weight:bold">
<!--TMPL_ELSE-->
<label>
<!-- /TMPL_IF-->
Phone (home)</label>
<input type="text" name="phone" value="<!-- TMPL_VAR NAME="phone" -->" >
</p>
<p>
<!-- TMPL_IF NAME="mandatoryphonepro" -->
<label style="font-weight:bold">
<!--TMPL_ELSE-->
<label>
<!-- /TMPL_IF-->
Phone (prof)</label>
<input type="text" name="phonepro" value="<!-- TMPL_VAR NAME="phonepro" -->" >
</p>
<p>
<!-- TMPL_IF NAME="mandatorymobile" -->
<label style="font-weight:bold">
<!--TMPL_ELSE-->
<label>
<!-- /TMPL_IF-->
Phone (cell)</label>
<input type="text" name="mobile" value="<!-- TMPL_VAR NAME="mobile" -->" >
</p>
<p>
<!-- TMPL_IF NAME="mandatoryemail" -->
<label style="font-weight:bold">
<!--TMPL_ELSE-->
<label>
<!-- /TMPL_IF-->
E-mail (home)</label>
<input type="text" name="email" value="<!-- TMPL_VAR NAME="email" -->" >
</p>
<p>
<!-- TMPL_IF NAME="mandatoryemailpro" -->
<label style="font-weight:bold">
<!--TMPL_ELSE-->
<label>
<!-- /TMPL_IF-->
E-mail (prof)</label>
<input type="text" name="emailpro" value="<!-- TMPL_VAR NAME="emailpro" -->" >
</p>
<p>
<!-- TMPL_IF NAME="mandatoryfax" -->
<label style="font-weight:bold">
<!--TMPL_ELSE-->
<label>
<!-- /TMPL_IF-->
Fax</label>
<input type="text" name="fax" value="<!-- TMPL_VAR NAME="fax" -->" >
</p>
</fieldset>
</div>
<!-- ************************ STEP_1 *********************** -->
<!--/TMPL_IF -->
<!--TMPL_IF Name="step_2"-->
<!--TMPL_IF Name="step_1"-->
<div name="step_2" id="step2" class="content_hidden">
<!--TMPL_ELSE-->
<div name="step_2" id="step2" class="content_visible">
<!--/TMPL_IF-->
<fieldset id="memberentry_address">
<legend>Address</legend>
<fieldset>
<legend>Alternate address</legend>
<p>
<!-- TMPL_IF NAME="mandatoryB_address" -->
<label style="font-weight:bold">
<!--TMPL_ELSE-->
<label>
<!-- /TMPL_IF-->
Address</label>
<input type="text" name="B_address" size="40" value="<!-- TMPL_VAR NAME="B_address" -->">
</p>
<p>
<!-- TMPL_IF NAME="mandatoryB_zipcode" -->
<label style="font-weight:bold">
<!--TMPL_ELSE-->
<label>
<!-- /TMPL_IF-->
Zipcode</label>
<input type="text" name="B_zipcode" maxlength="5" size="5" value="<!-- TMPL_VAR NAME="B_zipcode" -->">
</p>
<p>
<!-- TMPL_IF NAME="mandatoryB_city" -->
<label style="font-weight:bold" >
<!--TMPL_ELSE-->
<label>
<!-- /TMPL_IF-->
City</label>
<input type="text" style="text-transform:uppercase;" name="B_city" size="20" value="<!-- TMPL_VAR NAME="B_city" -->">
</p>
</fieldset>
</fieldset>
<!-- TMPL_IF NAME="I" -->
<!-- TMPL_IF NAME="memberofinstution" -->
<fieldset id="memberentry_organisation">
<legend>Organisations</legend>
<p>
<!-- TMPL_IF NAME="mandatoryphone" -->
<label style="font-weight:bold">
<!--TMPL_ELSE-->
<label>
<!-- /TMPL_IF-->
Organisation(s)</label>
<!-- TMPL_VAR NAME="CGIorganisations" -->
</p>
</fieldset>
<!-- /TMPL_IF -->
<!-- /TMPL_IF -->
</div>
<!-- /TMPL_IF -->
<!--TMPL_IF Name="step_3"-->
<!--TMPL_IF Name="step_1"-->
<div name="step_3" id="step3" class="content_hidden">
<!--TMPL_ELSE-->
<div name="step_3" id="step3" class="content_visible">
<!--/TMPL_IF-->
<fieldset id="memberentry_identity">
<legend>Library Management</legend>
<!-- TMPL_IF NAME="mandatorycardnumber" -->
<label style="font-weight:bold">
<!--TMPL_ELSE -->
<label>
<!-- /TMPL_IF-->
Card number</label>
<input type="text" name="cardnumber" size="10" value="<!-- TMPL_VAR NAME="cardnumber" -->">
<p>
<!-- TMPL_IF NAME="mandatorybranchcode" -->
<label style="font-weight:bold">
<!--TMPL_ELSE-->
<label>
<!-- /TMPL_IF-->
Branch</label>
<!-- TMPL_VAR NAME="CGIbranch" -->
</p>
<p>
<!-- TMPL_IF NAME="catcodepopup" -->
<label>Category</label>
<!-- TMPL_VAR NAME="catcodepopup" -->
<!-- TMPL_ELSE -->
<span class="problem">There is no category type to add <!--TMPL_IF Name="A"-->an Adult<!--/TMPL_IF--><!--TMPL_IF Name="C"-->a Child<!--/TMPL_IF--><!--TMPL_IF Name="I"-->an Institution<!--/TMPL_IF--><!--TMPL_IF Name="P"-->a professionnal<!--/TMPL_IF-->.</span>
<a href="/cgi-bin/koha/admin/categorie.pl">Please create one</a>
<!-- /TMPL_IF -->
</p>
<p>
<!-- TMPL_IF NAME="mandatorysort1" -->
<label style="font-weight:bold">
<!-- TMPL_ELSE -->
<label>
<!-- /TMPL_IF-->
Sort 1</label>
<!--TMPL_IF NAME="CGIsort1" -->
<!-- TMPL_VAR NAME="CGIsort1" -->
<!--TMPL_ELSE-->
<input type="text" name="sort1" size="20" value="<!-- TMPL_VAR NAME="sort1" -->" >
<!-- /TMPL_IF -->
</p>
<p>
<!-- TMPL_IF NAME="mandatorysort2" -->
<label style="font-weight:bold">
<!-- TMPL_ELSE -->
<label>
<!-- /TMPL_IF-->
Sort 2</label>
<!--TMPL_IF NAME="CGIsort2" -->
<!-- TMPL_VAR NAME="CGIsort2" -->
<!--TMPL_ELSE-->
<input type="text" name="sort2" size="20" value="<!-- TMPL_VAR NAME="sort2" -->" >
<!-- /TMPL_IF -->
</p>
</fieldset>
<fieldset id="memberentry_subscription">
<legend>Library set-up</legend>
<p>
<!-- TMPL_IF NAME="mandatorydateenrolled" -->
<label style="font-weight:bold">
<!--TMPL_ELSE-->
<label>
<!-- /TMPL_IF-->
Arrival date</label>
<input type="text" id="dateenrolled" name="dateenrolled" maxlength="10" size="10" onchange="CheckDate(document.form.dateenrolled);check_manip_date('verify');" value="<!-- TMPL_VAR NAME="dateenrolled" -->">
<img src="<!-- TMPL_VAR Name="themelang" -->/lib/calendar/cal.gif" id="dateenrolled_button" />
<script language="JavaScript" type="text/javascript">
Calendar.setup(
{
inputField : "dateenrolled",
ifFormat : "<!-- TMPL_VAR NAME="DHTMLcalendar_dateformat" -->",
button : "dateenrolled_button"
}
);
</script>
</p>
<p>
<!-- TMPL_IF NAME="mandatorydateexpiry" -->
<label style="font-weight:bold">
<!--TMPL_ELSE-->
<label>
<!-- /TMPL_IF-->
Expiry date</label>
<input type="text" id="dateexpiry" name="dateexpiry" maxlength="10" size="10"
onchange="CheckDate(document.form.dateexpiry);check_manip_date('verify');" value="<!-- TMPL_VAR NAME="dateexpiry" -->">
<img src="<!-- TMPL_VAR Name="themelang" -->/lib/calendar/cal.gif" id="dateexpiry_button" />
<script language="JavaScript" type="text/javascript">
Calendar.setup(
{
inputField : "dateeexpiry",
ifFormat : "<!-- TMPL_VAR NAME="DHTMLcalendar_dateformat" -->",
button : "dateexpiry_button"
}
);
</script>
</p>
<p>
<!-- TMPL_IF NAME="mandatoryopacnote" -->
<label style="font-weight:bold">
<!--TMPL_ELSE-->
<label>
<!-- /TMPL_IF-->
OPAC note</label>
<textarea name="opacnote" cols="40" rows="2" ><!-- TMPL_VAR NAME="opacnote" --></textarea>
</p>
<p>
<!-- TMPL_IF NAME="mandatoryborrowernotes" -->
<label style="font-weight:bold">
<!--TMPL_ELSE-->
<label>
<!-- /TMPL_IF-->
Library note</label>
<textarea name="borrowernotes" cols="40" rows="2" ><!-- TMPL_VAR NAME="borrowernotes" --></textarea>
</p>
</fieldset>
<fieldset id="memberentry_userid">
<legend>OPAC login</legend>
<p>
<!-- TMPL_IF NAME="mandatoryuserid" -->
<label style="font-weight:bold">
<!--TMPL_ELSE-->
<label>
<!-- /TMPL_IF-->
OPAC Login</label>
<input type="text" name="userid" size="20" value="<!-- TMPL_VAR NAME="userid" -->">
</p>
<p>
<!-- TMPL_IF NAME="mandatorypassword" -->
<label style="font-weight:bold">
<!--TMPL_ELSE-->
<label>
<!-- /TMPL_IF-->
Password</label>
<!--TMPL_IF NAME="opadd"-->
<input type="text" name="password" size="20" value="<!-- TMPL_VAR NAME="password" -->">
<!--TMPL_ELSE-->
<!--TMPL_IF NAME="password"-->
<input type="text" name="password" size="20" value="****">
<!--TMPL_ELSE-->
<input type="text" name="password" size="20" value="">
<!--/TMPL_IF-->
<!--/TMPL_IF-->
</p>
<!--this zones are not necessary in modif mode -->
<!-- TMPL_UNLESS NAME="opadd" -->
<h2>Warning</h2>
<!-- TMPL_LOOP NAME="flagloop" -->
<p>
<label class="borrowers_labels_title"><!-- TMPL_VAR NAME="html" --></label>
<input type="radio" name="<!-- TMPL_VAR NAME="name" -->" value="1" <!-- TMPL_VAR NAME="yes" -->>Yes
<input type="radio" name="<!-- TMPL_VAR NAME="name" -->" value="0" <!-- TMPL_VAR NAME="no" -->>No
</p>
<!-- /TMPL_LOOP -->
<!-- /TMPL_UNLESS -->
<p>
</fieldset>
</div>
<!-- /TMPL_IF -->
<div name="action">
<!-- TMPL_IF NAME="opadd" -->
<input type="button" name="step4" onclick="check_form_borrowers();unique();" value="Add member">
<!-- TMPL_ELSE -->
<input type="button" name="step4" onclick="check_form_borrowers();" value="Modify member">
<!--/TMPL_IF -->
</div>
</form>
<!-- TMPL_INCLUDE NAME="intranet-bottom.inc" -->

105
koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tmpl

@ -98,6 +98,8 @@ function confirm_reregistration() {
<!-- /TMPL_IF -->
<fieldset>
<legend>Patron information</legend>
<!-- TMPL_UNLESS NAME="I" -->
@ -106,7 +108,22 @@ function confirm_reregistration() {
<!-- /TMPL_UNLESS -->
<p><!-- TMPL_IF NAME="I" --><label>Organisation name: </label><!-- TMPL_ELSE --><label>Last name: </label><!-- /TMPL_IF --><!-- TMPL_VAR NAME="surname" --></p>
<!-- TMPL_UNLESS NAME="I" --><p><label>Other names: </label><!-- TMPL_VAR NAME="othernames" --></p>
<p><label>Initials: </label><!-- TMPL_VAR NAME="initials" --></p><!-- /TMPL_UNLESS -->
<p><label>Initials: </label><!-- TMPL_VAR NAME="initials" --></p>
<p><label>Date of birth:</label><!-- TMPL_VAR NAME="dateofbirth" --></p>
<p><label>Sex:</label><!-- TMPL_VAR NAME="sex" --></p><!-- /TMPL_UNLESS -->
<!-- TMPL_IF NAME="printethnicityline" -->
<p><label>Ethnicity:</label><!-- TMPL_VAR NAME="ethnicity" --> &nbsp;</p>
<p><label>Ethnicity notes: </label><!-- TMPL_VAR NAME="ethnotes" --> &nbsp;</p>
<!-- /TMPL_IF -->
<!-- TMPL_IF name="isguarantee" -->
<!-- TMPL_IF NAME="guaranteeloop" -->
<p><label>Guarantees:</label><ul><!-- tmpl_loop name="guaranteeloop" --><li><a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=<!-- TMPL_VAR NAME="borrowernumber" -->"><!-- TMPL_VAR NAME="name" --> </a></li><!-- /tmpl_loop --></ul></p>
<!-- /TMPL_IF -->
<!-- TMPL_ELSE -->
<!-- TMPL_IF name="guarantorborrowernumber" -->
<p><label>Guarantor:</label><a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=<!-- TMPL_VAR NAME="guarantorborrowernumber" -->"><!-- TMPL_VAR NAME="guarantorsurname" --> <!-- TMPL_VAR NAME="guarantorfirstname" --></a></p>
<!-- /TMPL_IF -->
<!-- /TMPL_IF -->
<p>
<label>Address: </label>
<!-- TMPL_VAR NAME="streetnumber" -->
@ -121,40 +138,14 @@ function confirm_reregistration() {
</p>
<p><label>City: </label><!-- TMPL_VAR NAME="city" --></p>
<p><label>Zip code: </label><!-- TMPL_VAR NAME="zipcode" --></p>
<!-- TMPL_UNLESS NAME="I"-->
<!-- TMPL_UNLESS NAME="C"-->
<p><label>Alternate address: </label><!-- TMPL_VAR NAME="B_address" --></p>
<p><label>Alternate city: </label><!-- TMPL_VAR NAME="B_city" --></p>
<p><label>Alternate zipcode: </label><!-- TMPL_VAR NAME="B_zipcode" --></p>
<!-- /TMPL_UNLESS -->
<!-- /TMPL_UNLESS -->
<!-- TMPL_IF NAME="I" -->
<p><label>Organisation phone: </label><!-- TMPL_VAR NAME="phonepro" --></p>
<p><label>Organisation email: </label><!-- TMPL_VAR NAME="emailpro" --></p>
<!-- /TMPL_IF -->
<!-- TMPL_UNLESS NAME="I"-->
<p><label>Home phone: </label><!-- TMPL_VAR NAME="phone" --></p>
<p><label>Cell phone: </label><!-- TMPL_VAR NAME="mobile" --></p>
<p><label>Professional phone: </label><!-- TMPL_VAR NAME="phonepro" --></p>
<!-- /TMPL_UNLESS -->
<!-- TMPL_IF NAME="P"-->
<p><label>Professional phone: </label><!-- TMPL_VAR NAME="phone" --></p>
<p><label>Professionnal email: </label><!-- TMPL_VAR NAME="mobile" --></p>
<!-- /TMPL_IF -->
<p><label>Fax: </label><!-- TMPL_VAR NAME="fax" --></p>
<!-- TMPL_UNLESS NAME="I"-->
<p><label>E-mail address:</label><a href="mailto:<!-- TMPL_VAR NAME="email" -->"><!-- TMPL_VAR NAME="email" --></a><!--TMPL_IF Name="emailpro"-->, <a href="mailto:<!-- TMPL_VAR NAME="emailpro" -->"><!-- TMPL_VAR NAME="emailpro" --></a><!--/TMPL_IF--></p>
<p><label>Date of birth:</label><!-- TMPL_VAR NAME="dateofbirth" --></p>
<p><label>Sex:</label><!-- TMPL_VAR NAME="sex" --></p>
<!-- /TMPL_UNLESS -->
<a href="memberentry.pl?op=modify&amp;borrowernumber=<!-- TMPL_VAR NAME="borrowernumber" -->&amp;step=1">Edit</a>
</fieldset>
<fieldset>
<legend>Library use</legend>
<p><label>Patron number:</label><!-- TMPL_VAR NAME="borrowernumber" --></p>
<p><label>Category:</label><!-- TMPL_VAR NAME="description" --></p>
<p><label>Registration date:</label><!-- TMPL_VAR NAME="dateenrolled" --></p>
<p><label>Relation:</label><!-- TMPL_VAR NAME="relationship" --></p>
<p><label>Expiration date: </label>
<!-- TMPL_IF NAME="reregistration" -->
@ -166,49 +157,55 @@ function confirm_reregistration() {
<p><label>Registration branch:</label><!-- TMPL_VAR NAME="branchname" --> &nbsp;</p>
<!-- TMPL_IF NAME="printethnicityline" -->
<p><label>Ethnicity:</label><!-- TMPL_VAR NAME="ethnicity" --> &nbsp;</p>
<p><label>Ethnicity notes: </label><!-- TMPL_VAR NAME="ethnotes" --> &nbsp;</p>
<!-- /TMPL_IF -->
<p><label>Sort field 1: </label><!-- TMPL_VAR NAME="sort1" --> &nbsp;</p>
<p><label>Sort field 2:</label><!-- TMPL_VAR NAME="sort2" --> &nbsp;</p>
<p><label>OPAC login: </label><!-- TMPL_VAR name="userid" --> &nbsp;</p>
<!-- TMPL_IF NAME="password" -->
<p><label>OPAC password: </label>*******</p>
<p><label>OPAC password: </label>*******</p>
<!--TMPL_ELSE -->
<p><label>OPAC password: </label><span class="problem">Undefined &nbsp;</span></p>
<p><label>OPAC password: </label><span class="problem">Undefined &nbsp;</span></p>
<!--/TMPL_IF -->
<p><label>Circulation notes:</label><!-- TMPL_VAR name="borrowernotes" --> &nbsp;</p>
<p><label>Circulation notes:</label><!-- TMPL_VAR name="borrowernotes" --> &nbsp;</p>
<p><label>Message to Patron:</label><!-- TMPL_VAR NAME="opacnote" --> &nbsp;</p>
<a href="memberentry.pl?op=modify&amp;borrowernumber=<!-- TMPL_VAR NAME="borrowernumber" -->&amp;step=3">Edit</a>
</fieldset>
<!-- TMPL_UNLESS NAME="P" -->
<!-- TMPL_UNLESS NAME="I" -->
<fieldset>
<legend>Alternate contact</legend>
<legend>Contacts</legend>
<!-- TMPL_UNLESS NAME="I"-->
<!-- TMPL_UNLESS NAME="C"-->
<p><label>Alternate address: </label><!-- TMPL_VAR NAME="B_address" --></p>
<p><label>Alternate city: </label><!-- TMPL_VAR NAME="B_city" --></p>
<p><label>Alternate zipcode: </label><!-- TMPL_VAR NAME="B_zipcode" --></p>
<!-- /TMPL_UNLESS -->
<!-- /TMPL_UNLESS -->
<!-- TMPL_IF NAME="I" -->
<p><label>Organisation phone: </label><!-- TMPL_VAR NAME="phonepro" --></p>
<p><label>Organisation email: </label><!-- TMPL_VAR NAME="emailpro" --></p>
<!-- /TMPL_IF -->
<!-- TMPL_UNLESS NAME="I"-->
<p><label>Home phone: </label><!-- TMPL_VAR NAME="phone" --></p>
<p><label>Cell phone: </label><!-- TMPL_VAR NAME="mobile" --></p>
<p><label>Professional phone: </label><!-- TMPL_VAR NAME="phonepro" --></p>
<!-- /TMPL_UNLESS -->
<!-- TMPL_IF NAME="P"-->
<p><label>Professional phone: </label><!-- TMPL_VAR NAME="phone" --></p>
<p><label>Professionnal email: </label><!-- TMPL_VAR NAME="mobile" --></p>
<!-- /TMPL_IF -->
<p><label>Fax: </label><!-- TMPL_VAR NAME="fax" --></p>
<!-- TMPL_UNLESS NAME="I"-->
<p><label>E-mail address:</label><a href="mailto:<!-- TMPL_VAR NAME="email" -->"><!-- TMPL_VAR NAME="email" --></a><!--TMPL_IF Name="emailpro"-->, <a href="mailto:<!-- TMPL_VAR NAME="emailpro" -->"><!-- TMPL_VAR NAME="emailpro" --></a><!--/TMPL_IF--></p>
<!-- /TMPL_UNLESS -->
<!-- TMPL_IF NAME="C" -->
<p><label>Name: </label><!-- TMPL_VAR NAME="contactname" --> &nbsp;</p>
<p><label>Firstname: </label><!-- TMPL_VAR NAME="firstname" --> &nbsp;</p>
<p><label>Firstname: </label><!-- TMPL_VAR NAME="firstname" --> &nbsp;</p>
<p><label>Phone: </label><!-- TMPL_VAR NAME="phone" --> &nbsp;</p>
<p><label>Email: </label><!-- TMPL_VAR NAME="email" --> &nbsp;</p>
<p><label>Relationship: </label><!-- TMPL_VAR NAME="relationship" --> &nbsp;</p>
<!-- /TMPL_IF -->
<!-- TMPL_IF name="isguarantee" -->
<!-- TMPL_IF NAME="guaranteeloop" -->
<p><label>Guarantees:</label></p><ul><!-- tmpl_loop name="guaranteeloop" --><li><a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=<!-- TMPL_VAR NAME="borrowernumber" -->"><!-- TMPL_VAR NAME="name" --> </a></li><!-- /tmpl_loop --></ul>
<!-- /TMPL_IF -->
<!-- TMPL_ELSE -->
<!-- TMPL_IF name="guarantorborrowernumber" -->
<p><label>Guarantor:</label><a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=<!-- TMPL_VAR NAME="guarantorborrowernumber" -->"><!-- TMPL_VAR NAME="guarantorsurname" --> <!-- TMPL_VAR NAME="guarantorfirstname" --></a></p>
<!-- /TMPL_IF -->
<!-- /TMPL_IF -->
<a href="memberentry.pl?op=modify&amp;borrowernumber=<!-- TMPL_VAR NAME="borrowernumber" -->&amp;step=2">Edit</a>
</fieldset>
<!-- /TMPL_UNLESS-->
<!-- /TMPL_UNLESS-->
<fieldset>
<legend>Fines &amp; Charges</legend>
<!-- TMPL_IF name="totaldue" -->

843
members/memberentry.pl

@ -42,25 +42,17 @@ my %data;
my $dbh = C4::Context->dbh;
my $categorycode=$input->param('categorycode');
my $category_type;
$category_type = $input->param('category_type');
unless ($category_type or !($categorycode)){
my $borrowercategory= GetBorrowercategory($categorycode);
$category_type = $borrowercategory->{'category_type'};
}
die "NO CATEGORY TYPE !" unless $category_type; # FIXME we should display a error message instead of a 500 error !
my $step=$input->param('step') || 0;
my ($template, $loggedinuser, $cookie)
= get_template_and_user({template_name => "members/memberentry$category_type.tmpl",
query => $input,
type => "intranet",
authnotrequired => 0,
flagsrequired => {borrowers => 1},
debug => 1,
});
= get_template_and_user({template_name => "members/memberentrygen.tmpl",
query => $input,
type => "intranet",
authnotrequired => 0,
flagsrequired => {borrowers => 1},
debug => 1,
});
my $guarantorid=$input->param('guarantorid');
my $borrowernumber=$input->param('borrowernumber');
my $actionType=$input->param('actionType') || '';
@ -89,460 +81,423 @@ $template->param("uppercasesurnames" => C4::Context->preference('uppercasesurnam
my $check_BorrowerMandatoryField=C4::Context->preference("BorrowerMandatoryField");
my @field_check=split(/\|/,$check_BorrowerMandatoryField);
foreach (@field_check) {
$template->param( "mandatory$_" => 1);
$template->param( "mandatory$_" => 1);
}
$template->param("add"=>1) if ($op eq 'add');
$template->param( "checked" => 1) if ($nodouble eq 1);
($borrower_data=GetMember($borrowernumber,'borrowernumber')) if($op eq 'modify');
$template->param("checked" => 1) if ($nodouble eq 1);
my $categorycode=$input->param('categorycode');
($borrower_data=GetMember($borrowernumber,'borrowernumber')) if ($op eq 'modify' or $op eq 'save');
$categorycode=$borrower_data->{'categorycode'} unless $categorycode;
my $category_type;
$category_type = $input->param('category_type');
unless ($category_type or !($categorycode)){
my $borrowercategory= GetBorrowercategory($categorycode);
$category_type = $borrowercategory->{'category_type'};
}
$category_type="A" unless $category_type; # FIXME we should display a error message instead of a 500 error !
# if a add or modify is requested => check validity of data.
if ($step eq 0){
foreach my $column (keys %$borrower_data){
$data{$column}=$borrower_data->{$column};
}
}
if ($op eq 'add' or $op eq 'modify') {
my @names=$input->param;
foreach my $key (@names){
$data{$key}=$input->param($key)||'';
$data{$key}=~ s/\"/&quot;/gg unless $key eq 'borrowernotes' or $key eq 'opacnote';
}
# WARN : some tests must be done whatever the step, because the librarian can click on any tab.
#############test for member being unique #############
if ($op eq 'add'){
%data= %$borrower_data if ($borrower_data);
my %newdata;
if ($op eq 'insert' || $op eq 'modify' || $op eq 'save') {
my @names=($borrower_data?keys %$borrower_data:$input->param());
foreach my $key (@names){
$newdata{$key}=$input->param($key)||'';
$newdata{$key}=~ s/\"/&quot;/gg unless $key eq 'borrowernotes' or $key eq 'opacnote';
}
# WARN : some tests must be done whatever the step, because the librarian can click on any tab.
#############test for member being unique #############
if ($op eq 'insert'){
my $category_type_send=$category_type if ($category_type eq 'I');
my $check_category; # recover the category code of the doublon suspect borrowers
($check_member,$check_category)= checkuniquemember($category_type_send,$data{'surname'},$data{'firstname'},format_date_in_iso($data{'dateofbirth'}));
($check_member,$check_category)= checkuniquemember($category_type_send,($newdata{'surname'}?$newdata{'surname'}:$data{'surname'}),($newdata{'firstname'}?$newdata{'firstname'}:$data{'firstname'}),($newdata{'dateofbirth'}?format_date_in_iso($newdata{'dateofbirth'}):$data{'dateofbirth'}));
# recover the category type if the borrowers is a doublon
# recover the category type if the borrowers is a doublon
my $tmpborrowercategory=GetBorrowercategory($check_category);
$check_categorytype=$tmpborrowercategory->{'category_type'};
}
#recover all data from guarantor address phone ,fax...
if ($category_type eq 'C' and $guarantorid ne '' ){
my $guarantordata=GetMember($guarantorid);
$guarantorinfo=$guarantordata->{'surname'}." , ".$guarantordata->{'firstname'};
if (($data{'contactname'} eq '' or $data{'contactname'} ne $guarantordata->{'surname'})) {
$data{'contactfirstname'}=$guarantordata->{'firstname'};
$data{'contactname'}=$guarantordata->{'surname'};
$data{'contacttitle'}=$guarantordata->{'title'};
$data{'streetnumber'}=$guarantordata->{'streetnumber'};
$data{'address'}=$guarantordata->{'address'};
$data{'streettype'}=$guarantordata->{'streettype'};
$data{'address2'}=$guarantordata->{'address2'};
$data{'zipcode'}=$guarantordata->{'zipcode'};
$data{'city'}=$guarantordata->{'city'};
$data{'phone'}=$guarantordata->{'phone'};
$data{'phonepro'}=$guarantordata->{'phonepro'};
$data{'mobile'}=$guarantordata->{'mobile'};
$data{'fax'}=$guarantordata->{'fax'};
$data{'email'}=$guarantordata->{'email'};
$data{'emailpro'}=$guarantordata->{'emailpro'};
}
}
}
#recover all data from guarantor address phone ,fax...
if ($category_type eq 'C' and $guarantorid ne '' ){
my $guarantordata=GetMember($guarantorid);
$guarantorinfo=$guarantordata->{'surname'}." , ".$guarantordata->{'firstname'};
if (($data{'contactname'} eq '' or $data{'contactname'} ne $guarantordata->{'surname'})) {
$newdata{'contactfirstname'}=$guarantordata->{'firstname'};
$newdata{'contactname'}=$guarantordata->{'surname'};
$newdata{'contacttitle'}=$guarantordata->{'title'};
map {$newdata{$_}=$guarantordata->{$_}}('streetnumber','address','streettype','address2','zipcode','city','phone','phonepro','mobile','fax','email','emailpro');
}
}
# CHECKS step by step
# CHECKS step by step
# STEP 1
if ($step eq 1) {
if ($op eq 'add' && checkcardnumber($cardnumber)){
push @errors, 'ERROR_cardnumber';
$nok = 1;
}
###############test to take the right zipcode and city name ##############
if ( $guarantorid eq ''){
if ($select_city){
my ($borrower_city,$borrower_zipcode)=&getzipnamecity($select_city);
$data{'city'}= $borrower_city;
$data{'zipcode'}=$borrower_zipcode;
}
# if ($step eq 3) {
if ($op eq 'add' && checkcardnumber($cardnumber)){
push @errors, 'ERROR_cardnumber';
$nok = 1;
}
###############test to take the right zipcode and city name ##############
if ( $guarantorid eq ''){
if ($select_city){
my ($borrower_city,$borrower_zipcode)=&getzipnamecity($select_city);
$newdata{'city'}= $borrower_city;
$newdata{'zipcode'}=$borrower_zipcode;
}
my $dateofbirthmandatory=0;
map {$dateofbirthmandatory=1 if $_ eq "dateofbirth"} @field_check;
if ($category_type ne 'I' && $data{dateofbirth} && $dateofbirthmandatory) {
my $age = GetAge(format_date_in_iso($data{dateofbirth}));
my $borrowercategory=GetBorrowercategory($data{'categorycode'});
if (($age > $borrowercategory->{'upperagelimit'}) or ($age < $borrowercategory->{'dateofbirthrequired'})) {
push @errors, 'ERROR_age_limitations';
$nok = 1;
}
}
}
}
my $dateofbirthmandatory=0;
map {$dateofbirthmandatory=1 if $_ eq "dateofbirth"} @field_check;
if ($category_type ne 'I' && $newdata{dateofbirth} && $dateofbirthmandatory) {
my $age = GetAge(format_date_in_iso($data{dateofbirth}));
my $borrowercategory=GetBorrowercategory($data{'categorycode'});
if (($age > $borrowercategory->{'upperagelimit'}) or ($age < $borrowercategory->{'dateofbirthrequired'})) {
push @errors, 'ERROR_age_limitations';
$nok = 1;
}
}
# }
# STEP 2
if ($step eq 2) {
if ( ($data{'userid'} eq '')){
my $onefirstnameletter=substr($data{'firstname'},0,1);
my $fivesurnameletter=substr($data{'surname'},0,5);
$data{'userid'}=lc($onefirstnameletter.$fivesurnameletter);
}
if ($op eq 'add' and $data{'dateenrolled'} eq ''){
my $today= sprintf('%04d-%02d-%02d', Today());
#insert ,in field "dateenrolled" , the current date
$data{'dateenrolled'}=$today;
$data{'dateexpiry'} = GetExpiryDate($data{'categorycode'},$today);
}
if ($op eq 'modify' ){
unless ($data{'dateexpiry'}){
my $today= sprintf('%04d-%02d-%02d', Today());
$data{'dateexpiry'} = GetExpiryDate($data{'categorycode'},$today);
}
}
}
# if ($step eq 2) {
if ( ($newdata{'userid'} eq '')){
my $onefirstnameletter=substr($data{'firstname'},0,1);
my $fivesurnameletter=substr($data{'surname'},0,5);
$newdata{'userid'}=lc($onefirstnameletter.$fivesurnameletter);
}
# }
# STEP 3
if ($step eq 3) {
# this value show if the login and password are been used
my $loginexist=checkuserpassword($borrowernumber,$data{'userid'},$data{'password'});
# test to know if u must save or create the borrowers
if ($op eq 'modify'){
# test to know if another user have the same password and same login
if ($loginexist eq 0) {
&ModMember(%data);
}
else {
push @errors, "ERROR_login_exist";
$nok=1;
}
}else{
# test to know if another user have the same password and same login
if ($loginexist) {
push @errors, "ERROR_login_exist";
$nok=1;
} else {
$borrowernumber = &AddMember(%data);
if ($data{'organisations'}){
# need to add the members organisations
my @orgs=split(/\|/,$data{'organisations'});
add_member_orgs($borrowernumber,\@orgs);
}
}
}
unless ($nok) {
if($destination eq "circ"){
print $input->redirect("/cgi-bin/koha/circ/circulation.pl?findborrower=$data{'cardnumber'}");
} else {
if ($loginexist == 0) {
print $input->redirect("/cgi-bin/koha/members/moremember.pl?borrowernumber=$borrowernumber");
}
}
}
}
if (C4::Context->preference("IndependantBranches")) {
my $userenv = C4::Context->userenv;
if ($userenv->{flags} != 1){
unless ($userenv->{branch} eq $data{'branchcode'}){
push @errors, "ERROR_branch";
$nok=1;
}
}
}
# if ($step eq 3) {
if ($op eq 'insert'){
# this value show if the login and password are been used
my $loginexist=checkuserpassword($borrowernumber,$data{'userid'},$data{'password'});
# test to know if u must save or create the borrowers
if ($loginexist) {
push @errors, "ERROR_login_exist";
$nok=1;
} else {
warn Data::Dumper::Dumper(%newdata);
$borrowernumber = &AddMember(%newdata);
if ($data{'organisations'}){
# need to add the members organisations
my @orgs=split(/\|/,$data{'organisations'});
add_member_orgs($borrowernumber,\@orgs);
}
}
unless ($nok) {
if($destination eq "circ"){
print $input->redirect("/cgi-bin/koha/circ/circulation.pl?findborrower=$data{'cardnumber'}");
} else {
if ($loginexist == 0) {
print $input->redirect("/cgi-bin/koha/members/moremember.pl?borrowernumber=$borrowernumber");
}
}
}
}
}
if (C4::Context->preference("IndependantBranches")) {
my $userenv = C4::Context->userenv;
if ($userenv->{flags} != 1){
unless ($userenv->{branch} eq $data{'branchcode'}){
push @errors, "ERROR_branch";
$nok=1;
}
}
}
if ($op eq 'modify' ){
unless ($data{'dateexpiry'}){
my $today= sprintf('%04d-%02d-%02d', Today());
$data{'dateexpiry'} = GetExpiryDate($data{'categorycode'},$today);
}
}
# }
if ($op eq 'save'){
# test to know if another user have the same password and same login
&ModMember(%newdata);
print $input->redirect("/cgi-bin/koha/members/moremember.pl?borrowernumber=$borrowernumber");
}
if ($delete){
print $input->redirect("/cgi-bin/koha/deletemem.pl?member=$borrowernumber");
} else { # this else goes down the whole script
# retrieve previous values : either in DB or in CGI, in case of errors in values
my $data;
# test to now if u add or modify a borrower (modify =>to take all carateristic of the borrowers)
if (!$op and !$data{'surname'}) {
$data=GetMember($borrowernumber,'borrowernumber');
%data=%$data;
}
if (C4::Context->preference("IndependantBranches")) {
my $userenv = C4::Context->userenv;
if ($userenv->{flags} != 1 && $data{branchcode}){
unless ($userenv->{branch} eq $data{'branchcode'}){
print $input->redirect("/cgi-bin/koha/members/members-home.pl");
}
}
}
if ($op eq 'add'){
$template->param( updtype => 'I');
} else {
$template->param( updtype => 'M');
}
# my $cardnumber=$data{'cardnumber'};
$data{'cardnumber'}=fixup_cardnumber($data{'cardnumber'}) if $op eq 'add';
if ($data{'sex'} eq 'F'){
$template->param(female => 1);
}
my ($categories,$labels)=ethnicitycategories();
print $input->redirect("/cgi-bin/koha/deletemem.pl?member=$borrowernumber");
}
# else { # this else goes down the whole script
# retrieve previous values : either in DB or in CGI, in case of errors in values
# my $data;
# # test to now if u add or modify a borrower (modify =>to take all carateristic of the borrowers)
# if (!$op and !$data{'surname'}) {
# $data=GetMember($borrowernumber,'borrowernumber');
# %data=%$data;
# }
if (C4::Context->preference("IndependantBranches")) {
my $userenv = C4::Context->userenv;
if ($userenv->{flags} != 1 && $data{branchcode}){
unless ($userenv->{branch} eq $data{'branchcode'}){
print $input->redirect("/cgi-bin/koha/members/members-home.pl");
}
}
}
if ($op eq 'add'){
$template->param( updtype => 'I',step_1=>1,step_2=>1,step_3=>1);
}
if ($op eq "Modify") {
$template->param( updtype => 'M');
$template->param( step_1=>1,step_2=>1,step_3=>1) unless $step;
}
# my $cardnumber=$data{'cardnumber'};
$data{'cardnumber'}=fixup_cardnumber($data{'cardnumber'}) if $op eq 'add';
if ($data{'sex'} eq 'F'){
$template->param(female => 1);
}
my ($categories,$labels)=ethnicitycategories();
my $ethnicitycategoriescount=$#{$categories};
my $ethcatpopup;
if ($ethnicitycategoriescount>=0) {
$ethcatpopup = CGI::popup_menu(-name=>'ethnicity',
-id => 'ethnicity',
-tabindex=>'',
-values=>$categories,
-default=>$data{'ethnicity'},
-labels=>$labels);
$template->param(ethcatpopup => $ethcatpopup); # bad style, has to be fixed
}
my $action="WHERE category_type=?";
($categories,$labels)=GetborCatFromCatType($category_type,$action);
if(scalar(@$categories)){
#if you modify the borrowers you must have the right value for his category code
(my $default_category=$data{'categorycode'}) if ($op eq 'modify');
my $catcodepopup = CGI::popup_menu(
-name=>'categorycode',
-id => 'categorycode',
-values=>$categories,
-labels=>$labels,
-default=>$default_category
);
$template->param(catcodepopup=>$catcodepopup);
}
#test in city
$select_city=getidcity($data{'city'}) if ($guarantorid ne '0');
($default_city=$select_city) if ($step eq 0);
if ($select_city eq '' ){
my $selectcity=&getidcity($data{'city'});
$default_city=$selectcity;
}
my($cityid,$name_city)=GetCities();
$template->param( city_cgipopup => 1) if ($cityid );
my $citypopup = CGI::popup_menu(-name=>'select_city',
-id => 'select_city',
-values=>$cityid,
-labels=>$name_city,
# -override => 1,
-default=>$default_city
);
my $default_roadtype;
$default_roadtype=$data{'streettype'} ;
my($roadtypeid,$road_type)=GetRoadTypes();
$template->param( road_cgipopup => 1) if ($roadtypeid );
my $roadpopup = CGI::popup_menu(-name=>'streettype',
-id => 'streettype',
-values=>$roadtypeid,
-labels=>$road_type,
-override => 1,
-default=>$default_roadtype
);
my $default_borrowertitle;
$default_borrowertitle=$data{'title'} ;
my($borrowertitle)=GetTitles();
my $borrotitlepopup = CGI::popup_menu(-name=>'title',
-id => 'title',
-values=>$borrowertitle,
-override => 1,
-default=>$default_borrowertitle
);
my @relationships = split /,|\|/,C4::Context->preference('BorrowerRelationship');
my @relshipdata;
while (@relationships) {
my $relship = shift @relationships || '';
my %row = ('relationship' => $relship);
if ($data{'relationship'} eq $relship) {
$row{'selected'}=' selected';
} else {
$row{'selected'}='';
}
push(@relshipdata, \%row);
}
my %flags = ( 'gonenoaddress' => ['gonenoaddress', 'Gone no address '],
'lost' => ['lost', 'Lost'],
'debarred' => ['debarred', 'Debarred']);
my @flagdata;
foreach (keys(%flags)) {
my $key = $_;
my %row = ('key' => $key,
'name' => $flags{$key}[0],
'html' => $flags{$key}[1]);
if ($data{$key}) {
$row{'yes'}=' checked';
$row{'no'}='';
} else {
$row{'yes'}='';
$row{'no'}=' checked';
}
push(@flagdata, \%row);
}
if ($modify){
$template->param( modify => 1 );
}
#Convert dateofbirth to correct format
$data{'dateofbirth'} = format_date($data{'dateofbirth'});
my @branches;
my @select_branch;
my %select_branches;
my $branches=GetBranches();
my $default;
# -----------------------------------------------------
# the value of ip from the branches hash table
# my $select_ip;
# $ip is the ip of user when is connect to koha
# my $ip = $ENV{'REMOTE_ADDR'};
# -----------------------------------------------------
foreach my $branch (keys %$branches) {
if ((not C4::Context->preference("IndependantBranches")) || (C4::Context->userenv->{'flags'} == 1)) {
push @select_branch, $branch;
$select_branches{$branch} = $branches->{$branch}->{'branchname'};
$default=C4::Context->userenv->{'branch'};
} else {
push @select_branch,$branch if ($branch eq C4::Context->userenv->{'branch'});
$select_branches{$branch} = $branches->{$branch}->{'branchname'} if ($branch eq C4::Context->userenv->{'branch'});
$default = C4::Context->userenv->{'branch'};
}
}
my $ethnicitycategoriescount=$#{$categories};
my $ethcatpopup;
if ($ethnicitycategoriescount>=0) {
$ethcatpopup = CGI::popup_menu(-name=>'ethnicity',
-id => 'ethnicity',
-tabindex=>'',
-values=>$categories,
-default=>$data{'ethnicity'},
-labels=>$labels);
$template->param(ethcatpopup => $ethcatpopup); # bad style, has to be fixed
}
my $action="WHERE category_type=?";
($categories,$labels)=GetborCatFromCatType($category_type,$action);
if(scalar(@$categories)){
#if you modify the borrowers you must have the right value for his category code
(my $default_category=$data{'categorycode'}) if ($op eq 'modify');
my $catcodepopup = CGI::popup_menu(
-name=>'categorycode',
-id => 'categorycode',
-values=>$categories,
-labels=>$labels,
-default=>$default_category
);
$template->param(catcodepopup=>$catcodepopup);
}
#test in city
$select_city=getidcity($data{'city'}) if ($guarantorid ne '0');
($default_city=$select_city) if ($step eq 0);
if ($select_city eq '' ){
my $selectcity=&getidcity($data{'city'});
$default_city=$selectcity;
}
my($cityid,$name_city)=GetCities();
$template->param( city_cgipopup => 1) if ($cityid );
my $citypopup = CGI::popup_menu(-name=>'select_city',
-id => 'select_city',
-values=>$cityid,
-labels=>$name_city,
# -override => 1,
-default=>$default_city
);
my $default_roadtype;
$default_roadtype=$data{'streettype'} ;
my($roadtypeid,$road_type)=GetRoadTypes();
$template->param( road_cgipopup => 1) if ($roadtypeid );
my $roadpopup = CGI::popup_menu(-name=>'streettype',
-id => 'streettype',
-values=>$roadtypeid,
-labels=>$road_type,
-override => 1,
-default=>$default_roadtype
);
my $default_borrowertitle;
$default_borrowertitle=$data{'title'} ;
my($borrowertitle)=GetTitles();
my $borrotitlepopup = CGI::popup_menu(-name=>'title',
-id => 'btitle',
-values=>$borrowertitle,
-override => 1,
-default=>$default_borrowertitle
);
my @relationships = split /,|\|/,C4::Context->preference('BorrowerRelationship');
my @relshipdata;
while (@relationships) {
my $relship = shift @relationships || '';
my %row = ('relationship' => $relship);
if ($data{'relationship'} eq $relship) {
$row{'selected'}=' selected';
} else {
$row{'selected'}='';
}
push(@relshipdata, \%row);
}
my %flags = ( 'gonenoaddress' => ['gonenoaddress', 'Gone no address '],
'lost' => ['lost', 'Lost'],
'debarred' => ['debarred', 'Debarred']);
my @flagdata;
foreach (keys(%flags)) {
my $key = $_;
my %row = ('key' => $key,
'name' => $flags{$key}[0],
'html' => $flags{$key}[1]);
if ($data{$key}) {
$row{'yes'}=' checked';
$row{'no'}='';
} else {
$row{'yes'}='';
$row{'no'}=' checked';
}
push(@flagdata, \%row);
}
if ($modify){
$template->param( modify => 1 );
}
#Convert dateofbirth to correct format
my @branches;
my @select_branch;
my %select_branches;
my $branches=GetBranches();
my $default;
# -----------------------------------------------------
# the value of ip from the branches hash table
# my $select_ip;
# $ip is the ip of user when is connect to koha
# my $ip = $ENV{'REMOTE_ADDR'};
# -----------------------------------------------------
foreach my $branch (keys %$branches) {
if ((not C4::Context->preference("IndependantBranches")) || (C4::Context->userenv->{'flags'} == 1)) {
push @select_branch, $branch;
$select_branches{$branch} = $branches->{$branch}->{'branchname'};
$default=C4::Context->userenv->{'branch'};
} else {
push @select_branch,$branch if ($branch eq C4::Context->userenv->{'branch'});
$select_branches{$branch} = $branches->{$branch}->{'branchname'} if ($branch eq C4::Context->userenv->{'branch'});
$default = C4::Context->userenv->{'branch'};
}
}
# --------------------------------------------------------------------------------------------------------
#in modify mod :default value from $CGIbranch comes from borrowers table
#in add mod: default value come from branches table (ip correspendence)
$default=$data{'branchcode'} if ($op eq 'modify');
my $CGIbranch = CGI::scrolling_list(-id => 'branchcode',
-name => 'branchcode',
-values => \@select_branch,
-labels => \%select_branches,
-size => 1,
-override => 1,
-multiple =>0,
-default => $default,
);
my $CGIorganisations;
my $member_of_institution;
if (C4::Context->preference("memberofinstitution")){
my $organisations=get_institutions();
my @orgs;
my %org_labels;
foreach my $organisation (keys %$organisations) {
push @orgs,$organisation;
$org_labels{$organisation}=$organisations->{$organisation}->{'surname'};
}
$member_of_institution=1;
$CGIorganisations = CGI::scrolling_list( -id => 'organisations',
-name => 'organisations',
-labels => \%org_labels,
-values => \@orgs,
-size => 5,
-multiple => 'true'
);
}
#in modify mod :default value from $CGIbranch comes from borrowers table
#in add mod: default value come from branches table (ip correspendence)
$default=$data{'branchcode'} if ($op eq 'modify');
my $CGIbranch = CGI::scrolling_list(-id => 'branchcode',
-name => 'branchcode',
-values => \@select_branch,
-labels => \%select_branches,
-size => 1,
-override => 1,
-multiple =>0,
-default => $default,
);
my $CGIorganisations;
my $member_of_institution;
if (C4::Context->preference("memberofinstitution")){
my $organisations=get_institutions();
my @orgs;
my %org_labels;
foreach my $organisation (keys %$organisations) {
push @orgs,$organisation;
$org_labels{$organisation}=$organisations->{$organisation}->{'surname'};
}
$member_of_institution=1;
$CGIorganisations = CGI::scrolling_list( -id => 'organisations',
-name => 'organisations',
-labels => \%org_labels,
-values => \@orgs,
-size => 5,
-multiple => 'true'
);
}
# --------------------------------------------------------------------------------------------------------
my $CGIsort1 = buildCGIsort("Bsort1","sort1",$data{'sort1'});
if ($CGIsort1) {
$template->param(CGIsort1 => $CGIsort1);
$template->param( sort1 => $data{'sort1'});
} else {
$template->param( sort1 => $data{'sort1'});
}
my $CGIsort2 = buildCGIsort("Bsort2","sort2",$data{'sort2'});
if ($CGIsort2) {
$template->param(CGIsort2 =>$CGIsort2);
} else {
$template->param( sort2 => $data{'sort2'});
}
# increase step to see next page
if ($nok) {
foreach my $error (@errors) {
$template->param( $error => 1);
}
$template->param(nok => 1);
}
else {
$step++;
}
$template->param(
BorrowerMandatoryField => C4::Context->preference("BorrowerMandatoryField"),#field to test with javascript
category_type => $category_type,#to know the category type of the borrower
my $CGIsort1 = buildCGIsort("Bsort1","sort1",$data{'sort1'});
if ($CGIsort1) {
$template->param(CGIsort1 => $CGIsort1);
$template->param( sort1 => $data{'sort1'});
} else {
$template->param( sort1 => $data{'sort1'});
}
my $CGIsort2 = buildCGIsort("Bsort2","sort2",$data{'sort2'});
if ($CGIsort2) {
$template->param(CGIsort2 =>$CGIsort2);
} else {
$template->param( sort2 => $data{'sort2'});
}
# increase step to see next page
if ($nok) {
foreach my $error (@errors) {
$template->param( $error => 1);
}
$template->param(nok => 1);
}
# else {
# $step++ if $op eq 'add';
# }
#Formatting data for display
if ($data{'dateenrolled'} eq ''){
my $today= sprintf('%04d-%02d-%02d', Today());
#insert ,in field "dateenrolled" , the current date
$data{'dateenrolled'}=$today;
$data{'dateexpiry'} = GetExpiryDate($data{'categorycode'},$today);
}
$data{'surname'}=uc($data{'surname'});
$data{'firstname'}=ucfirst(lc $data{'firstname'});
$data{'dateenrolled'}=format_date($data{'dateenrolled'});
$data{'dateexpiry'}=format_date($data{'dateexpiry'});
$data{'contactname'}=uc($data{'contactname'});
$data{'contactfirstname'}= ucfirst( lc $data{'contactfirstname'});
$data{'dateofbirth'} = format_date($data{'dateofbirth'});
# warn "$step";
$template->param(%data);
$template->param(
BorrowerMandatoryField => C4::Context->preference("BorrowerMandatoryField"),#field to test with javascript
category_type => $category_type,#to know the category type of the borrower
DHTMLcalendar_dateformat => get_date_format_string_for_DHTMLcalendar(),
select_city => $select_city,
"step_$step" => 1,# associate with step to know where u are
step => $step,
destination => $destination,#to know wher u come from and wher u must go in redirect
check_member => $check_member,#to know if the borrower already exist(=>1) or not (=>0)
# flags =>$data{'flags'},
"op$op" => 1,
# op => $op,
nodouble => $nodouble,
borrowernumber => $borrowernumber,#register number
cardnumber => $data{'cardnumber'},
surname => uc($data{'surname'}),
firstname => ucfirst(lc $data{'firstname'}),
title => $data{'title'},
othernames => $data{'othernames'},
initials => $data{'initials'},
streetnumber => $data{'streetnumber'},
streettype =>$data{'streettype'},
address => $data{'address'},
address2 => $data{'address2'},
city => $data{'city'},
zipcode => $data{'zipcode'},
email => $data{'email'},
phone => $data{'phone'},
mobile => $data{'mobile'},
fax => $data{'fax'},
phonepro => $data{'phonepro'},
emailpro => $data{'emailpro'},
B_address => $data{'B_address'},
B_city => $data{'B_city'},
B_zipcode => $data{'B_zipcode'},
B_email => $data{'B_email'},
B_phone => $data{'B_phone'},
dateofbirth => $data{'dateofbirth'},
branchcode => $data{'branchcode'},
categorycode => $data{'categorycode'},
dateenrolled => format_date($data{'dateenrolled'}),
dateexpiry => format_date($data{'dateexpiry'}),
debarred => $data{'debarred'},
gonenoaddress => $data{'gonenoaddress'},
lost => $data{'lost'},
contactname => uc($data{'contactname'}),
contactfirstname=> ucfirst( lc $data{'contactfirstname'}),
"contacttitle_".$data{'contacttitle'} => "SELECTED" ,
contacttitle => $data{'contacttitle'},
guarantorid => $guarantorid,
ethcatpopup => $ethcatpopup,
sex => $data{'sex'},
userid => $data{'userid'},
password => $data{'password'},
opacnote => $data{'opacnote'},
contactnote => $data{'contactnote'},
borrowernotes => $data{'borrowernotes'},
relshiploop => \@relshipdata,
relationship => $data{'relationship'},
citypopup => $citypopup,
roadpopup => $roadpopup,
borrotitlepopup => $borrotitlepopup,
contacttype => $data{'contacttype'},
organisations => $data{'organisations'},
guarantorinfo => $guarantorinfo,
flagloop => \@flagdata,
# "contacttype_".$data{'contacttype'} =>" SELECTED ",
dateformat => display_date_format(),
check_categorytype =>$check_categorytype,#to recover the category type with checkcategorytype function
modify => $modify,
# city_choice => $city_choice ,#check if the city was selected
nok => $nok,#flag to konw if an error
CGIbranch => $CGIbranch,
memberofinstution => $member_of_institution,
CGIorganisations => $CGIorganisations,
);
#$template->param(Institution => 1) if ($categorycode eq "I");
output_html_with_http_headers $input, $cookie, $template->output;
}
select_city => $select_city,
"step_$step" => 1,# associate with step to know where u are
"$category_type" => 1,# associate with step to know where u are
step => $step,
destination => $destination,#to know wher u come from and wher u must go in redirect
check_member => $check_member,#to know if the borrower already exist(=>1) or not (=>0)
flags =>$data{'flags'},
"op$op" => 1,
nodouble => $nodouble,
borrowernumber => $borrowernumber,#register number
"contacttitle_".$data{'contacttitle'} => "SELECTED" ,
guarantorid => $guarantorid,
ethcatpopup => $ethcatpopup,
relshiploop => \@relshipdata,
citypopup => $citypopup,
roadpopup => $roadpopup,
borrotitlepopup => $borrotitlepopup,
guarantorinfo => $guarantorinfo,
flagloop => \@flagdata,
dateformat => display_date_format(),
check_categorytype =>$check_categorytype,#to recover the category type with checkcategorytype function
modify => $modify,
nok => $nok,#flag to konw if an error
CGIbranch => $CGIbranch,
memberofinstution => $member_of_institution,
CGIorganisations => $CGIorganisations,
);
output_html_with_http_headers $input, $cookie, $template->output;
# }
# Local Variables:
# tab-width: 8

Loading…
Cancel
Save