Bug #862 behoben, Funktionen fuer die Buttons unter den Listen (Rechnungen und Buchun...
[kivitendo-erp.git] / bin / mozilla / gl.pl
index 0f5f944..58266b5 100644 (file)
@@ -260,7 +260,7 @@ sub search {
     $button1 = qq|
        <td><input name=datefrom id=datefrom size=11 title="$myconfig{dateformat}" onBlur=\"check_right_date_format(this)\">
        <input type=button name=datefrom id="trigger1" value=|
-      . $locale->text('button') . qq|></td>  
+      . $locale->text('button') . qq|></td>
        |;
     $button2 = qq|
        <td><input name=dateto id=dateto size=11 title="$myconfig{dateformat}" onBlur=\"check_right_date_format(this)\">
@@ -497,9 +497,9 @@ sub generate_report {
     'projectnumbers'   => { 'text' => $locale->text('Project Numbers'), },
   );
 
-  foreach my $name (qw(id transdate reference source description debit_accno credit_accno debit_tax_accno credit_tax_accno)) {
+  foreach my $name (qw(id transdate reference description debit_accno credit_accno debit_tax_accno credit_tax_accno)) {
     my $sortname                = $name =~ m/accno/ ? 'accno' : $name;
-    my $sortdir                 = $sortname eq $name ? 1 - $form->{sortdir} : $form->{sortdir};
+    my $sortdir                 = $sortname eq $form->{sort} ? 1 - $form->{sortdir} : $form->{sortdir};
     $column_defs{$name}->{link} = $callback . "&sort=$sortname&sortdir=$sortdir";
   }
 
@@ -516,7 +516,7 @@ sub generate_report {
   $report->set_columns(%column_defs);
   $report->set_column_order(@columns);
 
-  $report->set_export_options('generate_report', @hidden_variables);
+  $report->set_export_options('generate_report', @hidden_variables, qw(sort sortdir));
 
   $report->set_sort_indicator($form->{sort} eq 'accno' ? 'debit_accno' : $form->{sort}, $form->{sortdir});
 
@@ -564,7 +564,7 @@ sub generate_report {
       }
     }
 
-    foreach my $key (qw(debit_accno credit_accno debit_tax_accno credit_tax_accno ac_transdate)) {
+    foreach my $key (qw(debit_accno credit_accno debit_tax_accno credit_tax_accno ac_transdate source)) {
       my $col = $key eq 'ac_transdate' ? 'transdate' : $key;
       $rows{$col} = [ map { $ref->{$key}->{$_} } sort keys(%{ $ref->{$key} }) ];
     }
@@ -575,9 +575,9 @@ sub generate_report {
     $row->{balance}->{data}        = $form->format_amount(\%myconfig, $form->{balance}, 2);
     $row->{projectnumbers}->{data} = join ", ", sort { lc($a) cmp lc($b) } keys %{ $ref->{projectnumbers} };
 
-    map { $row->{$_}->{data} = $ref->{$_} } qw(id reference description source notes);
+    map { $row->{$_}->{data} = $ref->{$_} } qw(id reference description notes);
 
-    map { $row->{$_}->{data} = \@{ $rows{$_} }; } qw(transdate debit credit debit_accno credit_accno debit_tax_accno credit_tax_accno);
+    map { $row->{$_}->{data} = \@{ $rows{$_} }; } qw(transdate debit credit debit_accno credit_accno debit_tax_accno credit_tax_accno source);
 
     foreach my $col (qw(debit_accno credit_accno debit_tax_accno credit_tax_accno)) {
       $row->{$col}->{link} = [ map { "${callback}&accno=" . E($_) } @{ $rows{$col} } ];
@@ -701,22 +701,20 @@ sub update {
         $form->{"taxchart_$i"} = "0--0.00";
         $form->{"tax_$i"}      = 0;
       }
-      if (!$form->{"korrektur_$i"}) {
-        ($taxkey, $rate) = split(/--/, $form->{"taxchart_$i"});
-        if ($taxkey > 1) {
-          if ($debitcredit) {
-            $debittax = 1;
-          } else {
-            $credittax = 1;
-          }
-          if ($form->{taxincluded}) {
-            $form->{"tax_$i"} = $amount / ($rate + 1) * $rate;
-          } else {
-            $form->{"tax_$i"} = $amount * $rate;
-          }
+      ($taxkey, $rate) = split(/--/, $form->{"taxchart_$i"});
+      if ($taxkey > 1) {
+        if ($debitcredit) {
+          $debittax = 1;
         } else {
-          $form->{"tax_$i"} = 0;
+          $credittax = 1;
+        }
+        if ($form->{taxincluded}) {
+          $form->{"tax_$i"} = $amount / ($rate + 1) * $rate;
+        } else {
+          $form->{"tax_$i"} = $amount * $rate;
         }
+      } else {
+        $form->{"tax_$i"} = 0;
       }
 
       for (@flds) { $a[$j]->{$_} = $form->{"${_}_$i"} }
@@ -813,14 +811,17 @@ sub display_rows {
 
   for $i (1 .. $form->{rowcount}) {
 
-    $source = qq|
-    <td><input name="source_$i" value="$form->{"source_$i"}" size="16"></td>|;
-    $memo = qq|
-    <td><input name="memo_$i" value="$form->{"memo_$i"}" size="16"></td>|;
-    $source_hidden = qq|
-    <input type="hidden" name="source_$i" value="$form->{"source_$i"}" size="16">|;
-    $memo_hidden = qq|
-    <input type="hidden" name="memo_$i" value="$form->{"memo_$i"}" size="16">|;
+    if ($form->{show_details}) {
+      $source = qq|
+      <td><input name="source_$i" value="$form->{"source_$i"}" size="16"></td>|;
+      $memo = qq|
+      <td><input name="memo_$i" value="$form->{"memo_$i"}" size="16"></td>|;
+    } else {
+      $source_hidden = qq|
+      <input type="hidden" name="source_$i" value="$form->{"source_$i"}" size="16">|;
+      $memo_hidden = qq|
+      <input type="hidden" name="memo_$i" value="$form->{"memo_$i"}" size="16">|;
+    }
 
     my $selected_accno_full;
     my ($accno_row) = split(/--/, $form->{"accno_$i"});
@@ -862,8 +863,6 @@ sub display_rows {
       . qq|</td>|;
 
     if ($init) {
-      $korrektur =
-        qq|<td><input type="checkbox" name="korrektur_$i" value="1"></td>|;
       if ($form->{transfer}) {
         $fx_transaction = qq|
         <td><input name="fx_transaction_$i" class=checkbox type=checkbox value=1></td>
@@ -898,14 +897,9 @@ sub display_rows {
       <td><input type=hidden name="fx_transaction_$i" value="$checked">$x</td>
     |;
         }
-        $checked = ($form->{"korrektur_$i"}) ? "checked" : "";
-        $korrektur =
-          qq|<td><input type="checkbox" name="korrektur_$i" value="1" $checked></td>|;
         $form->hide_form("accno_$i");
 
       } else {
-        $korrektur =
-          qq|<td><input type="checkbox" name="korrektur_$i" value="1"></td>|;
         if ($form->{transfer}) {
           $fx_transaction = qq|
       <td><input name="fx_transaction_$i" class=checkbox type=checkbox value=1></td>
@@ -936,8 +930,7 @@ sub display_rows {
     $fx_transaction
     <td><input name="debit_$i" size="8" value="$form->{"debit_$i"}" accesskey=$i $copy2credit $debitreadonly></td>
     <td><input name="credit_$i" size=8 value="$form->{"credit_$i"}" $creditreadonly></td>
-    <td><input name="tax_$i" size=6 value="$form->{"tax_$i"}"></td>
-    $korrektur
+    <td><input type="hidden" name="tax_$i" value="$form->{"tax_$i"}">$form->{"tax_$i"}</td>
     $tax|;
 
     if ($form->{show_details}) {
@@ -1048,7 +1041,7 @@ sub form_header {
     $button1 = qq|
        <td><input name=transdate id=transdate size=11 title="$myconfig{dateformat}" value="$form->{transdate}" $readonly onBlur=\"check_right_date_format(this)\">
        <input type=button name=transdate id="trigger1" value=|
-      . $locale->text('button') . qq|></td>  
+      . $locale->text('button') . qq|></td>
        |;
 
     #write Trigger
@@ -1069,7 +1062,6 @@ sub form_header {
   print qq|
 <body onLoad="focus()">
 
-<script type="text/javascript" src="js/common.js"></script>
 <script type="text/javascript" src="js/follow_up.js"></script>
 
 <form method=post name="gl" action=gl.pl>
@@ -1128,7 +1120,7 @@ sub form_header {
          </td>
        </tr>|;
   }
-  print qq|    
+  print qq|
        $department|;
   if ($form->{id}) {
     print qq|
@@ -1197,8 +1189,6 @@ sub form_header {
           <th class=listheading style="width:10%">|
     . $locale->text('Tax') . qq|</th>
           <th class=listheading style="width:5%">|
-    . $locale->text('Korrektur') . qq|</th>
-          <th class=listheading style="width:10%">|
     . $locale->text('Taxkey') . qq|</th>|;
 
   if ($form->{show_details}) {
@@ -1246,7 +1236,7 @@ sub form_footer {
     <tr class=listtotal>
     <td></td>
     <th align=right class=listtotal> $form->{totaldebit}</th>
-    <th align=right class=listtotal> $form->{totalcredit}</th> 
+    <th align=right class=listtotal> $form->{totalcredit}</th>
     <td colspan=6></td>
     </tr>
   </table>
@@ -1277,7 +1267,7 @@ $follow_ups_block
         <input class=submit type=submit name=action value="| . $locale->text('Delete') . qq|">|;
     }
 
-    print qq|        
+    print qq|
         <input class=submit type=submit name=action id=update_button value="| . $locale->text('Update') . qq|">
         <input type="button" class="submit" onclick="follow_up_window()" value="|
       . $locale->text('Follow-Up')
@@ -1343,7 +1333,7 @@ sub yes {
            $form->{addition} = "DELETED";
            $form->save_history($form->dbconnect(\%myconfig));
       }
-    # /saving the history 
+    # /saving the history
     $form->redirect($locale->text('Transaction deleted!'))
   }
   $form->error($locale->text('Cannot delete transaction!'));
@@ -1421,33 +1411,25 @@ sub post_transaction {
       $form->{"taxchart_$i"} = "0--0.00";
       $form->{"tax_$i"}      = 0;
     }
-    if (!$form->{"korrektur_$i"}) {
-      ($taxkey, $rate) = split(/--/, $form->{"taxchart_$i"});
-      if ($taxkey > 1) {
+    ($taxkey, $rate) = split(/--/, $form->{"taxchart_$i"});
+    if ($taxkey > 1) {
+      if ($debitcredit) {
+        $debittax = 1;
+      } else {
+        $credittax = 1;
+      }
+      if ($form->{taxincluded}) {
+        $form->{"tax_$i"} = $amount / ($rate + 1) * $rate;
         if ($debitcredit) {
-          $debittax = 1;
-        } else {
-          $credittax = 1;
-        }
-        if ($form->{taxincluded}) {
-          $form->{"tax_$i"} = $amount / ($rate + 1) * $rate;
-          if ($debitcredit) {
-            $form->{"debit_$i"} = $form->{"debit_$i"} - $form->{"tax_$i"};
-          } else {
-            $form->{"credit_$i"} = $form->{"credit_$i"} - $form->{"tax_$i"};
-          }
+          $form->{"debit_$i"} = $form->{"debit_$i"} - $form->{"tax_$i"};
         } else {
-          $form->{"tax_$i"} = $amount * $rate;
+          $form->{"credit_$i"} = $form->{"credit_$i"} - $form->{"tax_$i"};
         }
       } else {
-        $form->{"tax_$i"} = 0;
-      }
-    } elsif ($form->{taxincluded}) {
-      if ($debitcredit) {
-        $form->{"debit_$i"} = $form->{"debit_$i"} - $form->{"tax_$i"};
-      } else {
-        $form->{"credit_$i"} = $form->{"credit_$i"} - $form->{"tax_$i"};
+        $form->{"tax_$i"} = $amount * $rate;
       }
+    } else {
+      $form->{"tax_$i"} = 0;
     }
 
     for (@flds) { $a[$j]->{$_} = $form->{"${_}_$i"} }
@@ -1474,7 +1456,7 @@ sub post_transaction {
     $credit   += $cr + $tax if $cr;
     $taxtotal += $tax if $form->{taxincluded}
   }
-  
+
   $form->{taxincluded} = 0 if !$taxtotal;
 
   # this is just for the wise guys
@@ -1483,11 +1465,11 @@ sub post_transaction {
   if ($form->round_amount($debit, 2) != $form->round_amount($credit, 2)) {
     $form->error($locale->text('Out of balance transaction!'));
   }
-  
+
   if ($form->round_amount($debit, 2) + $form->round_amount($credit, 2) == 0) {
     $form->error($locale->text('Empty transaction!'));
   }
-  
+
   if (($errno = GL->post_transaction(\%myconfig, \%$form)) <= -1) {
     $errno *= -1;
     $err[1] = $locale->text('Cannot have a value in both Debit and Credit!');
@@ -1501,10 +1483,10 @@ sub post_transaction {
   if(!exists $form->{addition} && $form->{id} ne "") {
     $form->{snumbers} = qq|ordnumber_| . $form->{ordnumber};
     $form->{addition} = "SAVED";
-    $form->{what_done} = $locale->text("Buchungsnummer") . " = " . $form->{id}; 
+    $form->{what_done} = $locale->text("Buchungsnummer") . " = " . $form->{id};
     $form->save_history($form->dbconnect(\%myconfig));
   }
-  # /saving the history 
+  # /saving the history
 
   $lxdebug->leave_sub();
 }
@@ -1555,9 +1537,9 @@ sub storno {
     $form->{addition} = "STORNO";
     $form->save_history($form->dbconnect(\%myconfig));
   }
-  # /saving the history 
+  # /saving the history
 
-  $form->redirect(sprintf $locale->text("Transaction %d cancelled."), $form->{storno_id}); 
+  $form->redirect(sprintf $locale->text("Transaction %d cancelled."), $form->{storno_id});
 
   $lxdebug->leave_sub();
 }