- for my $biblionumber ( @$biblionumbers ) {
- if ( $self->owner == $borrowernumber or $self->allow_delete_own ) {
- $number_removed += $self->get_contents->search(
- {
- biblionumber => $biblionumber,
- borrowernumber => $borrowernumber,
- }
- )->delete;
- }
- if ( $self->allow_delete_other ) {
- $number_removed += $self->get_contents->search(
- {
- biblionumber => $biblionumber,
- # FIXME
- # This does not make sense, but it's has been backported from DelFromShelf.
- # Why shouldn't we allow to remove his own contribution if allow_delete_other is on?
- borrowernumber => {
- -or => {
- '!=' => $borrowernumber,
- '=' => undef
- }
- },
- }
- )->delete;
- }
+ if( ( $self->owner == $borrowernumber && $self->allow_change_from_owner )
+ || $self->allow_change_from_others ) {
+ $number_removed += $self->get_contents->search({
+ biblionumber => $biblionumbers,
+ })->delete;