@@ -, +, @@ be deletable. --- .../intranet-tmpl/prog/en/modules/members/moremember.tt | 4 ++++ members/deletemem.pl | 7 +++++++ misc/cronjobs/delete_patrons.pl | 9 ++++++++- 3 files changed, 19 insertions(+), 1 deletion(-) --- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt @@ -54,6 +54,10 @@

Unable to delete patrons from other libraries with current settings

Insufficient privileges.

[% END %] + [% IF ( error == 'CANT_DELETE_ANONYMOUS_PATRON' ) %] +

Unable to delete patron that is set as AnonymousPatron

+

This patron cannot be deleted while set as AnonymousPatron in the system preferences.

+ [% END %] [% IF ( error == 'CANT_DELETE' ) %]

Unable to delete patron

Insufficient privileges.

--- a/members/deletemem.pl +++ a/members/deletemem.pl @@ -82,6 +82,13 @@ if (C4::Context->preference("IndependentBranches")) { } } +if ( my $anonymous_patron = C4::Context->preference("AnonymousPatron") ) { + if ( $patron->id eq $anonymous_patron ) { + print $input->redirect("/cgi-bin/koha/members/moremember.pl?borrowernumber=$member&error=CANT_DELETE_ANONYMOUS_PATRON"); + exit 0; # Exit without error + } +} + my $op = $input->param('op') || 'delete_confirm'; my $dbh = C4::Context->dbh; my $is_guarantor = $dbh->selectrow_array("SELECT COUNT(*) FROM borrowers WHERE guarantorid=?", undef, $member); --- a/misc/cronjobs/delete_patrons.pl +++ a/misc/cronjobs/delete_patrons.pl @@ -59,7 +59,7 @@ unless ($confirm) { } say scalar(@$members) . " patrons to delete"; - +my $anonymous_patron = C4::Context->preference("AnonymousPatron"); my $deleted = 0; for my $member (@$members) { print "Trying to delete patron $member->{borrowernumber}... " @@ -76,6 +76,13 @@ for my $member (@$members) { next; } + if ( $anonymous_patron ) { + if ( $patron->id eq $anonymous_patron ) { + say "Failed to delete patron $borrowernumber: patron is AnonymousPatron"; + next; + } + } + if ( $confirm ) { my $deleted = eval { $patron->move_to_deleted; }; if ($@ or not $deleted) { --