Lines 388-404
sub delete {
Link Here
|
388 |
} |
388 |
} |
389 |
|
389 |
|
390 |
# Handle lists (virtualshelves) |
390 |
# Handle lists (virtualshelves) |
391 |
my $new_owner = _new_owner(); |
391 |
$self->virtualshelves->disown_or_delete; |
392 |
my $lists = $self->virtualshelves; |
|
|
393 |
while( my $list = $lists->next ) { |
394 |
if( $new_owner && ( $list->is_public || $list->is_shared )) { |
395 |
# if new_owner had a share, remove it |
396 |
$list->remove_share( $new_owner ) if $list->is_private; |
397 |
$list->set({ owner => $new_owner })->store; # transfer ownership of public/shared list |
398 |
} else { # delete |
399 |
$list->delete; |
400 |
} |
401 |
} |
402 |
|
392 |
|
403 |
# We cannot have a FK on borrower_modifications.borrowernumber, the table is also used |
393 |
# We cannot have a FK on borrower_modifications.borrowernumber, the table is also used |
404 |
# for patron selfreg |
394 |
# for patron selfreg |
Lines 412-427
sub delete {
Link Here
|
412 |
return $self; |
402 |
return $self; |
413 |
} |
403 |
} |
414 |
|
404 |
|
415 |
sub _new_owner { |
|
|
416 |
if( C4::Context->preference('ListOwnershipUponPatronDeletion') eq 'transfer' ) { |
417 |
# designated owner overrides userenv |
418 |
my $designated_owner = C4::Context->preference('ListOwnerDesignated'); |
419 |
return $designated_owner if Koha::Patrons->find($designated_owner); |
420 |
my $userenv = C4::Context->userenv; |
421 |
return $userenv->{'number'} if $userenv; |
422 |
} |
423 |
} |
424 |
|
425 |
=head3 category |
405 |
=head3 category |
426 |
|
406 |
|
427 |
my $patron_category = $patron->category |
407 |
my $patron_category = $patron->category |