From 85e36de2a319d0dbaa2e1572c16c9537d0d5f3ce Mon Sep 17 00:00:00 2001
From: Philip Reetz
Date: Wed, 27 Dec 2006 15:03:43 +0000
Subject: [PATCH] Automatisches Setzes des Faelligkeitsdatums nach
Zahlungsbedingung
---
SL/Form.pm | 18 ++++++++++++++++++
bin/mozilla/io.pl | 17 +++++++++++++++++
bin/mozilla/is.pl | 7 ++++++-
locale/de/all | 1 +
locale/de/cn | 1 +
locale/de/dn | 1 +
locale/de/ic | 1 +
locale/de/io | 1 +
locale/de/ir | 1 +
locale/de/is | 1 +
locale/de/oe | 1 +
11 files changed, 49 insertions(+), 1 deletion(-)
diff --git a/SL/Form.pm b/SL/Form.pm
index 0616e1e79..c812b404d 100644
--- a/SL/Form.pm
+++ b/SL/Form.pm
@@ -1325,6 +1325,24 @@ sub get_employee {
$main::lxdebug->leave_sub();
}
+sub get_duedate {
+ $main::lxdebug->enter_sub();
+
+ my ($self, $myconfig) = @_;
+
+ my $dbh = $self->dbconnect($myconfig);
+ my $query = qq|SELECT current_date+terms_netto FROM payment_terms
+ WHERE id = '$self->{payment_id}'|;
+ my $sth = $dbh->prepare($query);
+ $sth->execute || $self->dberror($query);
+
+ ($self->{duedate}) = $sth->fetchrow_array;
+
+ $sth->finish;
+
+ $main::lxdebug->leave_sub();
+}
+
# get other contact for transaction and form - html/tex
sub get_contact {
$main::lxdebug->enter_sub();
diff --git a/bin/mozilla/io.pl b/bin/mozilla/io.pl
index ad619b92d..64a59f7b0 100644
--- a/bin/mozilla/io.pl
+++ b/bin/mozilla/io.pl
@@ -34,6 +34,8 @@
#######################################################################
use SL::IC;
+use CGI::Ajax;
+use CGI;
require "$form->{path}/common.pl";
@@ -2189,3 +2191,18 @@ sub relink_accounts {
$lxdebug->leave_sub();
}
+
+
+sub set_duedate {
+ $lxdebug->enter_sub();
+
+ $form->get_duedate(\%myconfig);
+
+ my $q = new CGI;
+ $result = "$form->{duedate}";
+ print $q->header();
+ print $result;
+ $lxdebug->leave_sub();
+
+}
+
diff --git a/bin/mozilla/is.pl b/bin/mozilla/is.pl
index 52e668233..badf0655b 100644
--- a/bin/mozilla/is.pl
+++ b/bin/mozilla/is.pl
@@ -324,6 +324,11 @@ sub form_header {
}
}
+ my $set_duedate_url =
+ "$form->{script}?login=$form->{login}&path=$form->{path}&password=$form->{password}&action=set_duedate";
+
+ my $pjx = new CGI::Ajax( 'set_duedate' => $set_duedate_url );
+ push(@ { $form->{AJAX} }, $pjx);
if (@{ $form->{TAXZONE} }) {
$form->{selecttaxzone} = "";
@@ -911,7 +916,7 @@ sub form_footer {
$notes |
$intnotes |
- |
diff --git a/locale/de/all b/locale/de/all
index bd9fd60f3..f4d2b13aa 100644
--- a/locale/de/all
+++ b/locale/de/all
@@ -958,6 +958,7 @@ gestartet',
'The database update/creation did not succeed. The file contained the following error:' => 'Die Datenbankaktualisierung/erstellung schlug fehl. Die Datei enthielt den folgenden Fehler:',
'The database upgrade for the introduction of Buchungsgruppen is now complete.' => 'Das Datenbankupgrade für die Einführung von Buchungsgruppen ist jetzt beendet.',
'The database upgrade for the introduction of units is now complete.' => 'Das Datenbankupgrade zwecks Einführung von Einheiten ist nun beendet.',
+ 'The dunning process is started' => '',
'The dunning process started' => 'Der Mahnprozess ist gestartet.',
'The factor is missing in row %d.' => 'Der Faktor fehlt in Zeile %d.',
'The factor is missing.' => 'Der Faktor fehlt.',
diff --git a/locale/de/cn b/locale/de/cn
index bdfebfa64..ba075a202 100644
--- a/locale/de/cn
+++ b/locale/de/cn
@@ -260,6 +260,7 @@ $self->{subs} = {
'select_part_internal' => 'select_part_internal',
'select_project' => 'select_project',
'send_email' => 'send_email',
+ 'set_duedate' => 'set_duedate',
'set_longdescription' => 'set_longdescription',
'set_pricegroup' => 'set_pricegroup',
'ship_to' => 'ship_to',
diff --git a/locale/de/dn b/locale/de/dn
index cf47a4b91..b0fc7a1e3 100644
--- a/locale/de/dn
+++ b/locale/de/dn
@@ -247,6 +247,7 @@ $self->{subs} = {
'select_part_internal' => 'select_part_internal',
'select_project' => 'select_project',
'send_email' => 'send_email',
+ 'set_duedate' => 'set_duedate',
'set_email' => 'set_email',
'set_longdescription' => 'set_longdescription',
'set_pricegroup' => 'set_pricegroup',
diff --git a/locale/de/ic b/locale/de/ic
index ba3df55f2..e3de95949 100644
--- a/locale/de/ic
+++ b/locale/de/ic
@@ -300,6 +300,7 @@ $self->{subs} = {
'select_part' => 'select_part',
'select_part_internal' => 'select_part_internal',
'send_email' => 'send_email',
+ 'set_duedate' => 'set_duedate',
'set_longdescription' => 'set_longdescription',
'set_pricegroup' => 'set_pricegroup',
'ship_to' => 'ship_to',
diff --git a/locale/de/io b/locale/de/io
index db3ea9ece..dfd973f4c 100644
--- a/locale/de/io
+++ b/locale/de/io
@@ -171,6 +171,7 @@ $self->{subs} = {
'select_part' => 'select_part',
'select_part_internal' => 'select_part_internal',
'send_email' => 'send_email',
+ 'set_duedate' => 'set_duedate',
'set_longdescription' => 'set_longdescription',
'set_pricegroup' => 'set_pricegroup',
'ship_to' => 'ship_to',
diff --git a/locale/de/ir b/locale/de/ir
index e93d3d06f..26d03d023 100644
--- a/locale/de/ir
+++ b/locale/de/ir
@@ -250,6 +250,7 @@ $self->{subs} = {
'select_part_internal' => 'select_part_internal',
'select_project' => 'select_project',
'send_email' => 'send_email',
+ 'set_duedate' => 'set_duedate',
'set_longdescription' => 'set_longdescription',
'set_pricegroup' => 'set_pricegroup',
'ship_to' => 'ship_to',
diff --git a/locale/de/is b/locale/de/is
index ca262b9dd..ceecdd825 100644
--- a/locale/de/is
+++ b/locale/de/is
@@ -278,6 +278,7 @@ $self->{subs} = {
'select_part_internal' => 'select_part_internal',
'select_project' => 'select_project',
'send_email' => 'send_email',
+ 'set_duedate' => 'set_duedate',
'set_longdescription' => 'set_longdescription',
'set_pricegroup' => 'set_pricegroup',
'ship_to' => 'ship_to',
diff --git a/locale/de/oe b/locale/de/oe
index 195be07d3..90ea1009c 100644
--- a/locale/de/oe
+++ b/locale/de/oe
@@ -325,6 +325,7 @@ $self->{subs} = {
'select_part_internal' => 'select_part_internal',
'select_project' => 'select_project',
'send_email' => 'send_email',
+ 'set_duedate' => 'set_duedate',
'set_headings' => 'set_headings',
'set_longdescription' => 'set_longdescription',
'set_pricegroup' => 'set_pricegroup',
--
2.20.1