X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/6ef4190ee87f3b7ba053bcc247aa92b92ef02cb4..ef05899434f409d342d0574e2af82d80cab37eda:/SL/Controller/CustomerVendor.pm diff --git a/SL/Controller/CustomerVendor.pm b/SL/Controller/CustomerVendor.pm index 46857cbd0..b2e32e6fa 100644 --- a/SL/Controller/CustomerVendor.pm +++ b/SL/Controller/CustomerVendor.pm @@ -3,6 +3,8 @@ package SL::Controller::CustomerVendor; use strict; use parent qw(SL::Controller::Base); +use List::MoreUtils qw(any); + use SL::JSON; use SL::DBUtils; use SL::Helper::Flash; @@ -145,12 +147,12 @@ sub _save { title => ($self->is_vendor() ? t8('Edit Vendor') : t8('Edit Customer')), %{$self->{template_args}} ); - ::end_of_request(); + $::dispatcher->end_request; } my $db = $self->{cv}->db; - $db->do_transaction(sub { + $db->with_transaction(sub { my $cvs_by_nr; if ( $self->is_vendor() ) { if ( $self->{cv}->vendornumber ) { @@ -197,7 +199,7 @@ sub _save { } $self->{shipto}->trans_id($self->{cv}->id); - if( $self->{shipto}->shiptoname ne '' ) { + if(any { $self->{shipto}->$_ ne '' } qw(shiptoname shiptodepartment_1 shiptodepartment_2 shiptostreet shiptozipcode shiptocity shiptocountry shiptogln shiptocontact shiptophone shiptofax shiptoemail)) { $self->{shipto}->save(cascade => 1); } @@ -221,6 +223,8 @@ sub _save { $note->delete(cascade => 'delete'); } } + + 1; }) || die($db->error); } @@ -349,7 +353,7 @@ sub action_delete { $self->action_edit(); } else { - $db->do_transaction(sub { + $db->with_transaction(sub { $self->{cv}->delete(cascade => 1); my $snumbers = $self->is_vendor() ? 'vendornumber_'. $self->{cv}->vendornumber : 'customernumber_'. $self->{cv}->customernumber; @@ -377,7 +381,7 @@ sub action_delete_contact { SL::Helper::Flash::flash('error', $::locale->text('No contact selected to delete')); } else { - $db->do_transaction(sub { + $db->with_transaction(sub { if ( $self->{contact}->used ) { $self->{contact}->detach(); $self->{contact}->save(); @@ -386,6 +390,8 @@ sub action_delete_contact { $self->{contact}->delete(cascade => 1); SL::Helper::Flash::flash('info', $::locale->text('Contact deleted.')); } + + 1; }) || die($db->error); $self->{contact} = $self->_new_contact_object; @@ -403,7 +409,7 @@ sub action_delete_shipto { SL::Helper::Flash::flash('error', $::locale->text('No shipto selected to delete')); } else { - $db->do_transaction(sub { + $db->with_transaction(sub { if ( $self->{shipto}->used ) { $self->{shipto}->detach(); $self->{shipto}->save(cascade => 1); @@ -412,6 +418,8 @@ sub action_delete_shipto { $self->{shipto}->delete(cascade => 1); SL::Helper::Flash::flash('info', $::locale->text('Shipto deleted.')); } + + 1; }) || die($db->error); $self->{shipto} = SL::DB::Shipto->new();