@@ -, +, @@
informations.
---
.../borrowers_primary_contact_method.sql | 3 ++
installer/data/mysql/kohastructure.sql | 3 ++
.../prog/en/modules/members/memberentrygen.tt | 61 ++++++++++++++++++++--
.../prog/en/modules/members/moremember.tt | 15 ++++++
.../bootstrap/en/modules/opac-memberentry.tt | 50 ++++++++++++++++++
members/memberentry.pl | 11 +++-
members/moremember.pl | 4 ++
opac/opac-memberentry.pl | 13 +++++
8 files changed, 155 insertions(+), 5 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
@@ -610,6 +610,7 @@ CREATE TABLE `deletedborrowers` ( -- stores data related to the patrons/borrower
`login_attempts` int(4) default 0, -- number of failed login attemps
`overdrive_auth_token` MEDIUMTEXT default NULL, -- persist OverDrive auth token
`flgAnonymized` tinyint DEFAULT 0, -- flag for data anonymization
+ `primary_contact_method` varchar(45) DEFAULT NULL, -- useful for reporting purposes
KEY borrowernumber (borrowernumber),
KEY `cardnumber` (`cardnumber`),
KEY `sms_provider_id` (`sms_provider_id`)
@@ -1644,6 +1645,7 @@ CREATE TABLE `borrowers` ( -- this table includes information about your patrons
`login_attempts` int(4) default 0, -- number of failed login attemps
`overdrive_auth_token` MEDIUMTEXT default NULL, -- persist OverDrive auth token
`flgAnonymized` tinyint DEFAULT 0, -- flag for data anonymization
+ `primary_contact_method` varchar(45) DEFAULT NULL, -- useful for reporting purposes
UNIQUE KEY `cardnumber` (`cardnumber`),
PRIMARY KEY `borrowernumber` (`borrowernumber`),
KEY `categorycode` (`categorycode`),
@@ -3461,6 +3463,7 @@ CREATE TABLE IF NOT EXISTS `borrower_modifications` (
`privacy` int(11) DEFAULT NULL,
`extended_attributes` MEDIUMTEXT DEFAULT NULL,
`gdpr_proc_consent` datetime, -- data processing consent
+ `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/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt
+++ a/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt
@@ -432,7 +432,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
@@ -265,6 +265,21 @@
[% 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 %]
[% # /div.rows %]
[% # /div#patron-information %]
--- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-memberentry.tt
+++ a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-memberentry.tt
@@ -548,6 +548,56 @@
[% IF mandatory.defined('fax') %]Required[% END %]
[% END %]
+
+
+
+
[% END %]
--- a/members/memberentry.pl
+++ a/members/memberentry.pl
@@ -645,6 +645,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' );
@@ -652,7 +662,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
@@ -319,6 +319,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
@@ -94,6 +94,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;
--