Bug 38841: Check non-patron guarantor while deleting patron guarantor
When editing a child while Childneedsquarantor active, trying to delete a guarantor while saving a non-patron guarantor will prevent the user from saving. However, if an adult has expired, some librarian would like to remove the account and let some information in non-patron guarantor. TEST PLAN Before applying patch 1 - Open Lisa Charles'page, add Henry Acevedo as Guarantor, also fill Guarantor surname and firstname 2 - Edit the page and try and remove Henry Acevedo, it won't work however there is still one guarantor 3 - Apply patch 4 - Try and remove Henry Acevedo -> it will work 5 - add HA as a guarantor again 6 - try and remove him AND let guarantor firstname and surname empty -> you can't 7 - Add HA and Edna Acosta as guarantor 8 - Remove HA and ler guarantor firstname and surname empty -> you can Signed-off-by: Thibault Keromnes <thibault.keromnes@univ-paris8.fr> Signed-off-by: Lisette Scheer <lisette@bywatersolutions.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
This commit is contained in:
parent
d6af10d881
commit
e0be89266d
|
|
@ -271,9 +271,11 @@ if ( ( $op eq 'cud-insert' ) and !$nodouble ) {
|
|||
#Attempt to delete guarantors
|
||||
my @delete_guarantor = $input->multi_param('delete_guarantor');
|
||||
if (@delete_guarantor) {
|
||||
if ( C4::Context->preference('ChildNeedsGuarantor')
|
||||
&& scalar @guarantors - scalar @delete_guarantor == 0 )
|
||||
{
|
||||
my $will_remove_last =
|
||||
( scalar @guarantors - scalar @delete_guarantor == 0 )
|
||||
&& $newdata{'contactname'} eq q{}
|
||||
&& $newdata{'contactfirstname'} eq q{};
|
||||
if ( C4::Context->preference('ChildNeedsGuarantor') && $will_remove_last ) {
|
||||
push @errors, 'ERROR_cannot_delete_guarantor';
|
||||
} else {
|
||||
foreach my $id (@delete_guarantor) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue