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