From be9bb435fd3cb3cb9e78e9ed754f0b71e73812dd Mon Sep 17 00:00:00 2001
From: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Date: Fri, 3 Sep 2021 14:13:32 +0000
Subject: [PATCH] Bug 28935: Add logging to controller scripts

Logged at DEBUG level.

Test plan:
Adjust your logging config, add forbidden field, check log.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
---
 members/memberentry.pl   |  5 ++++-
 opac/opac-memberentry.pl | 10 +++++++---
 2 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/members/memberentry.pl b/members/memberentry.pl
index 227792c13a..5942c73195 100755
--- a/members/memberentry.pl
+++ b/members/memberentry.pl
@@ -47,6 +47,7 @@ use Koha::Token;
 use Email::Valid;
 use Koha::SMS::Providers;
 use Koha::Patron::Allowlist;
+use Koha::Logger;
 
 my $allowlist = Koha::Patron::Allowlist->new({ interface => 'staff' });
 $allowlist->load;
@@ -434,7 +435,9 @@ if ( defined $sms ) {
     $newdata{smsalertnumber} = $sms;
 }
 
-my $blocked = $allowlist->apply({ input => \%newdata, verbose => 1 }); # TODO Should we log results in $blocked ?
+my $blocked = $allowlist->apply({ input => \%newdata, verbose => 1 });
+Koha::Logger->get->debug( 'memberentry.pl: allowlist blocked fields: '.
+    ( join ', ', map { $_. '='. $blocked->{$_} } sort keys %$blocked ) ) if keys %$blocked;
 
 ###  Error checks should happen before this line.
 $nok = $nok || scalar(@errors);
diff --git a/opac/opac-memberentry.pl b/opac/opac-memberentry.pl
index e8e9688b19..1aa490f067 100755
--- a/opac/opac-memberentry.pl
+++ b/opac/opac-memberentry.pl
@@ -45,8 +45,8 @@ use Koha::Patron::Modifications;
 use Koha::Patron::Categories;
 use Koha::Token;
 use Koha::AuthorisedValues;
-
 use Koha::Patron::Allowlist;
+use Koha::Logger;
 
 my $allowlist = Koha::Patron::Allowlist->new;
 $allowlist->load;
@@ -138,7 +138,9 @@ if ( $action eq 'create' ) {
 
     my @unwanted_fields = split( /\|/, C4::Context->preference('PatronSelfRegistrationBorrowerUnwantedField') || q|| );
     $allowlist->remove( @unwanted_fields );
-    my $blocked = $allowlist->apply({ input => \%borrower, verbose => 1 }); # TODO Log blocked data ?
+    my $blocked = $allowlist->apply({ input => \%borrower, verbose => 1 });
+    Koha::Logger->get->debug( 'opac-memberentry.pl: allowlist blocked fields: '.
+        ( join ', ', map { $_. '='. $blocked->{$_} } sort keys %$blocked ) ) if keys %$blocked;
 
     my $cardnumber_error_code;
     if ( !grep { $_ eq 'cardnumber' } @empty_mandatory_fields ) {
@@ -277,7 +279,9 @@ elsif ( $action eq 'update' ) {
     my @unwanted_fields = split( /\|/, C4::Context->preference('PatronSelfModificationBorrowerUnwantedField') || q|| );
     $allowlist->remove( @unwanted_fields );
     $allowlist->add( 'borrowernumber' ); # added because inserted after ParseCgi call
-    my $blocked = $allowlist->apply({ input => \%borrower, verbose => 1 }); # TODO Log blocked data ?
+    my $blocked = $allowlist->apply({ input => \%borrower, verbose => 1 });
+    Koha::Logger->get->debug( 'opac-memberentry.pl: allowlist blocked fields: '.
+        ( join ', ', map { $_. '='. $blocked->{$_} } sort keys %$blocked ) ) if keys %$blocked;
 
     # Send back the data to the template
     %borrower = ( %$borrower, %borrower );
-- 
2.20.1