|
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 |