Zusätzliche Auftragsfelder beim Laden von Rechnungen holen.
authorDavid Ohlbrecht <ohlbrecht@ok-it-services.de>
Thu, 10 Dec 2009 09:30:37 +0000 (10:30 +0100)
committerSven Schöling <s.schoeling@linet-services.de>
Thu, 10 Dec 2009 09:39:08 +0000 (10:39 +0100)
SL/IS.pm
bin/mozilla/is.pl

index 7c923b0..3b0e156 100644 (file)
--- a/SL/IS.pm
+++ b/SL/IS.pm
@@ -1954,6 +1954,38 @@ sub retrieve_item {
   $main::lxdebug->leave_sub();
 }
 
+##########################
+# Get data for the submitted order id
+# from database
+#
+sub get_order_data {
+
+  $main::lxdebug->enter_sub();
+
+  my $self      = shift;
+  my $form     = $main::form;
+  my %myconfig = %main::myconfig;
+  my $dbh      = $form->get_standard_dbh();
+
+  my @values = (conv_i($form->{ordnumber}));
+
+  # We query the database for the fields we need using the submitted "ordnumber"
+  my $query = <<SQL;
+    SELECT o.payment_id, o.salesman_id, o.transdate AS orddate, o.taxzone_id, o.quonumber
+    FROM oe o
+    WHERE o.ordnumber = ?;
+SQL
+
+  # Do the actual query and return the results for later processing by our "frontend"
+  my ($result) = selectfirst_hashref_query($form, $dbh, $query, @values);
+
+  $dbh->disconnect;
+
+  $main::lxdebug->leave_sub();
+
+  return $result;
+}
+
 ##########################
 # get pricegroups from database
 # build up selected pricegroup
index 4b8b817..ad0c990 100644 (file)
@@ -155,6 +155,14 @@ sub invoice_links {
     $ref->{name} = $form->quote($ref->{name});
   }
 
+  # Load data for a specific order and update form fields
+  my $order_data = IS->get_order_data();
+
+  # Copy the fields we need to %form
+  for my $key (qw(payment_id salesman_id orddate taxzone_id quonumber)) {
+    $form->{$key} = $order_data->{$key};
+  }
+
   $form->restore_vars(qw(id));
 
   IS->retrieve_invoice(\%myconfig, \%$form);
@@ -162,6 +170,7 @@ sub invoice_links {
   $form->restore_vars(qw(taxincluded)) if $form->{id};
   $form->restore_vars(qw(salesman_id)) if $main::editing;
 
+
   # build vendor/customer drop down comatibility... don't ask
   if (@{ $form->{"all_customer"} }) {
     $form->{"selectcustomer"} = 1;