Die ausgewiesenen Mahngebühren gelten pro Rechnung, nicht pro erzeugter Mahnung,...
[kivitendo-erp.git] / bin / mozilla / ap.pl
index b0ab990..9c71519 100644 (file)
@@ -93,9 +93,6 @@ sub add {
 
 sub edit {
   $lxdebug->enter_sub();
-  # show history button
-  $form->{javascript} = qq|<script type="text/javascript" src="js/show_history.js"></script>|;
-  #/show hhistory button
 
   $form->{title} = "Edit";
 
@@ -319,6 +316,9 @@ sub form_header {
   };
   //-->
   </script>|;
+  # show history button
+  $form->{javascript} .= qq|<script type="text/javascript" src="js/show_history.js"></script>|;
+  #/show hhistory button
 
   # set option selected
   foreach $item (qw(vendor currency department)) {
@@ -455,7 +455,7 @@ selectvendor } </select>|
   }
 
   # use JavaScript Calendar or not
-  $form->{jsscript} = $jscalendar;
+  $form->{jsscript} = 1;
   $jsscript = "";
   if ($form->{jsscript}) {
 
@@ -484,6 +484,8 @@ selectvendor } </select>|
       qq|<td><input name=duedate id=duedate size=11 title="$myconfig{dateformat}" value="$form->{duedate}" onBlur=\"check_right_date_format(this)\"> $readonly</td>|;
   }
   $form->{javascript} .= qq|<script type="text/javascript" src="js/common.js"></script>|;
+  $form->{javascript} .= qq|<script type="text/javascript" src="js/show_vc_details.js"></script>|;
+
   $form->header;
   $onload = qq|;setupDateFormat('|. $myconfig{dateformat} .qq|', '|. $locale->text("Falsches Datumsformat!") .qq|')|;
   $onload .= qq|;setupPoints('|. $myconfig{numberformat} .qq|', '|. $locale->text("wrongformat") .qq|')|;
@@ -513,7 +515,7 @@ selectvendor } </select>|
            <table>
              <tr>
                <th align=right nowrap>| . $locale->text('Vendor') . qq|</th>
-               <td colspan=3>$vendor</td>
+               <td colspan=3>$vendor <input type="button" value="?" onclick="show_vc_details('vendor')"></td>
                <input type=hidden name=selectvendor value="$form->{selectvendor}">
                <input type=hidden name=oldvendor value="$form->{oldvendor}">
                <input type=hidden name=vendor_id value="$form->{vendor_id}">
@@ -880,11 +882,11 @@ sub form_footer {
   # button for saving history
   if($form->{id} ne "") {
     print qq|
-         <input type=button class=submit onclick=set_history_window(|
+         <input type="button" class="submit" onclick="set_history_window(|
          . $form->{id} 
-         . qq|); name=history id=history value=|
+         . qq|);" name="history" id="history" value="|
          . $locale->text('history') 
-         . qq|>|;
+         . qq|">|;
   }
   # /button for saving history
   print "
@@ -991,7 +993,7 @@ sub update {
 sub post_payment {
   $lxdebug->enter_sub();
   for $i (1 .. $form->{paidaccounts}) {
-    if ($form->{"paid_$i"}) {
+    if ($form->parse_amount(\%myconfig, $form->{"paid_$i"})) {
       $datepaid = $form->datetonum($form->{"datepaid_$i"}, \%myconfig);
 
       $form->isblank("datepaid_$i", $locale->text('Payment date missing!'));
@@ -1029,9 +1031,17 @@ sub post {
 
   $closedto  = $form->datetonum($form->{closedto},  \%myconfig);
   $transdate = $form->datetonum($form->{transdate}, \%myconfig);
+  $form->error($locale->text('Cannot post transaction for a closed period!')) if ($transdate <= $closedto);
+
+  my $zero_amount_posting = 1;
+  for $i (1 .. $form->{rowcount}) {
+    if ($form->parse_amount(\%myconfig, $form->{"amount_$i"})) {
+      $zero_amount_posting = 0;
+      last;
+    }
+  }
 
-  $form->error($locale->text('Cannot post transaction for a closed period!'))
-    if ($transdate <= $closedto);
+  $form->error($locale->text('Zero amount posting!')) if $zero_amount_posting;
 
   $form->isblank("exchangerate", $locale->text('Exchangerate missing!'))
     if ($form->{currency} ne $form->{defaultcurrency});
@@ -1204,7 +1214,7 @@ sub search {
   $form->{title} = $locale->text('AP Transactions');
 
   # use JavaScript Calendar or not
-  $form->{jsscript} = $jscalendar;
+  $form->{jsscript} = 1;
   $jsscript = "";
   if ($form->{jsscript}) {
 
@@ -1456,9 +1466,11 @@ sub ap_transactions {
   }
 
   @columns =
-    qw(transdate id invnumber ordnumber name netamount tax amount paid datepaid
+    qw(transdate id type invnumber ordnumber name netamount tax amount paid datepaid
        due duedate notes employee globalprojectnumber);
 
+  $form->{"l_type"} = "Y";
+
   foreach $item (@columns) {
     if ($form->{"l_$item"} eq "Y") {
       push @column_index, $item;
@@ -1482,6 +1494,8 @@ sub ap_transactions {
       qq|<th><a class=listheading href=$href&sort=transdate>|
     . $locale->text('Date')
     . qq|</a></th>|;
+  $column_header{type} =
+      "<th class=\"listheading\">" . $locale->text('Type') . "</th>";
   $column_header{duedate} =
       qq|<th><a class=listheading href=$href&sort=duedate>|
     . $locale->text('Due Date')
@@ -1596,6 +1610,10 @@ sub ap_transactions {
     $subtotaldue       += ($ap->{amount} - $ap->{paid});
 
     $column_data{transdate} = "<td>$ap->{transdate}&nbsp;</td>";
+    $column_data{type} = "<td>" .
+      ($ap->{invoice}    ? $locale->text("Invoice (one letter abbreviation)") :
+                           $locale->text("AP Transaction (abbreviation)"))
+        . "</td>";
     $column_data{duedate}   = "<td>$ap->{duedate}&nbsp;</td>";
     $column_data{datepaid}  = "<td>$ap->{datepaid}&nbsp;</td>";