X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FController%2FLetter.pm;h=3ee9eb78dff5dc96c981c63e1e7dd03b05edc880;hb=a5de265327b7877bc32e2a5c5b0fd1d01ac3492f;hp=d299eea1e1572753c9112e7b8a0a16556579cdc5;hpb=ac1a9e8e357375b2426041eefee1f555fc5139b5;p=kivitendo-erp.git diff --git a/SL/Controller/Letter.pm b/SL/Controller/Letter.pm index d299eea1e..3ee9eb78d 100644 --- a/SL/Controller/Letter.pm +++ b/SL/Controller/Letter.pm @@ -20,6 +20,7 @@ use SL::Helper::PrintOptions; use SL::Locale::String qw(t8); use SL::Mailer; use SL::IS; +use SL::Presenter::Tag qw(select_tag); use SL::ReportGenerator; use SL::Webdav; use SL::Webdav::File; @@ -105,7 +106,7 @@ sub action_update_contacts { return $self->js ->replaceWith( '#letter_cp_id', - SL::Presenter->get->select_tag('letter.cp_id', [], value_key => 'cp_id', title_key => 'full_name') + select_tag('letter.cp_id', [], value_key => 'cp_id', title_key => 'full_name') ) ->render; } @@ -124,7 +125,7 @@ sub action_update_contacts { $self->js ->replaceWith( '#letter_cp_id', - SL::Presenter->get->select_tag('letter.cp_id', $contacts, default => $default, value_key => 'cp_id', title_key => 'full_name') + select_tag('letter.cp_id', $contacts, default => $default, value_key => 'cp_id', title_key => 'full_name') ) ->render; } @@ -150,7 +151,7 @@ sub action_delete { my ($self, %params) = @_; if (!$self->letter->delete) { - flash('error', t8('An error occured. Letter could not be deleted.')); + flash('error', t8('An error occurred. Letter could not be deleted.')); return $self->action_update; } @@ -176,7 +177,7 @@ sub action_list { $self->prepare_report; my $letters = $self->models->get; - $self->report_generator_list_objects(report => $self->{report}, objects => $letters, action_bar => 1); + $self->report_generator_list_objects(report => $self->{report}, objects => $letters); } @@ -241,11 +242,11 @@ sub action_print_letter { my $signature = $::myconfig{signature}; $mail->{$_} = $params{email}->{$_} for qw(to cc subject message bcc); $mail->{from} = qq|"$::myconfig{name}" <$::myconfig{email}>|; - $mail->{attachments} = [{ filename => $result{file_name}, - name => $params{email}->{attachment_filename} }]; + $mail->{attachments} = [{ path => $result{file_name}, + name => $params{email}->{attachment_filename} }]; $mail->{message} .= "\n-- \n$signature"; $mail->{message} =~ s/\r//g; - + $mail->{record_id} = $letter->id; $mail->send; unlink $result{file_name}; @@ -322,9 +323,6 @@ sub _display { $::form->{type} = 'letter'; # needed for print_options $::form->{vc} = $letter->is_sales ? 'customer' : 'vendor'; # needs to be for _get_contacts... - $::request->layout->add_javascripts('customer_or_vendor_selection.js'); - $::request->layout->add_javascripts('edit_part_window.js'); - $::form->{language_id} ||= $params{language_id}; $::form->{languages} ||= SL::DB::Manager::Language->get_all_sorted; $::form->{printers} = SL::DB::Manager::Printer->get_all_sorted; @@ -578,7 +576,6 @@ sub init_webdav_objects { number => $self->letter->letternumber, ); - my $webdav_path = $webdav->webdav_path; my @all_objects = $webdav->get_all_objects; return [ map { @@ -595,11 +592,13 @@ sub init_is_sales { } sub check_auth_edit { - $::auth->assert('sales_letter_edit'); + $::form->{is_sales} ? $::auth->assert('sales_letter_edit') + : $::auth->assert('purchase_letter_edit'); } sub check_auth_report { - $::auth->assert('sales_letter_report'); + $::form->{is_sales} ? $::auth->assert('sales_letter_report') + : $::auth->assert('purchase_letter_report'); } sub setup_load_letter_draft_action_bar { @@ -655,7 +654,7 @@ sub setup_display_action_bar { action => [ t8('Export') ], action => [ t8('Print'), - submit => [ '#form', { action => 'Letter/print_letter' } ], + call => [ 'kivi.SalesPurchase.show_print_dialog', 'Letter/print_letter' ], disabled => !$self->letter->id ? t8('The object has not been saved yet.') : undef, ], action => [