]> wagnertech.de Git - mfinanz.git/blobdiff - SL/Controller/Order.pm
Auftrags-Controller: Verkäufer: copy/paste-Fehler behoben und eigene Liste.
[mfinanz.git] / SL / Controller / Order.pm
index 8b4733223988f6141034b33e67b174bcee778840..e3f45a8dffc23e6e3ae852f871a3f9fb278697dc 100644 (file)
@@ -124,6 +124,11 @@ sub action_create_pdf {
       $pdf = SL::Helper::CreatePDF->create_pdf(
         template  => SL::Helper::CreatePDF->find_template(name => $print_form->{formname}),
         variables => $print_form,
+        variable_content_types => {
+          longdescription => 'html',
+          partnotes       => 'html',
+          notes           => 'html',
+        },
       );
       1;
     } || push @errors, ref($EVAL_ERROR) eq 'SL::X::FormError' ? $EVAL_ERROR->getMessage : $EVAL_ERROR;
@@ -259,6 +264,18 @@ sub _js_redisplay_linetotals {
 sub _js_redisplay_amounts_and_taxes {
   my ($self) = @_;
 
+  if (scalar @{ $self->{taxes} }) {
+    $self->js->show('#taxincluded_row_id');
+  } else {
+    $self->js->hide('#taxincluded_row_id');
+  }
+
+  if ($self->order->taxincluded) {
+    $self->js->hide('#subtotal_row_id');
+  } else {
+    $self->js->show('#subtotal_row_id');
+  }
+
   $self->js
     ->html('#netamount_id', $::form->format_amount(\%::myconfig, $self->order->netamount, -2))
     ->html('#amount_id',    $::form->format_amount(\%::myconfig, $self->order->amount,    -2))
@@ -346,7 +363,7 @@ sub build_tax_rows {
 
   my $rows_as_html;
   foreach my $tax (@{ $self->{taxes} }) {
-    $rows_as_html .= $self->p->render('order/tabs/_tax_row', TAX => $tax);
+    $rows_as_html .= $self->p->render('order/tabs/_tax_row', TAX => $tax, TAXINCLUDED => $self->order->taxincluded);
   }
   return $rows_as_html;
 }
@@ -375,11 +392,13 @@ sub _recalc {
   $self->order->currency_id($::instance_conf->get_currency_id());
 
   my %pat = $self->order->calculate_prices_and_taxes();
-
   foreach my $tax_chart_id (keys %{ $pat{taxes} }) {
     my $tax = SL::DB::Manager::Tax->find_by(chart_id => $tax_chart_id);
-    push(@{ $self->{taxes} }, { amount => $pat{taxes}->{$tax_chart_id},
-                                tax    => $tax });
+
+    my @amount_keys = grep { $pat{amounts}->{$_}->{tax_id} == $tax->id } keys $pat{amounts};
+    push(@{ $self->{taxes} }, { amount    => $pat{taxes}->{$tax_chart_id},
+                                netamount => $pat{amounts}->{$amount_keys[0]}->{amount},
+                                tax       => $tax });
   }
 
   pairwise { $a->{linetotal} = $b->{linetotal} } @{$self->order->items}, @{$pat{items}};
@@ -412,6 +431,9 @@ sub _pre_render {
   $self->{all_employees}       = SL::DB::Manager::Employee->get_all(where => [ or => [ id => $self->order->employee_id,
                                                                                        deleted => 0 ] ],
                                                                     sort_by => 'name');
+  $self->{all_salesmen}        = SL::DB::Manager::Employee->get_all(where => [ or => [ id => $self->order->salesman_id,
+                                                                                       deleted => 0 ] ],
+                                                                    sort_by => 'name');
   $self->{all_projects}        = SL::DB::Manager::Project->get_all(where => [ or => [ id => $self->order->globalproject_id,
                                                                                       active => 1 ] ],
                                                                    sort_by => 'projectnumber');