Lines 233-243
Returns:
Link Here
|
233 |
sub delete { |
233 |
sub delete { |
234 |
my ($self) = @_; |
234 |
my ($self) = @_; |
235 |
|
235 |
|
236 |
my $deleted = $self->_result()->delete; |
236 |
my $deleted; |
|
|
237 |
|
238 |
try { |
239 |
$deleted = $self->_result()->delete; |
240 |
} catch { |
241 |
if ( ref($_) eq 'DBIx::Class::Exception' ) { |
242 |
if ( $_->{msg} =~ /Cannot delete or update a parent row\: a foreign key constraint fails/ ) { |
243 |
if ( $_->{msg} =~ /FOREIGN KEY \(\`(?<column>.*?)\`\)/ ) { |
244 |
Koha::Exceptions::Object::FKConstraint->throw( |
245 |
error => 'Broken FK constraint', |
246 |
broken_fk => $+{column} |
247 |
); |
248 |
} |
249 |
} |
250 |
$_->rethrow(); |
251 |
} |
252 |
}; |
253 |
|
237 |
if ( ref $deleted ) { |
254 |
if ( ref $deleted ) { |
238 |
my $object_class = Koha::Object::_get_object_class( $self->_result->result_class ); |
255 |
my $object_class = Koha::Object::_get_object_class( $self->_result->result_class ); |
239 |
$deleted = $object_class->_new_from_dbic($deleted); |
256 |
$deleted = $object_class->_new_from_dbic($deleted); |
240 |
} |
257 |
} |
|
|
258 |
|
241 |
return $deleted; |
259 |
return $deleted; |
242 |
} |
260 |
} |
243 |
|
261 |
|
244 |
- |
|
|