View | Details | Raw Unified | Return to bug 37510
Collapse All | Expand All

(-)a/Koha/Object.pm (-3 / +20 lines)
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
- 

Return to bug 37510