]> wagnertech.de Git - mfinanz.git/blobdiff - bin/mozilla/ap.pl
Kreditorenbuchungen: Währungs-Drop-Down nicht als Hidden mitschleifen
[mfinanz.git] / bin / mozilla / ap.pl
index 765c2c06de75a1bc344f3932c56ca49e1200e66a..5388714eb1239831c5d63f8209e9d3c649ef52e7 100644 (file)
@@ -42,6 +42,7 @@ use SL::GL;
 use SL::IR;
 use SL::IS;
 use SL::ReportGenerator;
+use SL::DB::Currency;
 use SL::DB::Default;
 use SL::DB::PurchaseInvoice;
 use SL::Webdav;
@@ -185,9 +186,6 @@ sub create_links {
   # currencies
   $form->{defaultcurrency} = $form->get_default_currency(\%myconfig);
 
-  $form->{selectcurrency} = "";
-  map { my $quoted = H($_); $form->{selectcurrency} .= "<option value=\"${quoted}\">${quoted}\n" } $form->get_all_currencies(\%myconfig);
-
   # vendors
   if (@{ $form->{all_vendor} || [] }) {
     $form->{vendor} = qq|$form->{vendor}--$form->{vendor_id}|;
@@ -248,7 +246,7 @@ sub form_header {
   # type=submit $locale->text('Edit Accounts Payables Transaction')
 
   # set option selected
-  foreach my $item (qw(vendor currency)) {
+  foreach my $item (qw(vendor)) {
     my $to_replace         =  H($form->{$item});
     $form->{"select$item"} =~ s/ selected//;
     $form->{"select$item"} =~ s/>\Q${to_replace}\E/ selected>${to_replace}/;
@@ -324,11 +322,6 @@ sub form_header {
     $charts{$item->{accno}} = $item;
   }
 
-  my %taxcharts = ();
-  foreach my $item (@{ $form->{ALL_TAXCHARTS} }) {
-    $taxcharts{$item->{id}} = $item;
-  }
-
   my $follow_up_vc         =  $form->{vendor};
   $follow_up_vc            =~ s/--.*?//;
   my $follow_up_trans_info =  "$form->{invnumber} ($follow_up_vc)";
@@ -348,8 +341,9 @@ sub form_header {
     my ($default_taxchart, $taxchart_to_use);
     my $amount_chart_id   = $form->{"AP_amount_chart_id_$i"} || $default_ap_amount_chart_id;
     my $chart_has_changed = $::form->{"previous_AP_amount_chart_id_$i"} && ($amount_chart_id != $::form->{"previous_AP_amount_chart_id_$i"});
+    my @taxcharts         = GL->get_active_taxes_for_chart($amount_chart_id, $transdate);
 
-    foreach my $item ( GL->get_active_taxes_for_chart($amount_chart_id, $transdate) ) {
+    foreach my $item (@taxcharts) {
       my $key             = $item->id . "--" . $item->rate;
       $first_taxchart   //= $item;
       $default_taxchart   = $item if $item->{is_default};
@@ -360,6 +354,7 @@ sub form_header {
     my $selected_taxchart            = $taxchart_to_use->id . '--' . $taxchart_to_use->rate;
     $form->{"selected_taxchart_$i"}  = $selected_taxchart;
     $form->{"AP_amount_chart_id_$i"} = $amount_chart_id;
+    $form->{"taxcharts_$i"}          = \@taxcharts;
   }
 
   $form->{taxchart_value_title_sub} = sub {
@@ -430,6 +425,7 @@ sub form_header {
 
   print $form->parse_html_template('ap/form_header', {
     today => DateTime->today,
+    currencies => SL::DB::Manager::Currency->get_all_sorted,
   });
 
   $main::lxdebug->leave_sub();
@@ -470,16 +466,11 @@ sub form_footer {
 }
 
 sub mark_as_paid {
-  $main::lxdebug->enter_sub();
-
-  my $form     = $main::form;
-  my %myconfig = %main::myconfig;
-
-  $main::auth->assert('ap_transactions');
+  $::auth->assert('ap_transactions');
 
-  &mark_as_paid_common(\%myconfig,"ap");
+  SL::DB::PurchaseInvoice->new(id => $::form->{id})->load->mark_as_paid;
 
-  $main::lxdebug->leave_sub();
+  $::form->redirect($::locale->text("Marked as paid"));
 }
 
 sub show_draft {