Verhinderung von SQL injection durch Verwendung von parametrisierten Abfragen. Entfer...
[kivitendo-erp.git] / bin / mozilla / gl.pl
index b2b7885..87e20d1 100644 (file)
@@ -82,11 +82,11 @@ sub add {
 
   map {
     $chart .=
-      "<option value=\"$_->{accno}--$_->{taxkey_id}\">$_->{accno}--$_->{description}</option>"
+      "<option value=\"$_->{accno}--$_->{tax_id}\">$_->{accno}--$_->{description}</option>"
   } @{ $form->{chart} };
   map {
     $tax .=
-      qq|<option value="$_->{taxkey}--$_->{rate}">$_->{taxdescription}  |
+      qq|<option value="$_->{id}--$_->{rate}">$_->{taxdescription}  |
       . ($_->{rate} * 100) . qq| %|
   } @{ $form->{TAX} };
 
@@ -124,12 +124,12 @@ sub edit {
   GL->transaction(\%myconfig, \%$form);
   map {
     $chart .=
-      "<option value=\"$_->{accno}--$_->{taxkey_id}\">$_->{accno}--$_->{description}</option>"
+      "<option value=\"$_->{accno}--$_->{tax_id}\">$_->{accno}--$_->{description}</option>"
   } @{ $form->{chart} };
 
   map {
     $tax .=
-      qq|<option value="$_->{taxkey}--$_->{rate}">$_->{taxdescription}  |
+      qq|<option value="$_->{id}--$_->{rate}">$_->{taxdescription}  |
       . ($_->{rate} * 100) . qq| %|
   } @{ $form->{TAX} };
 
@@ -159,7 +159,7 @@ sub edit {
     $j = $i - 1;
     if ($tax && ($ref->{accno} eq $taxaccno)) {
       $form->{"tax_$j"}      = abs($ref->{amount});
-      $form->{"taxchart_$j"} = $ref->{taxkey} . "--" . $ref->{taxrate};
+      $form->{"taxchart_$j"} = $ref->{id} . "--" . $ref->{taxrate};
       if ($form->{taxincluded}) {
         if ($ref->{amount} < 0) {
           $form->{"debit_$j"} += $form->{"tax_$j"};
@@ -168,7 +168,7 @@ sub edit {
         }
       }
     } else {
-      $form->{"accno_$i"} = "$ref->{accno}--$ref->{accnotaxkey}";
+      $form->{"accno_$i"} = "$ref->{accno}--$ref->{tax_id}";
       for (qw(fx_transaction source memo)) { $form->{"${_}_$i"} = $ref->{$_} }
       if ($ref->{amount} < 0) {
         $form->{totaldebit} -= $ref->{amount};
@@ -177,7 +177,7 @@ sub edit {
         $form->{totalcredit} += $ref->{amount};
         $form->{"credit_$i"} = $ref->{amount};
       }
-      $form->{"taxchart_$i"} = "0--";
+      $form->{"taxchart_$i"} = "0--0.00";
       $i++;
     }
     if ($ref->{taxaccno} && !$tax) {
@@ -293,6 +293,7 @@ sub search {
        <tr>
          <th align=right>| . $locale->text('From') . qq|</th>
           $button1
+         <th align=right>| . $locale->text('To (time)') . qq|</th>
           $button2
        </tr>
        <tr>
@@ -749,16 +750,23 @@ sub generate_report {
       }
     }
 
+    $transdate = "";
+    foreach $key (sort keys(%{ $ref->{transdate} })) {
+      if ($key == 0) {
+        $transdate = "$ref->{transdate}{$key}";
+      } else {
+        $transdate .= "<br>$ref->{transdate}{$key}";
+      }
+    }
+
     #    $ref->{debit} = $form->format_amount(\%myconfig, $ref->{debit}, 2, "&nbsp;");
     #    $ref->{credit} = $form->format_amount(\%myconfig, $ref->{credit}, 2, "&nbsp;");
 
     $column_data{id}        = "<td align=right>&nbsp;$ref->{id}&nbsp;</td>";
-    $column_data{transdate} =
-      "<td align=center>&nbsp;$ref->{transdate}&nbsp;</td>";
+    $column_data{transdate}    = "<td align=center>$transdate</td>";
     $column_data{reference} =
       "<td align=center><a href=$ref->{module}.pl?action=edit&id=$ref->{id}&path=$form->{path}&login=$form->{login}&password=$form->{password}&callback=$callback>$ref->{reference}</td>";
-    $column_data{description} =
-      "<td align=center>$ref->{description}&nbsp;</td>";
+    $column_data{description}  = "<td align=center>$ref->{description}&nbsp;</td>";
     $column_data{source}       = "<td align=center>$ref->{source}&nbsp;</td>";
     $column_data{notes}        = "<td align=center>$ref->{notes}&nbsp;</td>";
     $column_data{debit}        = "<td align=right>$debit</td>";
@@ -848,14 +856,7 @@ sub generate_report {
 <input class=submit type=submit name=action value="|
     . $locale->text('Sales Invoice') . qq|">
 <input class=submit type=submit name=action value="|
-    . $locale->text('Vendor Invoice') . qq|">|;
-
-  if ($form->{menubar}) {
-    require "$form->{path}/menu.pl";
-    &menubar;
-  }
-
-  print qq|
+    . $locale->text('Vendor Invoice') . qq|">
 
 </form>
 
@@ -968,7 +969,7 @@ sub update {
         : $form->{"debit_$i"};
       $j = $#a;
       if (($debitcredit && $credittax) || (!$debitcredit && $debittax)) {
-        $form->{"taxchart_$i"} = "0--";
+        $form->{"taxchart_$i"} = "0--0.00";
         $form->{"tax_$i"}      = 0;
       }
       if (!$form->{"korrektur_$i"}) {
@@ -1211,7 +1212,7 @@ sub form_header {
   <!--
   function setTaxkey(accno, row) {
     var taxkey = accno.options[accno.selectedIndex].value;
-    var reg = /--([0-9])*/;
+    var reg = /--([0-9]*)/;
     var found = reg.exec(taxkey);
     var index = found[1];
     index = parseInt(index);
@@ -1463,11 +1464,6 @@ sub form_footer {
     }
   }
 
-  if ($form->{menubar}) {
-    require "$form->{path}/menu.pl";
-    &menubar;
-  }
-
   print "
   </form>
 
@@ -1489,12 +1485,12 @@ sub delete {
 <form method=post action=$form->{script}>
 |;
 
-  map { $form->{$_} =~ s/\"/&quot;/g } qw(reference description chart);
+  map { $form->{$_} =~ s/\"/&quot;/g } qw(reference description chart taxchart);
 
   delete $form->{header};
 
   foreach $key (keys %$form) {
-    print qq|<input type=hidden name=$key value="$form->{$key}">\n|;
+    print qq|<input type="hidden" name="$key" value="$form->{$key}">\n|;
   }
 
   print qq|
@@ -1608,7 +1604,7 @@ sub post {
         : $form->{"debit_$i"};
       $j = $#a;
       if (($debitcredit && $credittax) || (!$debitcredit && $debittax)) {
-        $form->{"taxchart_$i"} = "0--";
+        $form->{"taxchart_$i"} = "0--0.00";
         $form->{"tax_$i"}      = 0;
       }
       if (!$form->{"korrektur_$i"}) {
@@ -1691,6 +1687,11 @@ sub post {
   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!');