Autom. Update des Faelligkeitsdatums bei Kreditorenbuchungen
authorThomas Heck <theck@linet-services.de>
Fri, 3 Aug 2012 14:33:34 +0000 (16:33 +0200)
committerSven Schöling <s.schoeling@linet-services.de>
Thu, 9 Aug 2012 09:56:44 +0000 (11:56 +0200)
behebt #1936

SL/Form.pm
bin/mozilla/ap.pl

index 8491673..a7ed01b 100644 (file)
@@ -1995,8 +1995,17 @@ sub get_duedate {
   $reference_date = $reference_date ? conv_dateq($reference_date) . '::DATE' : 'current_date';
 
   my $dbh         = $self->get_standard_dbh($myconfig);
+  my $payment_id;
+
+  if($self->{payment_id}) {
+    $payment_id = $self->{payment_id};
+  } elsif($self->{vendor_id}) {
+    my $query = 'SELECT payment_id FROM vendor WHERE id = ?';
+    ($payment_id) = selectrow_query($self, $dbh, $query, $self->{vendor_id});
+  }
+
   my $query       = qq|SELECT ${reference_date} + terms_netto FROM payment_terms WHERE id = ?|;
-  my ($duedate)   = selectrow_query($self, $dbh, $query, $self->{payment_id});
+  my ($duedate)   = selectrow_query($self, $dbh, $query, $payment_id);
 
   $main::lxdebug->leave_sub();
 
index f62294e..7c6d1bf 100644 (file)
@@ -371,7 +371,7 @@ sub form_header {
 
     # with JavaScript Calendar
     $button1 = qq|
-       <td><input name=transdate id=transdate size=11 title="$myconfig{dateformat}" value="$form->{transdate}" onBlur=\"check_right_date_format(this)\" $readonly></td>
+       <td><input name=transdate onchange="set_duedate()" id=transdate size=11 title="$myconfig{dateformat}" value="$form->{transdate}" onBlur=\"check_right_date_format(this)\" $readonly></td>
        <td><input type=button name=transdate id="trigger1" value=|
       . $locale->text('button') . qq|></td>
        |;
@@ -389,7 +389,7 @@ sub form_header {
 
     # without JavaScript Calendar
     $button1 =
-      qq|<td><input name=transdate id=transdate size=11 title="$myconfig{dateformat}" value="$form->{transdate}" onBlur=\"check_right_date_format(this)\" $readonly></td>|;
+      qq|<td><input name=transdate onchange="set_duedate()" id=transdate size=11 title="$myconfig{dateformat}" value="$form->{transdate}" onBlur=\"check_right_date_format(this)\" $readonly></td>|;
     $button2 =
       qq|<td><input name=duedate id=duedate size=11 title="$myconfig{dateformat}" value="$form->{duedate}" onBlur=\"check_right_date_format(this)\" $readonly></td>|;
   }
@@ -855,6 +855,24 @@ sub form_footer {
 
 $follow_ups_block
 
+<script type="text/javascript">
+<!--
+function set_duedate() {
+   \$.ajax({
+     url: 'is.pl?action=set_duedate',
+     data: {
+       invdate: \$('#transdate').val(),
+       vendor_id: \$('[name=vendor_id]').val(),
+     },
+     dataType: 'text',
+     success: function(data) {
+       \$('#duedate').val(data);
+     }
+   });
+ }
+//-->
+</script>
+
 <input name=callback type=hidden value="$form->{callback}">
 <input name="gldate" type="hidden" value="| . Q($form->{gldate}) . qq|">
 |