X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/ac86ce0822fb544d3080509343bdbcbb3eb6009a..1870f11e7915b768e83e18f8491f1e13d0702ead:/SL/Controller/CustomerVendor.pm diff --git a/SL/Controller/CustomerVendor.pm b/SL/Controller/CustomerVendor.pm index 1002a2e25..f2e4ff609 100644 --- a/SL/Controller/CustomerVendor.pm +++ b/SL/Controller/CustomerVendor.pm @@ -147,6 +147,19 @@ sub _save { employee_id => SL::DB::Manager::Employee->current->id, addition => 'SAVED', )->save(); + + if ( $::form->{delete_notes} ) { + foreach my $note_id (@{ $::form->{delete_notes} }) { + my $note = SL::DB::Note->new(id => $note_id)->load(); + if ( $note->follow_up ) { + if ( $note->follow_up->follow_up_link ) { + $note->follow_up->follow_up_link->delete(cascade => 'delete'); + } + $note->follow_up->delete(cascade => 'delete'); + } + $note->delete(cascade => 'delete'); + } + } }) || die($db->error); } @@ -170,10 +183,6 @@ sub action_save { push(@redirect_params, shipto_id => $self->{shipto}->shipto_id); } - if ( $self->{note}->id ) { - push(@redirect_params, note_id => $self->{note}->id); - } - $self->redirect_to(@redirect_params); } @@ -355,13 +364,17 @@ sub action_delete_shipto { sub action_search { my ($self) = @_; - my $url = 'ct.pl?action=search&db='. ($self->is_vendor() ? 'vendor' : 'customer'); + my @url_params = ( + controller => 'ct.pl', + action => 'search', + db => $self->is_vendor() ? 'vendor' : 'customer', + ); if ( $::form->{callback} ) { - $url .= '&callback='. $::from->escape($::form->{callback}); + push(@url_params, callback => $::form->{callback}); } - print $::form->redirect_header($url); + $self->redirect_to(@url_params); } @@ -371,7 +384,7 @@ sub action_search_contact { my $url = 'ct.pl?action=search_contact&db=customer'; if ( $::form->{callback} ) { - $url .= '&callback='. $::from->escape($::form->{callback}); + $url .= '&callback='. $::form->escape($::form->{callback}); } print $::form->redirect_header($url); @@ -622,17 +635,8 @@ sub _instantiate_args { if ( $::form->{note}->{id} ) { $self->{note} = SL::DB::Note->new(id => $::form->{note}->{id})->load(); - - $self->{note_followup_link} = SL::DB::Manager::FollowUpLink->get_all( - query => [ - 'follow_up.note_id' => $self->{note}->id, - trans_id => $self->{cv}->id, - trans_type => ($self->is_vendor() ? 'vendor' : 'customer'), - ], - with_objects => ['follow_up'], - )->[0]; - - $self->{note_followup} = $self->{note_followup_link}->follow_up; + $self->{note_followup} = $self->{note}->follow_up; + $self->{note_followup_link} = $self->{note_followup}->follow_up_link; } else { $self->{note} = SL::DB::Note->new(); $self->{note_followup} = SL::DB::FollowUp->new(); @@ -687,17 +691,8 @@ sub _load_customer_vendor { if ( $::form->{note_id} ) { $self->{note} = SL::DB::Note->new(id => $::form->{note_id})->load(); - - $self->{note_followup_link} = SL::DB::Manager::FollowUpLink->get_all( - query => [ - 'follow_up.note_id' => $self->{note}->id, - trans_id => $self->{cv}->id, - trans_type => ($self->is_vendor() ? 'vendor' : 'customer'), - ], - with_objects => ['follow_up'], - )->[0]; - - $self->{note_followup} = $self->{note_followup_link}->follow_up; + $self->{note_followup} = $self->{note}->follow_up; + $self->{note_followup_link} = $self->{note_followup}->follow_up_link; } else { $self->{note} = SL::DB::Note->new(); $self->{note_followup} = SL::DB::FollowUp->new(); @@ -832,6 +827,14 @@ sub _pre_render { $self->{shiptos} = $self->{cv}->shipto; $self->{shiptos} ||= []; + $self->{notes} = SL::DB::Manager::Note->get_all( + query => [ + trans_id => $self->{cv}->id, + trans_module => 'ct', + ], + with_objects => ['follow_up'], + ); + $self->{template_args} ||= {}; $::request->{layout}->add_javascripts('autocomplete_customer.js');