Merge branch 'master' of vc.linet-services.de:public/lx-office-erp
[kivitendo-erp.git] / bin / mozilla / am.pl
index 9abf798..997fd2c 100644 (file)
@@ -43,7 +43,6 @@ use SL::USTVA;
 use SL::Iconv;
 use SL::TODO;
 use SL::Printer;
-use CGI::Ajax;
 use CGI;
 
 require "bin/mozilla/common.pl";
@@ -346,12 +345,22 @@ sub account_header {
 
   }
 
+  # account where AR_tax or AP_tax is set are not orphaned if they are used as
+  # tax-o-matic account
+  if ( $form->{id} && !$form->{orphaned} && ($form->{link} =~ m/(AP_tax|AR_tax)/) ) {
+    if (SL::DB::Manager::Tax->find_by(chart_id => $form->{id})) {
+      $form->{orphaned} = 0;
+    }
+  }
+
   my $ChartTypeIsAccount = ($form->{charttype} eq "A") ? "1":"";
+  my $AccountIsPosted = ($form->{orphaned} ) ? "":"1";
 
   $form->header();
 
   my $parameters_ref = {
     ChartTypeIsAccount         => $ChartTypeIsAccount,
+    AccountIsPosted            => $AccountIsPosted,
     select_category            => $select_category,
     select_charttype           => $select_charttype,
     select_bwa                 => $select_bwa,
@@ -493,15 +502,6 @@ sub list_account {
     $ca->{link_edit_account} = $link_edit_account . '&id=' . E($ca->{id});
   }
 
-  # Ajax
-  my $pjx = new CGI::Ajax('list_account_details' => build_std_url('action=list_account_details'));
-
-  # Eneable AJAX debuging
-  #$pjx->DEBUG(1);
-  #$pjx->JSDEBUG(1);
-
-  push(@ { $form->{AJAX} }, $pjx);
-
   $form->use_stylesheet("list_accounts.css");
   $form->{title}       = $locale->text('Chart of Accounts');
 
@@ -568,7 +568,6 @@ sub list_account_details {
                : ( $link eq 'IC_income' )     ? $locale->text('Account Link IC_income')
                : ( $link eq 'IC_expense' )    ? $locale->text('Account Link IC_expense')
                : ( $link eq 'IC_taxservice' ) ? $locale->text('Account Link IC_taxservice')
-#               : ( $link eq 'CT_tax' )        ? $locale->text('Account Link CT_tax')
                : $locale->text('Unknown Link') . ': ' . $link;
       $ca->{link} .= ($link ne '') ?  "[$link] ":'';
     }
@@ -584,9 +583,8 @@ sub list_account_details {
   }
 
   $form->{title} = $locale->text('Chart of Accounts');
-  $form->header();
 
-  print $form->parse_html_template('am/list_account_details');
+  print $form->ajax_response_header, $form->parse_html_template('am/list_account_details');
 
   $main::lxdebug->leave_sub();
 
@@ -1549,7 +1547,10 @@ sub edit_defaults {
 
   map { $form->{"defaults_${_}"} = $form->{defaults}->{$_} } keys %{ $form->{defaults} };
 
-# EÜR = cash, Bilanzierung = accrual 
+  # default language
+  my $all_languages = SL::DB::Manager::Language->get_all;
+
+# EÜR = cash, Bilanzierung = accrual
 
   foreach my $key (keys %{ $form->{IC} }) {
     foreach my $accno (sort keys %{ $form->{IC}->{$key} }) {
@@ -1568,7 +1569,8 @@ sub edit_defaults {
   $form->{title} = $locale->text('Ranges of numbers and default accounts');
 
   $form->header();
-  print $form->parse_html_template('am/edit_defaults');
+  print $form->parse_html_template('am/edit_defaults',
+                                   { ALL_LANGUAGES => $all_languages, });
 
   $main::lxdebug->leave_sub();
 }
@@ -1656,14 +1658,7 @@ sub config {
     { 'name' => $locale->text('Queue'),   'value' => 'queue',   'selected' => $selected{queue}, },
     ];
 
-  $form->{PRINTERS} = [];
-  foreach my $printer (SL::Printer->all_printers(%::myconfig)) {
-    push @{ $form->{PRINTERS} }, {
-      'name'     => $printer->{printer_description},
-      'value'    => $printer->{id},
-      'selected' => $printer->{id} == $myconfig{default_printer_id},
-    };
-  }
+  $form->{PRINTERS} = [ SL::Printer->all_printers(%::myconfig) ];
 
   my %countrycodes = User->country_codes;
 
@@ -2052,7 +2047,8 @@ sub show_am_history {
 
   my $dbh = $form->dbconnect(\%myconfig);
 
-  my $restriction  = qq| AND (| . join(' OR ', map { " addition = " . $dbh->quote($_) } split(m/\,/, $form->{einschraenkungen})) . qq|)| if $form->{einschraenkungen};
+  my $restriction;
+  $restriction     = qq| AND (| . join(' OR ', map { " addition = " . $dbh->quote($_) } split(m/\,/, $form->{einschraenkungen})) . qq|)| if $form->{einschraenkungen};
   $restriction    .= qq| AND h.itime::date >= | . conv_dateq($form->{fromdate})                                                          if $form->{fromdate};
   $restriction    .= qq| AND h.itime::date <= | . conv_dateq($form->{todate})                                                            if $form->{todate};
   if ($form->{mitarbeiter} =~ m/^\d+$/) {