- if ( $self->{contact}->used ) {
- $self->{contact}->detach();
- $self->{contact}->save();
- SL::Helper::Flash::flash('info', $::locale->text('Contact is in use and was flagged invalid.'));
- } else {
- $self->{contact}->delete();
- SL::Helper::Flash::flash('info', $::locale->text('Contact deleted.'));
- }
+
+ $db->do_transaction(sub {
+ if ( $self->{contact}->used ) {
+ $self->{contact}->detach();
+ $self->{contact}->save();
+ SL::Helper::Flash::flash('info', $::locale->text('Contact is in use and was flagged invalid.'));
+ } else {
+ $self->{contact}->delete();
+ SL::Helper::Flash::flash('info', $::locale->text('Contact deleted.'));
+ }
+ }) || die($db->error);