@@ -, +, @@
informations.
---
.../borrowers_primary_contact_method.sql | 3 ++
installer/data/mysql/kohastructure.sql | 3 ++
installer/data/mysql/updatedatabase.pl | 1 +
.../prog/en/modules/members/memberentrygen.tt | 61 ++++++++++++++++++++--
.../prog/en/modules/members/moremember.tt | 30 +++++++++--
.../bootstrap/en/modules/opac-memberentry.tt | 50 ++++++++++++++++++
members/memberentry.pl | 11 +++-
members/moremember.pl | 4 ++
opac/opac-memberentry.pl | 13 +++++
9 files changed, 168 insertions(+), 8 deletions(-)
create mode 100644 installer/data/mysql/atomicupdate/borrowers_primary_contact_method.sql
--- a/installer/data/mysql/atomicupdate/borrowers_primary_contact_method.sql
+++ a/installer/data/mysql/atomicupdate/borrowers_primary_contact_method.sql
@@ -0,0 +1,3 @@
+ALTER TABLE `borrowers` ADD COLUMN `primary_contact_method` VARCHAR(45) NULL DEFAULT NULL AFTER `lastseen`;
+ALTER TABLE `deletedborrowers` ADD COLUMN `primary_contact_method` VARCHAR(45) NULL DEFAULT NULL AFTER `overdrive_auth_token`;
+ALTER TABLE `borrower_modifications` ADD COLUMN `primary_contact_method` VARCHAR(45) NULL DEFAULT NULL AFTER `extended_attributes`;
--- a/installer/data/mysql/kohastructure.sql
+++ a/installer/data/mysql/kohastructure.sql
@@ -611,6 +611,7 @@ CREATE TABLE `deletedborrowers` ( -- stores data related to the patrons/borrower
`lang` varchar(25) NOT NULL default 'default', -- lang to use to send notices to this patron
`login_attempts` int(4) default 0, -- number of failed login attemps
`overdrive_auth_token` MEDIUMTEXT default NULL, -- persist OverDrive auth token
+ `primary_contact_method` varchar(45) DEFAULT NULL, -- useful for reporting purposes
KEY borrowernumber (borrowernumber),
KEY `cardnumber` (`cardnumber`),
KEY `sms_provider_id` (`sms_provider_id`)
@@ -1638,6 +1639,7 @@ CREATE TABLE `borrowers` ( -- this table includes information about your patrons
`lang` varchar(25) NOT NULL default 'default', -- lang to use to send notices to this patron
`login_attempts` int(4) default 0, -- number of failed login attemps
`overdrive_auth_token` MEDIUMTEXT default NULL, -- persist OverDrive auth token
+ `primary_contact_method` varchar(45) DEFAULT NULL, -- useful for reporting purposes
UNIQUE KEY `cardnumber` (`cardnumber`),
PRIMARY KEY `borrowernumber` (`borrowernumber`),
KEY `categorycode` (`categorycode`),
@@ -3427,6 +3429,7 @@ CREATE TABLE IF NOT EXISTS `borrower_modifications` (
`smsalertnumber` varchar(50) DEFAULT NULL,
`privacy` int(11) DEFAULT NULL,
`extended_attributes` MEDIUMTEXT DEFAULT NULL,
+ `primary_contact_method` varchar(45) DEFAULT NULL, -- useful for reporting purposes
PRIMARY KEY (`verification_token` (191),`borrowernumber`),
KEY `verification_token` (`verification_token` (191)),
KEY `borrowernumber` (`borrowernumber`)
--- a/installer/data/mysql/updatedatabase.pl
+++ a/installer/data/mysql/updatedatabase.pl
@@ -15632,6 +15632,7 @@ foreach my $file ( sort readdir $dirh ) {
}
}
+
=head1 FUNCTIONS
=head2 TableExists($table)
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt
+++ a/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt
@@ -405,7 +405,8 @@
[% UNLESS nophone && nophonepro && nomobile && noemail && noemailpro && nofax %]
[%END # hide fieldset %]
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt
+++ a/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt
@@ -166,9 +166,33 @@
[% ELSE %]
[% guarantor.firstname | html %] [% guarantor.surname | html %]
[% END %]
-
- [% END %]
-
+
+
+ [% ELSIF guarantor %]
+
+ Guarantor:
+ [% IF guarantor.borrowernumber %]
+ [% guarantor.firstname | html %] [% guarantor.surname | html %]
+ [% ELSE %]
+ [% guarantor.firstname | html %] [% guarantor.surname | html %]
+ [% END %]
+
+ [% END %]
+ [% SWITCH primary_contact_method %]
+ [% CASE 'phone' %]
+ Main contact method: Phone
+ [% CASE 'phonepro' %]
+ Main contact method: Secondary phone
+ [% CASE 'mobile' %]
+ Main contact method: Other Phone
+ [% CASE 'email' %]
+ Main contact method: Primary email
+ [% CASE 'emailpro' %]
+ Main contact method: Secondary email
+ [% CASE 'fax' %]
+ Main contact method: Fax
+ [% END %]
+
[% IF ( guarantor.borrowernumber ) %]
--- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-memberentry.tt
+++ a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-memberentry.tt
@@ -546,6 +546,56 @@
[% IF mandatory.defined('fax') %]Required[% END %]
[% END %]
+
+
+
+
[% END %]
--- a/members/memberentry.pl
+++ a/members/memberentry.pl
@@ -626,6 +626,16 @@ $template->param('typeloop' => \@typeloop,
no_categories => $no_categories);
if($no_categories){ $no_add = 1; }
+my @contactprincipalloop;
+my @fieldArray = qw(phone phonepro mobile email emailpro fax);
+foreach my $field (@fieldArray) {
+ if ( !(grep { $field eq $_ } @field_check)){
+ push @contactprincipalloop,{
+ 'currentis_' . $field => 1
+ };
+ }
+}
+$template->param('contactprincipalloop' => \@contactprincipalloop);
my $cities = Koha::Cities->search( {}, { order_by => 'city_name' } );
my $roadtypes = C4::Koha::GetAuthorisedValues( 'ROADTYPE' );
@@ -633,7 +643,6 @@ $template->param(
roadtypes => $roadtypes,
cities => $cities,
);
-
my $default_borrowertitle = '';
unless ( $op eq 'duplicate' ) { $default_borrowertitle=$data{'title'} }
--- a/members/moremember.pl
+++ a/members/moremember.pl
@@ -339,6 +339,10 @@ $template->param(
patron => $patron,
translated_language => $translated_language,
detailview => 1,
+ borrowernumber => $borrowernumber,
+ othernames => $data->{'othernames'},
+ categoryname => $patron->category->description,
+ primary_contact_method => $data->{'primary_contact_method'},
was_renewed => scalar $input->param('was_renewed') ? 1 : 0,
todaysdate => output_pref({ dt => dt_from_string, dateformat => 'iso', dateonly => 1 }),
totalprice => sprintf("%.2f", $totalprice),
--- a/opac/opac-memberentry.pl
+++ a/opac/opac-memberentry.pl
@@ -93,6 +93,19 @@ $template->param(
libraries => \@libraries,
OPACPatronDetails => C4::Context->preference('OPACPatronDetails'),
);
+my $check_BorrowerMandatoryField=C4::Context->preference("BorrowerMandatoryField");
+ my @field_check=split(/\|/,$check_BorrowerMandatoryField);
+ my @contactprincipalloop;
+ my @fieldArray = qw(phone phonepro mobile email emailpro fax);
+ foreach my $field (@fieldArray) {
+ if ( !(grep { $field eq $_ } @field_check)){
+ push @contactprincipalloop,{
+ 'currentis_' . $field => 1
+ };
+ }
+ }
+
+ $template->param('contactprincipalloop' => \@contactprincipalloop);
my $attributes = ParsePatronAttributes($borrowernumber,$cgi);
my $conflicting_attribute = 0;
--